CentOS(FTP建置)

1.使用yum指令來安裝FTP套件
$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的意思是不允許這個帳號在本機登入。
這個項目很特別,他允許帳號遠端使用MailFTP等服務,但是卻不允許帳號在本機登入。

$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
本地端帳號是否允許登入

write_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_listchroot_local_user=NOchroot_list_enable=YES時,可搭配 chroot_list_file參數,把一些使用者帳號寫入預設的/etc/vsftpd.chroot_list檔案之中,這樣一來這些使用者就只能在自己家目錄下活動。但若反過來,當chroot_local_user=YESchroot_list_enable=YES時,則在 /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規則/

留言