/opt/software /home/user1/file /home/user2/file
如何实现这个设置?
听起来像是实现你想要做的最好的方法,就是ACL。
ext3和ext4都支持,但需要启用才能工作。
为了不仅显示我做了什么,而且还显示了我testing的文件结构,我把它全部粘贴了。 我正在使用RHEL 6.2进行testing。
创build所需的用户
root # useradd -d /opt/software/ software root # useradd user1 root # useradd user2
在用户家中创build“文件”。 在它上面设置组权限 – ACL需要这个,尽pipe这个组可以是用户自己的。
root # touch /home/user1/file && touch /home/user2/file root # chmod 770 /home/user1/file /home/user2/file root # chown user1:user1 /home/user1/file root # chown user2:user2 /home/user2/file
设置ACL。 -m =修改。 你=用户。 软件=用户名。 rwx =权限。
root # setfacl -mu:software:rwx /home/user1/file root # setfacl -mu:software:rwx /home/user2/file
获取ACL以检查它是否正确。
root # getfacl /home/user1/file getfacl: Removing leading '/' from absolute path names # file: home/user1/file # owner: user1 # group: user1 user::rwx user:software:rwx group::rwx mask::rwx other::---
使可执行文件做一些有用的事情。
root # echo "echo horse" > /home/user1/file root # echo "echo horse" > /home/user2/file
在用户的主目录上设置ACL
root # setfacl -mu:software:rx /home/user1 root # setfacl -mu:software:rx /home/user2
再次确保该组具有所需的权限。
root # chmod 750 /home/user1 /home/user2
testing的时间!
root # su - software -bash-4.1$ /home/user1/file hest -bash-4.1$ vi /home/user1/file -bash-4.1$ /home/user1/file hest moo -bash-4.1$ logout root # su - user1 [user1@tutsrv01 ~]$ /home/user2/file -bash: /home/user2/file: Permission denied
有一点关于ACL
要工作,该组必须至less具有与ACL条目相同的权限。 如果您创build了rwx ACL条目,但是unix权限组条目仅为rw,则ACL的有效权限将限制为rw。