一、目的,新建一個用戶 test2,登錄ftp,它只有自己的主目錄權限,其他同級和上級目錄沒有權限
二、ftp安裝、配置
yum -y install vsftpd //通過yum來安裝vsftpd
chkconfig vsftpd on //設置為開機啟動
vi /etc/vsftpd/vsftpd.conf #設置配置文件
配置:
anonymous_enable=YES #設置是否允許匿名用戶登錄
local_enable=YES #設置是否允許本地用戶登錄
local_root=/home #設置本地用戶的根目錄
write_enable=YES #是否允許用戶有寫權限
local_umask=022 #設置本地用戶創建文件時的umask值
anon_upload_enable=YES #設置是否允許匿名用戶上傳文件
anon_other_write_enable=YES #設置匿名用戶是否有修改的權限
anon_world_readable_only=YES #當為YES時,文件的其他人必須有讀的權限才允許匿名用戶下載,單單所有人為ftp且有讀權限是無法下載的,必須其他人也有讀權限,才允許下載
download_enbale=YES #是否允許下載
chown_upload=YES #設置匿名用戶上傳文件后修改文件的所有者
chown_username=ftpuser #與上面選項連用,表示修改后的所有者為ftpuser
ascii_upload_enable=YES #設置是否允許使用ASCII模式上傳文件
ascii_download_enable=YES #設置是否允許用ASCII模式下載文件
chroot_local_user=YES #設置是否鎖定本地用戶在自己的主目錄中(將前面#去掉!其他選項可不動)
chroot_list_enable=YES #設置是否將用戶鎖定在自己的主目錄中
chroot_list_file=/etc/vsftpd/chroot_list #定義哪些用戶將會鎖定在自己的主目錄中 (去/etc/vsftpd/chroot_list文件增加用戶名,一行一個)
userlist_enable=YES #當為YES時表示由userlist_file文件中指定的用戶才能登錄ftp服務器
userlist_file=/etc/vsftpd/user_list #當userlist_enable為YES時才生效
開始添加目標用戶,並為其設置主目錄
useradd -d 目錄 -m 目錄 用戶 //-d 目錄 指定用戶主目錄,如果此目錄不存在,則同時使用-m選項,可以創建主目錄。
passwd 用戶名 //設置密碼
chmod 755 目錄 //以root的視角去修改當前目錄的權限
chown -R ftp用戶名:組名 目錄 //組名可不寫,修改目錄所屬者
>>service vsftpd restart //重啟ftp
配置完成,設置防火牆 :
vi /etc/sysconfig/iptables-config
修改
IPTABLES_MODULES="ip_conntrack_ftp"
開放21端口:
vi /etc/sysconfig/iptables
添加
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
重啟 service vsftpd restart
如果此時還不能上傳文件權限,關閉SELinux:
> vi /etc/sysconfig/selinux ,修改為:SELINUX=disabled
最終效果:(用戶根本都看不到其他目錄,只能看到自己的 -d 目錄)