目录: 

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

 

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

 

pureftpd的权限控制是通过系统目录的权限来实现的。

 

一、Unix系统权限概述

1、访问权限

Unix 文件系统是一个能够支持多个用户同时访问的文件系统。文件访问权限分为三种类型的用户:文件属主或用户(User),同组用户(Group),其他用户(Other)。

用户对文件或目录的访问权限有三种:读(r)、写(w)和执行(x)。

 

2、文件访问权限

如果用户具有读文件的访问权限,就可以查看文件的内容;具有写文件的访问权限,就可以修改文件的内容;具有执行文件的访问权限,就可以运行程序文件。

 

3、目录访问权限

对于目录来说,读访问权限允许用户列出目录的内容;写访问权限允许用户在目录中创建或删除文件及目录;执行访问权限允许用户使用 cd 命令进入目录或使用该目录作为路径名的一部分。

重要:pureftpd的权限控制是通过系统目录的权限来实现的。

 

 

 

二、匿名用户权限

1、变更匿名用户主目录的所有者。

按照《FreeBSD学习笔记12-pureftpd使用详解(1)-安装配置》一文中的步骤,在系统中创建了匿名用户的主目录后,匿名用户无法进行上传、下载、建目录、删除等等操作。这是因为匿名用户的主目录的所有者不是系统"ftp"用户。

 

# ls -l /home/ total 6 drwxr-xr-x  3 root    wheel  512 Oct 16 04:42 ftpdrwxr-xr-x  2 indian  wheel  512 Oct 11 12:55 indiandrwxr-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 ftpadmi
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 tes

去掉 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 虚拟用户的权限。

 

 

 

~ 全文完~

 

 

          印第安

      2009年7月25日15:50:00 v1.0 初稿

      2011年8月23日 14:04:42 v1.1更新,排版优化。

 

 

 

 

( 声明:原创文章,未经授权,不得转载。作者:印第安)