centos7配置vsftpd服務器

參考網站:https://blog.csdn.net/lianghongge/article/details/78209445html

============================================================linux

 https://www.cnblogs.com/Confession/p/6813227.html    (比較全)web

https://blog.csdn.net/m0_37355951/article/details/76854141     (阿里雲搭建FTP服務器)數據庫

新建總虛擬帳戶virtusers,安全

修改用戶家目錄  usermod -d /var/ftp/ virtusers服務器

修改/opt/vsftp/passwdsession

須要 生成虛擬用戶數據文件app

db_load -T -t hash -f   /opt/vsftp/passwd  /opt/vsftp/passwd.dbasync

須要注意的是,之後對虛擬用戶的增刪操做完以後須要再次執行上述命令,使其生成新的數據文件tcp

而後從新啓動vsftpd

=============================================================

限制用戶登陸權限:         https://blog.csdn.net/zgy621101/article/details/78902020

userlist_enable=YES

而後把須要限制的用戶添加進文件/etc/vsftpd/user_list當中去。

 

=============================================================

新建用戶並限制訪問的目錄文件夾:

https://blog.csdn.net/dxmgood/article/details/51895574

https://zhidao.baidu.com/question/2205911713706365028.html       (好像說反了,沒在文件 /etc/vsftpd/chroot_list裏面設置的用戶名纔會限制訪問目錄)

 (1)用戶ftptest爲useradd建立的用戶,相關設置,限制訪問默認目錄,及訪問的默認目錄

 

chroot_local_user=YES         #(修改成NO之後,虛擬帳戶就不限制切換上下級目錄了)
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list
allow_writeable_chroot=YES
local_root=/var/ftp/pub
anon_root=/var/ftp/pub

[root@smcweb01 ~]# cat /etc/vsftpd/chroot_list
user2
[root@smcweb01 ~]#

(2)虛擬用戶test,相關配置,及訪問的默認目錄

 在這個文件內設置:/etc/vsftpd/vconf/test

 新建的虛擬用戶存放的文件地址  : /opt/vsftp/passwd

設置PAM驗證文件,並制定虛擬用戶數據庫文件進行讀取:     /etc/pam.d/vsftpd   添加如下兩行

#####64位系統配置
auth    sufficient      /lib64/security/pam_userdb.so     db=/opt/vsftp/passwd
account sufficient      /lib64/security/pam_userdb.so     db=/opt/vsftp/passwd

=============================================================

 個人vsftpd.conf設置內容以下:::::::

# grep -v '^#' /etc/vsftpd/vsftpd.conf
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
chown_uploads=NO
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
idle_session_timeout=600
data_connection_timeout=3600
nopriv_user=vsftpd
async_abor_enable=YES
ftpd_banner=Welcome to blah FTP service.
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
allow_writeable_chroot=YES
local_root=/var/ftp/pub
anon_root=/var/ftp/pub
ls_recurse_enable=NO
listen=NO
listen_ipv6=YES

pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

 

guest_enable=YES
guest_username=virtusers
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vconf
reverse_lookup_enable=NO

 

 

=============================================================

CentOS7搭建FTP服務器

 

如下操做均要以ROOT身份進行。

1、設置用戶帳號。

#建立用於登錄的FTP的帳號

useradd myftp -s /sbin/nologin -U

#修改myftp密碼

passwd myftp

 

2、修改vsftpd的主要配置文件。

#修改/etc/vsftpd/vsftpd.conf 文件,確認如下內容是否一致:

#容許用帳號密碼的方式登錄

local_enable=YES

#容許文件的寫入操做

write_enable=YES

#鏈接的超時時間設定

idle_session_timeout=600

data_connection_timeout=120

#全部登錄的用戶都做爲nobody身份,更安全。

nopriv_user=nobody

 

#如下內容默認是沒有,添加進vsftpd.conf 文件的最後

#使用被動模式鏈接
pasv_enable=YES

#被動模式超時時間
accept_timeout=60

