Linux Vsftpd 搭建FTP服務器以及所遇到的深坑

需求確定:

可以使用匿名用戶以及賬號密碼用戶登錄和上傳文件。

開始安裝:

來一個新系統:yum -y install vsftpd就安裝吧。

文件介紹:
/etc/vsftpd/vsftpd.conf:主配置文件
/etc/vsftpd/user_list與/etc/vsftpd/chroot_list文件格式爲一行一個用戶

其中chroot_list沒有需要手動創建

****配置講解****

1)開啓匿名用戶,匿名用戶目錄
anonymous_enable=YES
2)開啓本地用戶登錄與寫入權限
local_enable=YES
write_enable=YES
local_umask=022
3)開啓匿名用戶的寫入權限
anon_upload_enable=YES
anon_mkdir_write_enable=YES
4)登陸權限限制
userlist_enable=YES
userlist_deny=NO
userlist_deny爲NO,表示只允許user_list文件中的用戶登錄
!!!!重點:如果想要開啓匿名用戶與虛擬用戶共存,那麼user_list中必須增加anonymous用戶
5)更改監聽
listen=YES
#listen_ipv6=YES
6)控制用戶不能訪問上級目錄,對安全性非常重要
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
配置1表示所有用戶都可以訪問,注意是都可以
配置2表示除了下面文件中的用戶之外,也就是說文件中的用戶是不能訪問上級目錄的。
這樣配置是說除了文件中的用戶其他人都能訪問上級目錄,而要求是都不能訪問,這裏搭配序號4的配置信息來進行權限管理
例如:創建了一個user1,將user1放入user_list文件中表示目前只有user1能登錄,然後在chroot_list中添加user1,表示只有user1不能訪問上級目錄,於是達到要求。

後續需要添加用戶時,將新用戶在user_list和chroot_list中添加一遍即可。

****************

****新增用戶***

/usr/sbin/adduser -d (/home/ftp1dir) -g (ftpgroup) -s /sbin/nologin (ftp1)
passwd ftp1
括號內可改,執行時去掉括號
新增用戶時注意坑!!!!
1.新增的用戶ftp1一定要加入到user_list中,且放到chroot_list中。

2.用戶所綁定的目錄/home/ftp1dir最好放到/home目錄下

****************

****深坑提點***

1.控制用戶不能訪問上級目錄時,用戶的家目錄一定不能有寫入權限,否則登錄不上
例如:
user1用戶的家目錄爲:/home/user1
chmod a-w /home/user1
如果去掉寫入權限後還是無法登錄,那麼就要考慮是selinux的問題了。
#getsebool
getsebool:  SELinux is disabled(表示關閉)
如果沒關閉,vi /etc/selinux/config
SELINUX=disabled,重啓電腦就關閉了。
2.無法上傳文件。
建議在家目錄中新建一個pub文件,專門用於用戶上傳文件。
mkdir /home/user1/pub
chmod 777 /home/user1/pub
新建的pub文件夾賦予777權限,就可以將文件上傳到pub文件夾中了。
3.這樣配置完經過測試匿名用戶可以上傳文件但是不能下載文件。。。
anon_umask=022
在主配置文件中加入該項配置即可解決。

*******************************************************

安裝完畢!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章