欢迎来到这! Hello everyone.

CentOS7 FTP服务器安装与配置

发布于  

  • 安装

yum install -y vsftpd

  • 设置开机启动

systemctl enable vsftpd.service

  • 启动

systemctl start vsftpd.service

  • 停止

systemctl stop vsftpd.service

  • 查看状态

systemctl status vsftpd.service

1、创建FTP账户
useradd yaoyuan
passwd yaoyuan #(回车)给用户yaoyuan设置登录密码

2、在/var/www目录下创建一个example文件夹:
cd /var/www/
mkdir example
3、设置yaoyuan用户访问的目录为/var/www/example
usermod -d /var/www/example yaoyuan
ps:如果修改yaoyuan提示有相关进程在使用这个用户,则先杀死这些进程后再修改:
ps -u yaoyuan | awk ‘{print $1}’ | grep -vi pid | xargs kill -9
4、查看新创建的用户的信息:
tail /etc/passwd

5、切换到当前工作目录,修改vsftpd.conf配置文件:

cd /etc/vsftpd

vi vsftpd.conf

进入配置文件之后,找到以下内容,去掉前面的注释(#):

centos7配置FTP用户文件

第一行:chroot_local_user = NO

第二行:chroot_list_enable = YES //限制访问自身目录

第四行:userlist_file=/etc/vsftpd/user_list(没有自己增加这一行)

6、在user_list文件中添加yaoyuan用户:

cd /etc/vsftpd

vi user_list

设置好之后重启:systemctl restart vsftpd.service

7、这时候使用FlashFXP软件,然后输入yaoyuan和你设置密码登录,登录后可以发现能够浏览整个Linux系统文件,但是无法上传和下载。

使用ll查看权限命令,发现example文件夹属于root用户,所以更改example文件夹的所属组和用户:

更改用户组:chown yaoyuan:yaoyuan example

更改权限:chmod 775 example

权限值的解读

r==>可读 w==>可写 x==>可执行

r=4 w=2 x=1

777 代表 rwxr-rwx-rwx 所有用户都可读可写可执行。

8、设置完毕后,这样就可以在当前目录上传和下载文件了,大功告成。

需要注意的是,以上设置完成后,yaoyuan用户只对example文件拥有权限,虽然对其它目录文件没有管理权限,但却可以浏览其它文件目录。如果想禁止yaoyuan用户对其它文件目录拥有访问权限的话,需要通过以下设置。

1、打开FTP配置文件,编辑vsftpd.chroot_list文件(主机不同文件名也许有差别)

cd /etc/vsftpd

vi vsftpd.chroot_list

然后将yaoyuan用户添加都里面去:

说明:前面已经设置了chroot_local_user = NO,表示所有用户不被限定在主目录内,chroot_list_enable=YES表示要启用chroot_list_file,因为chroot_local_user = NO,所以需要添加“例外列表” “的chroot_list_file,这里列出的是那些‘会被限制在主目录下’的用户。

修改完成之后,不要忘记重启的vsFTPd服务器 运行命令:vsftpd systemctl restart vsftpd

设置完成之后,使用该用户登录FTP时往往会遇到这个错误:

500 OOPS: vsftpd: refusing to run with writable root inside chroot ()

如果出现这种情况可以在vsftpd的配置文件(vsftpd.conf)中增加下列一项:

allow_writeable_chroot=YES

设置完成之后就不会出现上述问题,这样yaoyuan用户就无法访问其他目录文件了。

有什么要说的吗?

邮箱地址不会被公开。 必填项已用*标注