1.使用yum指令來安裝FTP套件
$yum -y install vsftpd /-y為自動安裝/
2.使用者以及存取資料夾權限設定:
3.vsftp設定檔設定
$cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/old_vsftpd.conf
/備份vsftpd設定檔為old_vsftpd/
$vi /etc/vsftpd/vsftpd.conf
/進入編輯vsftpd設定檔/
修改:
anonymous_enable=NO /預設為YES更改為NO/
是否允許匿名登入
local_enable=YES
本地端帳號是否允許登入
write_enable=YES
是否允許上傳(寫入)
local_umask=022
設定local帳號的umask(預設值為:022)
chroot_local_user=YES
若設定成YES,帳號登入後就只能在家目錄下活動,無法切換到家目錄以外的範圍。
chroot_list_enable=YES
userlist_enable=YES設定成YES時表示vsftpd會載入userlist_file參數所指定的檔案,以讀取其內的使用者名單。
4.防火牆設定
$firewall-cmd --permanent --add-port=21/tcp /開啟21port/
$firewall-cmd --permanent --zone=public --add-service=ftp /開啟FTP服務/
5.故障排除
(1)vsftpd連線出現錯誤 500 OOPS: cannot change directory:/home/account
如果ftp_home_dir --> off 則需要修改為on
$setsebool -P ftp_home_dir on /修改SElinux規則/
$yum -y install vsftpd /-y為自動安裝/
2.使用者以及存取資料夾權限設定:
$mkdir -p /home/ftpuser /設定FTP使用者集中目錄路徑/
$echo “ftpuser:x:10000:jovi,candy” >> /etc/group /增加一個FTP使用者的群組/
$chown root.ftpuser /home/ftpuser
$chmod 775 ftpuser
/更改目錄的群組以及權限/
$useradd -u 10001 -d /home/ftpuser/shark -s /sbin/nologin shark
$useradd -u 10002 -d /home/ftpuser/junhan -s /sbin/nologin junhan
-u指定UID
-d指定使用者家目錄
-s/sbin/nologin的意思是不允許這個帳號在本機登入。
這個項目很特別,他允許帳號遠端使用Mail、FTP等服務,但是卻不允許帳號在本機登入。
$passwd shark
$passwd junhan
/設定密碼/
3.vsftp設定檔設定
$cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/old_vsftpd.conf
/備份vsftpd設定檔為old_vsftpd/
$vi /etc/vsftpd/vsftpd.conf
/進入編輯vsftpd設定檔/
修改:
anonymous_enable=NO /預設為YES更改為NO/
是否允許匿名登入
local_enable=YES
本地端帳號是否允許登入
是否允許上傳(寫入)
local_umask=022
設定local帳號的umask(預設值為:022)
檔案上傳之後權限會變成644
建立目錄之後權限會變成755
chroot_local_user=YES
若設定成YES,帳號登入後就只能在家目錄下活動,無法切換到家目錄以外的範圍。
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list當chroot_local_user=NO、chroot_list_enable=YES時,可搭配 chroot_list_file參數,把一些使用者帳號寫入預設的/etc/vsftpd.chroot_list檔案之中,這樣一來這些使用者就只能在自己家目錄下活動。但若反過來,當chroot_local_user=YES、chroot_list_enable=YES時,則在 /etc/vsftpd.chroot_list之中的帳號就可以在家目錄外活動,而沒設定在此檔之中的使用者就只能以家目錄作為預設的根目錄。
/etc/vsftpd.chroot_list檔案格式是一行一個帳號。
/etc/vsftpd.chroot_list檔案格式是一行一個帳號。
userlist_enable=YES設定成YES時表示vsftpd會載入userlist_file參數所指定的檔案,以讀取其內的使用者名單。
userlist_deny=YES /預設設定檔可能沒有可自行加入/當userlist_deny=YES時(這個是預設值),則設定在userlist_file參數所指定的檔案內的使用者將會被拒絕登入。
若userlist_deny=NO時,則只有設定在userlist_file參數所指定的檔案內的使用者能被允許登入,其他人則會被拒絕。
預設的user_list檔案在/etc/vsftpd/user_list檔案格式是一行一個帳號。
4.防火牆設定
$firewall-cmd --permanent --add-port=21/tcp /開啟21port/
$firewall-cmd --permanent --zone=public --add-service=ftp /開啟FTP服務/
$firewall --reload
5.故障排除
(1)vsftpd連線出現錯誤 500 OOPS: cannot change directory:/home/account
$getsebool -a | grep ftp /查詢SElinux規則/
如果ftp_home_dir --> off 則需要修改為on
$setsebool -P ftp_home_dir on /修改SElinux規則/
留言
張貼留言