在linux服務器中使用ftp時實際上是使用的vsftp。我們能夠通過配置vsftp能夠限制特定的用戶只能通過FTP訪問到某些指定的目錄。
前置條件:
安裝vsftp:
yum install vsftpd
條件:vsftp,被限制的賬號爲ftpTest,被限制的目錄爲/home/ftp/files
具體步驟如下:
一、配置用戶賬號ftpTest
1、添加用戶賬號並設置爲不能使用telnet
useradd -d /home/ftpFiles -s /sbin/nologin ftpTest
2、配置ftpTest的密碼爲ftpTest
passwd ftpTest
連續輸入兩次密碼:ftpTest
二、修改/home/ftpFiles的權限
1、修改目錄權限爲755
chmod -R 755 /home/ftpFiles
2、修改目錄所有者爲ftpTest
chown -R ftpTest /home/ftpFiles
三、配置vsftpd
1、修改vsftpd.conf
使用命令
vim /etc/vsftpd/vsftpd.conf
把文件相關內容修改成以下:
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
2、配置/etc/vsftpd/chroot_list文件
使用命令
vim /etc/vsftpd/chroot_list
將受限制的用戶添加進去,每個用戶名一行。我需要限制ftpTest
3、查看ftp的權限問題
使用命令查看ftp的相關配置
getsebool -a|grep ftp
相關內容如下:
allow_ftpd_anon_write --> off
allow_ftpd_full_access --> on
allow_ftpd_use_cifs --> on
allow_ftpd_use_nfs --> on
ftp_home_dir --> on
ftpd_connect_db --> off
ftpd_use_fusefs --> off
ftpd_use_passive_mode --> off
httpd_enable_ftp_server --> on
tftp_anon_write --> on
tftp_use_cifs --> off
tftp_use_nfs --> off
如果不是,請設置相關項爲on
setsebool allow_ftpd_full_access 1
setsebool allow_ftpd_use_cifs 1
setsebool allow_ftpd_use_nfs 1
setsebool ftp_home_dir 1
setsebool httpd_enable_ftp_server 1
setsebool tftp_anon_write 1
4、重啓ftp
/etc/rc.d/init.d/vsftpd restart