linux 搭建ftp

一、安装命令

yum -y install vsftpd

二、linux上创建ftp用户

# useradd -s /sbin/nologin -G ftp -d /你的目录 -M 用户名
# passwd 用户
-s /sbin/nologin  禁止用户ssh登录
-g 添加到哪个组
-G 可添加到多个组,组名之间使用逗号隔开
-d 指定用户目录

三、锁定根目录

1、修改vsftpd.conf

  anonymous_enable=NO

  chroot_list_enable=NO  这边需要时NO,不然创建的用户无法登陆

  chroot_list_file=/etc/vsftpd/chroot_list

  userlist_enable=NO
2、创建/etc/vsftpd/chroot_list文件,并将用户名添加到该文件中(每行一个用户名)。
3、在/etc/vsftpd/user_list文件,将用户名添加到该文件中,一行一个。

4、比如你的目录是/data,则需要更改/data的用户和用户组,比如你的用户名为ftpadmin

chown -R ftpadmin:ftp /data

5、重启ftp服务

service vsftpd restart

三、配置文件中的解释

1、anonymous_enable=YES  开启匿名用户登录 
2、local_enable=YES  开启本地用户登录 
3、write_enable=YES  开启写权限以便上传 
4、local_umask=022设置上传后文件为user=rwx, group=, other= 
这样,用户上传文件后,是不能删除和修改了。因为用户属于group组。 
解决方法是,设置local_umask=002。 
最终文件权限是777-文件夹掩码-local_umask掩码 
5、anon_upload_enable=YES  开启匿名用户上传权限 
统一匿名上传用户上传的文件的属性 
6、chown_uploads=YES 
chown_username=ftp 
设定chroot配置,禁止特定用户访问上一级目录 
7、chroot_list_enable=YES 
chroot_list_file=/etc/vsftpd/chroot_list 
userlist_enable=YES  这个选项如果是YES,那/etc/vsftpd/user_list中的用户将被禁止访问ftp。如果是NO,则只有user_list里面的用户才能访问ftp 

原文地址:https://www.cnblogs.com/zhangqigao/p/7413673.html