標籤:
目的:只允許使用者用ftp工具訪問指定目錄
查看是否安裝了vsftpd
rpm -qa|grep vsftpd
安裝vsftpd
yum -y install vsftpd(如果安裝不成功,下載rpm包,手動安裝)
編輯vsftpd的設定檔
vi /etc/vsftpd/vsftpd.conf
改成如下的內容,也可直接清空,然後複製進去:
isten=YES
background=YES
anonymous_enable=NO
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
async_abor_enable=YES
ascii_upload_enable=YES
ascii_download_enable=YES
ftpd_banner=Welcome to hao32 FTP servers
pam_service_name=vsftpd
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list
終端運行下面命令
touch /etc/vsftpd/vsftpd.chroot_list
service vsftpd start
【如果要添加新的使用者和新的指向目錄,從這裡開始】
ftp預設我們使用系統使用者, 現在我們來添加使用者ftptest, 指向目錄/home/ftptest , 許可權是nologin, 就是沒給shell許可權, 不影響ftp的
# useradd ftptest -d /home/ftptest -s /sbin/nologin
查看使用者和組(如果使用者和組不對,則需要指定使用者和組)
cd /home
ls -al
設定目錄及其檔案的屬組, 你也可以使用別的分組方式
# chown -R ftptest . ftptest /home/ftptest
設定一下使用者ftptest的密碼
# passwd ftptest
把使用者 ftptest 加到/etc/vsftpd/vsftpd.chroot_list裡, 這樣使用者就可以正常登陸並且不能跳出自己的目錄
# echo ftptest >> /etc/vsftpd/vsftpd.chroot_list
# service vsftpd restart
測試登陸
ftp主機: 伺服器IP地址 【ftp 192.168.0.9】
ftp使用者: ftptest
ftp密碼: ftptest
或者在瀏覽器中輸入: ftp://192.168.0.9
如果這個時候遇到 cannot change directory /home/ftptest
查看狀態:
getsebool -a|grep ftp
//使用setsebool命令開啟
# setsebool -P ftpd_disable_trans 1
或者
# setsebool -P ftp_home_dir 1
//查看目前狀態是否是on的狀態
# getsebool -a|grep ftp
ftpd_disable_trans --> on
或者
ftp_home_dir-->on
重啟:service vsftpd restart
Centos安裝Vsftpd