lovegqin 发表于 2006-10-25 22:16

终于实现samba可写不可删除

通过szxsztszk的提示
今天终于实现了linux可写不可删除的要求。
同时运用了POSIX ACL

我们公司的要求是这样的(我只做出我公司要求的步骤,不同的要求,稍加改正即可)
共享目录 To_manager   只有manager这个用户对此目录拥有完全权限。
其它用户对此目录只有:可向其内复制并新建文件的权限。但是不能删除文件不能copy出文件,不能读文件。

步骤:
1。更改smb.conf 如下



   comment=To_manager   
   path=/To_manager
   writable=yes
   create mask =1600
   directory mask= 1600

2。让Linux支持POSIX ACL (这个 POSIX ACL 的功能在 Linux kernel 2.6 上被正式支持,之后又被 back-port
到 2.4 kernel 上。大家常用的档案系统,如:ext3,xfs,jfs,和 ReiserFS,都能使用
ACL。当然,大家须要在编译 kernel 时启动 ACL。)

    我们亦可以在 /etc/fstab 中加入选项:
   /dev/sda1 /home ext3 acl 1 2
如果对POSIX ACL 不熟悉请看http://bbs.chinaunix.net/viewthread.php?tid=760730&highlight=lovegqin

3。写个小脚本


#!/bin/bash
mkdir /To_manager
chmod 777 /To_manager
chown manager:manager/To_manager   
chmod o+t /To_manager   
setfacl -m d:u:manager:rwx /To_manager   

最后运行脚本,重启smb即可.

[ 本帖最后由 lovegqin 于 2006-10-28 17:39 编辑 ]

bian1124 发表于 2006-10-26 08:51

学习一下,试试

比尔盖子 发表于 2006-10-26 09:07

不错不错

路过,不错,收了。。。

i770880 发表于 2006-10-26 11:10

我在windows下开启了NTFS的拒绝删除选项,结果是:
新建文件夹
新建文件夹(2)
新建文件夹(3)

如此下去如何得了?????
就是在刚生成新建文件夹还处于更名状态下也不能改名字,恐怖呀。

怎么能够重命名文件名呢?

lovegqin 发表于 2006-10-26 11:19

按照我的方法,是可以实现可写不可删除的
而且是可以实现多用户可写可删,多用户可写不可删除,而且也可以实现谁新建的文件,谁就有对它的完全权限
目的就是为了防止如楼上所说的弊端
至于WIN我不就清楚了

i770880 发表于 2006-10-26 11:34

POSIX ACL就是依据NTFS的ACL改进的。由于对NTFS的ACL的这个缺陷太失望了,就没摆弄过POSIX ACL;
不知道POSIX ACL是不是已经避免了这个缺陷,能够允许特定的人改文件名却不能删除文件?如果真的改进了,的确值得。

lovegqin 发表于 2006-10-26 11:44

谁新建的文件,谁就有完全权限,这样不是很合理吗?
而且在a这个用户新建了一个文件的同时,还可以让另一个用户也对这个文件拥有完全权限。我认为这也是很合理的
但是如果a这个用户新建了一个文件,但是不能对它拥有完全权限,我觉得就是不合理的了
像楼上所说的,能够允许特定的人改文件名却不能删除文件我觉得这个要求很是过分。

i770880 发表于 2006-10-26 12:39

试一下win下的NTFS ACL你就知道,可写不可删除的准确定义:
用户自己建立的文件用户没有完全权限,他自身不能删除他建立的文件的。

如果自己建立的文件自己可以删除,其实ext下的粘附设置就能够做到。设置此位后,文件只能被三个人删除:文件主,文件所属目录的属主,root
正因为这样的特点,我才弃用NTFS而用ext3作为文件服务器的。遇到重要的文件,ssh上去修改一下文件属主,就限制了原来建立文件的用户的删除权限了。

szxsztszk 发表于 2006-10-26 15:37

如果把参数改成下面的就更好了.


   comment=To_manager   
   path=/To_manager
   writable=yes
   create mask =1600
   directory mask= 1700

可以试试,看看和以前的有什么不同.

[ 本帖最后由 szxsztszk 于 2006-10-26 16:24 编辑 ]

lovegqin 发表于 2006-10-26 15:42

楼上的兄弟你好
不知怎样实现
对目录内的文件只读但是不能copy呢?
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 终于实现samba可写不可删除