1. 在root權(quán)限下,通過如下命令安裝Vsftp(以centos 系統(tǒng)為例)。
[root@VM_250_202_tlinux ~]# yum install vsftpd
2. 在啟動vsftpd服務之前,需要登錄云服務器修改配置文件,將匿名登錄禁用掉。
打開配置文件,命令如下:
[root@VM_250_202_tlinux ~]# vim /etc/vsftpd/vsftpd.conf
在配置文件中第11行的“anonymous_enable=YES”改為“anonymous_enable=NO”,即將匿名登錄禁用。
3. 讀取生效配置。
[root@VM_250_202_tlinux ~]# cat /etc/vsftpd/vsftpd.conf |grep ^[^#]
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
4. 啟動vsftpd服務。
[root@VM_250_202_tlinux ~]# service vsftpd start
5. 設置FTP用戶賬號。設置成功后,即可通過該賬號登錄FTP服務器。
(1)設置FTP用戶的賬號,例如賬號為“ftpuser1”,目錄為/home/ftpuser1,且設置不允許通過ssh登錄。
[root@VM_250_202_tlinux ~]# useradd -m -d /home/ftpuser1 -s /sbin/nologin ftpuser1
(2)設置賬號對應的密碼,例如密碼為“ftpuser1”。
[root@VM_250_202_tlinux ~]# passwd ftpuser1
6. 修改vsftpd的pam配置,使用戶可以通過自己設置的FTP用戶帳號和密碼連接到云服務器。
(1)修改pam。
[root@VM_250_202_tlinux ~]# vim /etc/pam.d/vsftpd
內(nèi)容修改為:(根據(jù)我本地主機配置修改)
auth ? ? ? requiredpam_listfile.so item=user sense=deny file=/etc/fto ?onerr=succeed
auth ? ? ? required ? ? pam_unix.so ?shadow nullok
auth ? ? ? requiredpam_shells.so
account ? ?requiredpam_unix.so
session ? ?required ? ? ?pam_unix.so
或者是下面的內(nèi)容(官網(wǎng)教程上)
#%PAM-1.0
auth required /lib64/security/pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed
auth required /lib64/security/pam_unix.so shadow nullok
auth required /lib64/security/pam_shells.so
account required /lib64/security/pam_unix.so
session required /lib64/security/pam_unix.so
(2)確認修改后的文件是否正確。
[root@VM_250_202_tlinux ~]# cat /etc/pam.d/vsftpd
#%PAM-1.0
auth required /lib64/security/pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed
auth required /lib64/security/pam_unix.so shadow nullok
auth required /lib64/security/pam_shells.so
account required /lib64/security/pam_unix.so
session required /lib64/security/pam_unix.so
(3)重啟vsftpd服務,使修改生效。
[root@VM_250_202_tlinux ~]# service vsftpd restart
Shutting down vsftpd: [ OK ]
Starting vsftpd for vsftpd: [ OK ]