首页 | 论坛 | Linux | 博客 | 下载 | 人才 | 培训 | WIKI | 手册 | 图书 | 搜索  
ChinaUnix.net » Samba » 终于实现samba可写不可删除

2006-10-25 22:16 lovegqin
终于实现samba可写不可删除

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

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

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


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

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。写个小脚本


[code]#!/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   [/code]

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

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

2006-10-26 08:51 bian1124
学习一下,试试

2006-10-26 09:07 比尔盖子
不错不错

路过,不错,收了。。。

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

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

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

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

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

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

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

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

2006-10-26 15:37 szxsztszk
如果把参数改成下面的就更好了.

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

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

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

2006-10-26 15:42 lovegqin
楼上的兄弟你好
不知怎样实现
对目录内的文件只读但是不能copy呢?

2006-10-26 16:09 szxsztszk
[quote]原帖由 [i]lovegqin[/i] 于 2006-10-26 15:42 发表
楼上的兄弟你好
不知怎样实现
对目录内的文件只读但是不能copy呢? [/quote]



恐怕不能实现这个功能.因为能读也就能拷贝了.

2006-10-26 17:20 szxsztszk
有些保密文件可以结合公司的行政管理来管.单纯靠技术比较吃力.

2006-10-26 17:27 lovegqin
我也是这么想的,不过领导要求技术上实现
所以只能试试了

2006-10-28 09:31 gydoesit
楼主,你这不叫linux可写不可删吧,叫samba似乎合适些。与windows的完全不是一回事吧,在windows下,即使你是owner,但没有删除权限你也删不了。而linux只要你是owner又可写,那就能删除。

哎,现在都不重要了。重要的是samba的文件修改时间windows差1秒如何解决呀。大家帮我看看。
[url]http://bbs.chinaunix.net/viewthread.php?tid=843751&highlight=gydoesit[/url]

2006-10-28 12:42 juanshuchun
learing

2006-10-28 18:29 newbuding
不错,学习...

2006-10-29 00:13 lovegqin
[quote]原帖由 [i]gydoesit[/i] 于 2006-10-28 09:31 发表
楼主,你这不叫linux可写不可删吧,叫samba似乎合适些。与windows的完全不是一回事吧,在windows下,即使你是owner,但没有删除权限你也删不了。而linux只要你是owner又可写,那就能删除。

哎,现在都不重要了 ... [/quote]
满意了?

2006-10-29 15:22 windychan
收藏

2006-10-30 01:02 MicroHard
有意思,顶

2006-10-31 13:53 zhengwei_zw
非常有用!适合网吧

页: [1] 2 3 4 5