阿里云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=YESallow_writeable_chroot=YES
#对vsftpd有用,否则,因home目录权限为root权限而无法登录
5、为 /home/ftptest 添加权限
cd /home
chmod 777 ftptest
6.重启服务器
service vsftpd restart 或
systemctl restart vsftpd