文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Samba+ACL简简单单实现可写不可删

Samba+ACL简简单单实现可写不可删

时间:2009-07-14  来源:goo1016

共享目录/home/manager 只有manager这个用户对此目录拥有完全权限,即可阅读别的用户在里面添加的文件内容.(manager及其它用户添加进samba用户)
其它用户对此目录只有:可向其内复制并新建文件的权限。但是不能删除别的用户和manage的文件不能copy出manager的文件,不能读manager及其它人的文件

查阅了网上的办法,将其步骤简化如下。另说明几点,RHEL5的/home分区,即格式化前的分区默认就支持ACL,可用tune2fs -l查看;另setfacl -m d命令只对下级目目录有效果,对当前目录无效,这点很多书上没有说明,这里特的指出来。

步骤:
1。更改smb.conf 如下
[manager]
path=/home/manager
writable=yes
create     mask= 1600
directory mask= 1600      //1位为Sticky位(防删除位),"6"为属主读写权限,第1个"0"为同组用户无权限,第2个"0"为其它用户无权限



2.

chmod 1777 /home/manager

setfacl -m d:u:manager:rwx /home/manager

我这里提到一下:chmod o+t ,针对目录设置粘滞位,只有满足如下条件之一才能删除或改名该目录下的文件:第一是超级用户root;第二是此目录的所有者;第三是将被删除或改名文件的所有者.

其实chmod o+t /home/manager和chmod 777 /home/manager这二句话可以用chmod 1777 /home/manager来替代(drwxrwxrwt),加上粘滞位"t",能够保证每个用户只能修改自己的文件而不能修改别人的文件,这是一个很有 用的权限


Samba在现实中的应用及与易游的结合心得

易 游服务器和实际工作中,经常遇到这样的情况,即一个目录相对普通帐户st02只能读,但对于高级帐户update能读能写,其实这个实现也不难,在实验环 境中将权限细化成三个,st01,st02,st03,st03属于group2组,对文件目录没有访问权限;st01,st02属于group1组,对 文件目录有访问权限,而且仅只有st02有写权限(即上传)

(1)#groupadd group1

    #groupadd group2

    #useradd -G group1 st01

    #passwd st01

    #useradd -G group1 st02

    #passwd st02   

    #useradd -G group2 st03

    #passwd st03

    #smbpasswd -a st01

    #smbpasswd -a st02

    #smbpasswd -a st03

(2)创建共享目录并赋予相应的权限

   #mkdir -p /home/member

   #chmoe 777 /home/member      

//此处将共享目录的权限设为777,即所有用户服务均可读写,其目的是为了验证用Samba的用户访问控制功能来限制不同用户服务对该目录的访问权限(此为实验环境)

(3)vi /etc/samba/smb.conf

[MEMBER]

path=/home/member

valid users=@group1                  //指明本共享的合法用户为属于group1的用户

invalid users=@group2

writeable=no                             //默认本共享的写权限为关闭的

write list=st02                         

//覆盖共享的写权限,即update用户可以往该共享目录中执行写入操作.

注:security项为user,@代表组的意思

重启Samba服务,即可实现以上要求.

相关阅读 更多 +
排行榜 更多 +
盒子小镇2游戏手机版下载

盒子小镇2游戏手机版下载

冒险解谜 下载
世界盒子模组版下载最新版本

世界盒子模组版下载最新版本

模拟经营 下载
音乐搜索app最新版本下载

音乐搜索app最新版本下载

趣味娱乐 下载