阿里雲linux配置ftp服務
一、ftp服務安裝
- 運行以下命令安裝ftp
yum install -y vsftpd - 運行以下命令打開及查看etc/vsftpd
cd /etc/vsftpd
ls
說明:
/etc/vsftpd/vsftpd.conf 是核心配置文件。** 主要是更改配置此文件 **
/etc/vsftpd/ftpusers 是黑名單文件,此文件里的用戶不允許訪問 FTP 服務器。
/etc/vsftpd/user_list 是白名單文件,是允許訪問 FTP 服務器的用戶列表。
/etc/vsftpd/vsftpd_conf_migrate.sh 是vsftpd操作的一些變量和設置 - ftp端口查看
netstat -antup | grep ftp
Vsftpd服務重啟、暫停命令
在使用Vsftp服務是經常需要啟動、停止、重啟vsftp服務,下面是這幾個操作使用的指令:
1、啟動Vsftpd服務其命令為: service vsftpd start 或 /etc/init.d/vsftpd start
2、停止Vsftpd服務的命令為:service vsftpd stop 或 /etc/init.d/vsftpd stop
3、重新啟動Vsftpd服務的命令為:service vsftpd restart 或 /etc/init.d/vsftpd restart
4、檢查Vsftpd服務的運行狀態:service vsftpd status
二、配置本地用戶登錄
本地用戶登錄就是指用戶使用 Linux 操作系統中的用戶賬號和密碼登錄 FTP 服務器。
vsftpd 安裝后默只支持匿名 FTP 登錄,用戶如果試圖使用 Linux 操作系統中的賬號登錄服務器,將會被 vsftpd 拒絕,但可以在 vsftpd 里配置用戶賬號和密碼登錄。具體步驟如下:
a.運行以下命令創建 ftptest 用戶。
useradd ftptest
(刪除用戶命令:sudo userdel -r newuser)
b.運行以下命令修改 ftptest 用戶密碼。
passwd ftptest
三、關於vsftpd.config配置文件
配置文件建議先提前備份一下,以后修改亂了之后可以容易恢復。
可以先用以下配置
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
#listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
#listen_port=6721 修改端口,默認21
#下面配置按下文需求添加修改
pasv_enable=YES
pasv_max_port=30010
pasv_min_port=30000
chroot_local_user=yes
#允許用戶具有主目錄寫權限
allow_writeable_chroot=YES
四、啟動報錯
報錯內容如下
service vsftpd restart
Redirecting to /bin/systemctl restart vsftpd.service
Job for vsftpd.service failed because the control process exited with error code. See "systemctl status vsftpd.service" and "journalctl -xe" for details.
可以按要求 輸入 systemctl status vsftpd.service
來查看具體內容
仔細查看報錯信息,大部分是由於vsftpd.config配置文件錯誤導致
五、開放阿里雲端口
配置完並啟動ftp后 ,記得要把阿里雲服務的端口放開。上述配置的30000~30010
具體可參考此博客 https://blog.csdn.net/LMXQH/article/details/80274038
六、配置 vsftpd 限制 FTP 賬戶訪問其它目錄
使用 vsftpd 搭建 FTP 服務,可以配置用戶登錄后,限制訪問其它的目錄,只能進它的主目錄。 配置方法如下:
1、打開 vsftp 的配置文件 vim /etc/vsftpd/vsftpd.conf 找到 chroot Chroot_local_user
設置所有的本地用戶都執行
添加或修改 chroot_local_user=yes
(本地所有帳戶都只能在自家目錄)
2、設置指定用戶執行 chroot
添加或修改 chroot_list_enable=yes
3、chroot_list_file=/ 任意指定的路徑 /chroot_list (文件中的名單可以調用)
注意:vsftpd.chroot_list 是沒有創建的需要自己創建。若不想限制個別用戶,將用戶名添加到vsftpd.chroot_list文件中,每個用戶名一行。
4、在文件末尾添加 allow_writeable_chroot=YES
allow_writeable_chroot=YES
#對vsftpd有用,否則,因home目錄權限為root權限而無法登錄
5、為 /home/ftptest 添加權限
cd /home
chmod 777 ftptest
6.重啟服務器
service vsftpd restart 或
systemctl restart vsftpd