vsftpd添加用户并限制目录及指定用户访问指定目录

作者:Liaodeity - 2015年03月04日

开发那边更新速度如果比较快,每天会有无数的文件或者目录交给运维更新上线,这样比较麻烦,干脆给他们搭FTP让他们自己上传修改,但有一问题,就是权限问题,公司五个站点有五个目录,每个人负责不同的站点,如何让各自都不干扰别人,或者说不到别人的目录搞“破坏”!下面解决这个问题!

  一。检查Linux中vsftpd的安装情况。

  就不啰嗦了

  二。将系统中的SELinux关闭,然后重新启动电脑(不关闭的话修改好标签也可以)

  关闭SELinux的方法:

  修改/etc/selinux/config文件中的SELINUX="" 为 disabled ,然后重启。

  如果不想重启系统,使用命令setenforce 0

  注:

  setenforce 1 设置SELinux 成为enforcing模式

  setenforce 0 设置SELinux 成为permissive模式

  在lilo或者grub的启动参数中增加:selinux=0,也可以关闭selinux

  setsebool ftpd_disable_trans 1

  三。建立用户和指定目录

  注意:若要为目录制定相应的权限,最好在指定ftp家目录之前修改

  然后将vsftpd.conf配置文件里的local_umask的值修改为000就可以了,生成目录默认777,文件默认666

  #useradd -d /var/www -s /sbin/nologin ftp3

  #passwd ftp3

  建立用户ftp3,并指定其家目录为/var/www,禁止登陆

  #useradd -d /var/web -s /sbin/nologin ftp4

  #passwd ftp4

  建立用户ftp4,并指定其家目录为/var/web,禁止登陆

  这样ftp3和ftp4用户就被指定到相应的文件夹下。

  四。修改vsftpd.conf配置文件

  将anonymous_enable改为NO,阻止匿名上传

  将chroot_list_enable和chroot_list_file的注释去掉,阻止用户访问上级目录

  五。在/etc/vsftpd下建立chroot_list文件

  建立完成后,在其中添加用户ftp3,ftp4,(一行一个)使其只允许访问指定目录。

  六。启动或是重启ftp服务。

  #service vsftpd restart(start)

  启动成功后,就可以访问ftp服务了。

  下面附vsftpd.conf的一些配置

  1. 匿名服务器的连接(独立的服务器)

  在/etc/vsftpd/vsftpd.conf配置文件中添加如下几项:

  Anonymous_enable=yes (允许匿名登陆)

  Dirmessage_enable=yes (切换目录时,显示目录下.message的内容)

  Local_umask=022 (FTP上本地的文件权限,默认是077)

  Connect_form_port_20=yes (启用FTP数据端口的数据连接)*

  Xferlog_enable=yes (激活上传和下传的日志)

  Xferlog_std_format=yes (使用标准的日志格式)

  Ftpd_banner=XXXXX (欢迎信息)

  Pam_service_name=vsftpd (验证方式)*

  Listen=yes (独立的VSFTPD服务器)*

  功能:只能连接FTP服务器,不能上传和下传

  注:其中所有和日志欢迎信息相关连的都是可选项,打了星号的无论什么帐户都要添加,是属于FTP的基本选项


本文作者: Liaodeity

本文链接: https://www.jianbaizhan.com/article/59

版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 许可协议。转载请注明出处!


 请勿发布不友善或者负能量的内容。审查将对发布广告等违规信息进行处罚!