#被動模式所使用的端口範圍
pasv_min_port=65400
pasv_max_port=65410

#啓動並指定開放的用戶列表
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd/user_list
#監聽的端口
listen_port=21
listen=YES
#開放用戶帳號登錄
guest_enable=YES
guest_username=ftp

#限制用戶的上傳下載速度,0爲不限制,單位: bytes/秒
local_max_rate=0

#限制登錄用戶的到默認的位置,默認爲/var/ftp文件夾
chroot_local_user=YES

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

#進入文件夾後提示的歡迎內容,若是沒有/etc/vsftpd/welcome.txt這個文件就本身新建一個,隨便寫點東西進去。
dirmessage_enable=YES
banner_file=/etc/vsftpd/welcome.txt
#使用pam託管的帳號
pam_service_name=vsftpd
#容許上傳等寫入操做

anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

 

3、建立必須的文件

檢查下/etc/vsftpd/目錄裏是否有如下3個文件,若是沒有就建個空的。

chroot_list 這個通常是沒有的,建個空的吧

user_list 這個通常默認就存在,裏面存放容許登錄的帳號,一行一個帳號名,若是不想讓某個帳號登錄ftp,那麼這裏就別填那個帳號進來。

ftpusers 這個通常默認就存在,裏面存放禁止登錄的帳號,一行一個帳號名。

PS:user_list和ftpusers功能差很少的,能夠只用user_list 這個來管理,把 ftpusers 裏面內容都刪掉。

4、容許第一步建立的帳號名myftp登錄。

在/etc/vsftpd/user_list 添加一行內容是myftp

查驗一下/etc/vsftpd/ftpusers是否有myftp,若是有,就要刪掉,否則就被禁止登錄了。

5、建立用於ftp的文件夾

mkdir -p /var/ftp

6、建立容許ftp用戶操做的文件夾

mkdir -p /var/ftp/share

chmod 777 /var/ftp/share

7、防火牆開放相關的端口,並重啓防火牆,輸入如下指令,一行一行運行:

firewall-cmd --permanent --zone=public --add-port=20/tcp

firewall-cmd --permanent --zone=public --add-port=21/tcp

firewall-cmd --permanent --zone=public --add-port=65400-65410/tcp

firewall-cmd --permanent --zone=trusted --add-port=20/tcp

firewall-cmd --permanent --zone=trusted --add-port=21/tcp

firewall-cmd --permanent --zone=trusted --add-port=65400-65410/tcp

systemctl restart firewalld.service

#能夠經過如下指定查看端口是否已添加進去

firewall-cmd --zone=public --list-ports

firewall-cmd --zone=trusted --list-ports

8、selinux開放相關權限,並重啓selinux:

setsebool -P ftpd_full_access 1

setenforce 0

setenforce 1

#能夠經過如下指令查看ftpd_full_access 是否爲ON狀態

getsebool -a|grep ftpd_full_access

9、啓動ftp服務

systemctl restart vsftpd.service

#若是想開機啓動ftp還要運行如下指令:

systemctl enable vsftpd.service

10、如今能夠嘗試用ftp帳號登錄了,能夠參考下圖,登錄時間可能須要幾秒,若是登錄不了就重啓服務器再試下吧。

 

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

更改ftp訪問的共享文件夾

參考網站:https://www.cnblogs.com/huangye-dream/p/3454595.html

修改ftp的根目錄只要修改/etc/vsftpd/vsftpd.conf文件便可:

加入以下幾行:

local_root=/var/www/html
chroot_local_user=YES
anon_root=/var/www/html

注:local_root 針對系統用戶;anon_root 針對匿名用戶。

從新啓動服務:

service vsftpd restart

任何一個用戶ftp登陸到這個服務器上都會chroot到/var/www/html目錄下。

=======================================================

問題:用戶不能上傳文件?注意修改文件目錄權限 chmod 777 就能夠了

=======================================================

相關文章
相關標籤/搜索