全部博文(9)
分类: LINUX
2009-07-14 14:10:17
共享目录/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",能够保证每个用户只能修改自己的文件而不能修改别人的文件,这是一个很有 用的权限
易 游服务器和实际工作中,经常遇到这样的情况,即一个目录相对普通帐户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 //指明本共享的合法用户为属于group1的用户
invalid users=@group2
writeable=no //默认本共享的写权限为关闭的
write
//覆盖共享的写权限,即update用户可以往该共享目录中执行写入操作.
注:security项为user,@代表组的意思
重启Samba服务,即可实现以上要求.