Pureftpd的权限控制

Unix系统下pureftpd使用详解。特别是解决了很多人匿名用户无法登录的问题。与数据库的结合使得管理成千上万的用户很轻松。

  目录:
  一、Unix系统权限概述
  二、匿名用户的权限
  三、真实用户和虚拟用户的权限

--------------------------------------------------------分 割 线-------------------------------------------------

  一、Unix系统权限概述
  1、访问权限
  Unix 文件系统是一个能够支持多个用户同时访问的文件系统。文件访问权限分为三种类型的用户:文件属主或用户(User),同组用户(Group),其他用户(Other)。
  用户对文件或目录的访问权限有三种:读(r)、写(w)和执行(x)。
  2、文件访问权限
  如果用户具有读文件的访问权限,就可以查看文件的内容;具有写文件的访问权限,就可以修改文件的内容;具有执行文件的访问权限,就可以运行程序文件。
  3、目录访问权限
  对于目录来说,读访问权限允许用户列出目录的内容;写访问权限运行用户在目录中创建或删除文件及目录;执行访问权限允许用户使用 cd 命令进入目录或使用该目录作为路径名的一部分。
重要:pureftpd的权限控制是通过系统目录的权限来实现的。

  二、匿名用户权限
  1、变更匿名用户主目录的所有者。
  按照我前篇文章(详情见我的前作《pureftpd基础:安装、配置、实现匿名登录》)的步骤,在系统中创建了匿名用户的主目录后,匿名用户无法进行上传、下载、建目录、删除等等操作。这是因为匿名用户的主目录的所有者不是系统“ftp”用户。  
# ls -l /home/
  total 6
  drwxr-xr-x 3 root wheel 512 Oct 16 04:42 ftp
  drwxr-xr-x 2 indian wheel 512 Oct 11 12:55 indian
  drwxr-xr-x 2 test wheel 512 Oct 11 12:55 test
  我们看到 ftp 目录的所有者为 root 。我们更改“ftp”目录的所有者,目录有 rwx 权限。 
 # chown ftp:14 /home/ftp
  # ls -l /home/
  total 6
  drwxr-xr-x 3 ftp ftp 512 Oct 16 04:42 ftp
  drwxr-xr-x 2 indian wheel 512 Oct 11 12:55 indian
  drwxr-xr-x 2 test wheel 512 Oct 11 12:55 test
  用 flashfxp 匿名连接。现在匿名用户可以上传文件,但是不能下载文件、建文件夹和删除文件。当你下载时看到没有被管理员核准。
  550-This file has been uploaded by an anonymous user. It has not
  550 yet been approved for downloading by the site administrators.
  传送失败!
  2、允许匿名用户下载。
  修改配置文件,允许下载文件。
  # ee /usr/local/etc/pure-ftpd.conf
  AntiWarez yes
  AnonymousCanCreateDirs no
  AnonymousCantUpload no
  “AntiWarez yes ”意思是不接受所有者为 “ftp” 的文件的下载,我们把它设置为 “no”,重启 pureftpd 服务,就可以下载文件了。
  “ AnonymousCanCreateDirs no”,意思是匿名用户是不能创建目录,我们把它设置为“yes”,重启 pureftpd 服务,匿名用户就可以创建目录了。
  “AnonymousCantUpload no”,意思是匿名用户可以上传文件,如果设置为“yes”,匿名用户不能上传。
  3、只允许匿名用户登录。
  默认配置文件允许匿名用户和系统帐户登录。如果只允许匿名帐户登录,修改默认配置文件:
  AnonymousOnly yes //是否只让匿名登录
  重启服务器或重启服务(必须)后,就只能匿名登录了。无论你用什么帐号,甚至用不存在的帐号登录(乱码也行,只要 ftp 服务器的 IP 是对的)都只会登录到匿名用户的主目录。

  三、真实用户和虚拟用户的权限
  系统真实用户和PureDB虚拟用户的权限由系统目录和文件权限决定。
  1、具有管理权限的用户。
  具有管理权限的用户也就是有上传、下载、建目录和删除权限的用户。
  # pw groupadd ftpadmingroup
  # pw useradd ftpadmin -g ftpadmingroup
  # pure-pw useradd tom -u ftpadmin -d /home/ftpadmin
  # ls -l /hom/e
  total 8
  drwxr-xr-x 6 ftp ftp 512 Oct 16 09:45 ftp
  drwxr-xr-x 5 ftpadmin ftpadmingroup 512 Oct 16 11:02 ftpadmin
  drwxr-xr-x 2 indian wheel 512 Oct 16 09:51 indian
  drwxr-xr-x 2 test wheel 512 Oct 11 12:55 test
  “ftpadmin”用户对“ftpadmin”目录有 rwx 的权限。
  2、系统目录的 r 权限,控制 FTP 的列表权限。
  # chmod u-r /home/ftpadmin
  # ls -l /home/
  total 8
  drwxr-xr-x 6 ftp ftp 512 Oct 16 09:45 ftp
  d-wxr-xr-x 5 ftpadmin ftpadmingroup 512 Oct 16 11:02 ftpadmin
  drwxr-xr-x 2 indian wheel 512 Oct 16 09:51 indian
  drwxr-xr-x 2 test wheel 512 Oct 11 12:55 test
  去掉“ftpadmin”目录的 r 权限。FTP 不能列表,可以上传、建目录。但是如果知道文件路径,照样可以下载和删除文件(用迅雷等工具直接填入资源地址就可以下载)。
  3、系统目录所有者的 w 权限,控制 FTP 的删除、重命名和建目录权限。
  # chmod u+r-w /home/ftpadmin
  # ls -l /home/
  total 8
  drwxr-xr-x 6 ftp ftp 512 Oct 16 09:45 ftp
  dr-xr-xr-x 5 ftpadmin ftpadmingroup 512 Oct 16 11:02 ftpadmin
  drwxr-xr-x 2 indian wheel 512 Oct 16 09:51 indian
  drwxr-xr-x 2 test wheel 512 Oct 11 12:55 test
  去掉 ftpadmin 目录所有者的 w 权限后,pureftpd 的虚拟用户不能删除、重命名文件或目录,不能建目录。但是可以下载文件。
  4、系统目录所有者的 x 权限,控制 FTP 的列表、上传、下载、建目录和删除等全部权限。  
# chmod u+rw-x ftpadmin
  # ls -l
  total 8
  drwxr-xr-x 6 ftp ftp 512 Oct 16 09:45 ftp
  drw-r-xr-x 4 ftpadmin ftpadmingroup 512 Oct 16 11:48 ftpadmin
  drwxr-xr-x 2 indian wheel 512 Oct 16 09:51 indian
  drwxr-xr-x 2 test wheel 512 Oct 11 12:55 test
  去掉 ftpadmin 目录所有者的 x 权限后,pureftpd 的虚拟用户不能列表、上传、下载、建目录和删除。
  总结:系统目录和文件的权限决定 pureftpd 虚拟用户的权限。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/22b73d0c9706c06d2c017d6db9e213d0.html