Chinaunix首页 | 论坛 | 博客
  • 博客访问: 151840
  • 博文数量: 20
  • 博客积分: 1550
  • 博客等级: 上尉
  • 技术积分: 320
  • 用 户 组: 普通用户
  • 注册时间: 2005-07-19 17:08
文章分类

全部博文(20)

文章存档

2011年(2)

2010年(2)

2009年(1)

2008年(15)

我的朋友

分类:

2008-03-24 00:14:16

如何实现不同的ftp用户有不同的访问权限



要想实现对某一目录,针对不同的ftp用户有不同的访问权限,建议安装专门的ftp server软件,如wu_ftpd。 如果使用AIX默认的ftp server,我们可以通过使用ACL(Access Control List)--访问控制列表--来实现近似的效果。 ACL是一种在基本文件权限控制以外的扩展控制,它可以针对某个文件做更精细的控制,可单独指定某个用户或属组的访问权限,配置过程举例如下:

1、 针对我们的需求,首先把/tmp/ftp_folder 的权限改成750(或其他需要的权限),然后通过ACL给不同的用户增加许可读和写的权限。注意:如果在执行acledit后重新执行chmodACL 中的“extended permissions”将会被重新置成“disabled”

2、指定ACL使用的编辑器:
# export EDITOR=/usr/bin/vi

3# acledit /tmp/ftp_folder
其中 /tmp/ftp_folder 为所要控制的文件,此时,屏幕将显示

attributes:
base permissions
owner(root): rwx
group(system): r-x
others: ---
extended permissions
disabled --> enabled

为使用ACL控制,将其中的disabled改为enabled

4、在其后添加控制项,用关键字permit来控制具体权限,比如:

permit r-x u:ftp1 用户ftp1对其有权限
permit -wx u:ftp2
用户ftp2对其有权限

注意: ACL中每行只能有一个用户名。

5、测试
针对用户ftp1,上传操作被拒绝
ftp> put file1
200 PORT command successful.
553 file1: The file access permissions do not allow the specified action.

针对用户ftp2,列取文件操作没有输出
ftp> ls
200 PORT command successful.
550 No files found.

这里要注意是,用户ftp2不具有权限只表明该用户无法读取文件列表,但如果他知道该目录下的文件名,一样可以用 get命令来下载文件(如果用户使用的是可视化的ftp工具基本不存在这个问题);这是因为在UNIX系统中,对目录来说,r)权限代表可以列出 该目录下的内容。即使没有权限,只要有访问x)权限,就可以从该目录下拷贝文件。 因此,我们只能说ACL可以近似实现限制(下载)的需求。
阅读(4044) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~