免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 93062 | 回复: 94

[samba] 终于实现samba可写不可删除 [复制链接]

论坛徽章:
0
发表于 2006-10-25 22:16 |显示全部楼层
通过szxsztszk的提示
今天终于实现了linux可写不可删除的要求。
同时运用了POSIX ACL

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


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


  1. [To_manager]
  2.    comment=To_manager   
  3.    path=/To_manager
  4.    writable=yes
  5.    create mask =1600
  6.    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。写个小脚本


  1. #!/bin/bash
  2. mkdir /To_manager  
  3. chmod 777 /To_manager  
  4. chown manager:manager/To_manager   
  5. chmod o+t /To_manager   
  6. setfacl -m d:u:manager:rwx /To_manager   
复制代码


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

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

论坛徽章:
0
发表于 2006-10-26 08:51 |显示全部楼层
学习一下,试试

论坛徽章:
0
发表于 2006-10-26 09:07 |显示全部楼层

不错不错

路过,不错,收了。。。

论坛徽章:
0
发表于 2006-10-26 11:10 |显示全部楼层
我在windows下开启了NTFS的拒绝删除选项,结果是:
新建文件夹
新建文件夹(2)
新建文件夹(3)

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

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

论坛徽章:
0
发表于 2006-10-26 11:19 |显示全部楼层
按照我的方法,是可以实现可写不可删除的
而且是可以实现多用户可写可删,多用户可写不可删除,而且也可以实现谁新建的文件,谁就有对它的完全权限
目的就是为了防止如楼上所说的弊端
至于WIN我不就清楚了

论坛徽章:
0
发表于 2006-10-26 11:34 |显示全部楼层
POSIX ACL就是依据NTFS的ACL改进的。由于对NTFS的ACL的这个缺陷太失望了,就没摆弄过POSIX ACL;
不知道POSIX ACL是不是已经避免了这个缺陷,能够允许特定的人改文件名却不能删除文件?如果真的改进了,的确值得。

论坛徽章:
0
发表于 2006-10-26 11:44 |显示全部楼层
谁新建的文件,谁就有完全权限,这样不是很合理吗?
而且在a这个用户新建了一个文件的同时,还可以让另一个用户也对这个文件拥有完全权限。我认为这也是很合理的
但是如果a这个用户新建了一个文件,但是不能对它拥有完全权限,我觉得就是不合理的了
像楼上所说的,能够允许特定的人改文件名却不能删除文件我觉得这个要求很是过分。

论坛徽章:
0
发表于 2006-10-26 12:39 |显示全部楼层
试一下win下的NTFS ACL你就知道,可写不可删除的准确定义:
用户自己建立的文件用户没有完全权限,他自身不能删除他建立的文件的。

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

论坛徽章:
0
发表于 2006-10-26 15:37 |显示全部楼层
如果把参数改成下面的就更好了.

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

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

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

论坛徽章:
0
发表于 2006-10-26 15:42 |显示全部楼层
楼上的兄弟你好
不知怎样实现
对目录内的文件只读但是不能copy呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP