三、文件系统和文件操作-facl权限
在北京大学北极星计算高性能计算平台下,如何让用户test_pkuhpc的文件夹只被用户chenfj访问?如何让用户test_pkuhpc的文件夹只被用户chenfj修改?并且其他用户不能访问?
一、创建要被访问的文件夹:
[test_pkuhpc@login12 test_pkuhpc]$ mkdir /lustre2/test_pkuhpc/share
创建要被写的文件 :
[test_pkuhpc@login12 test_pkuhpc]$ :>fafaffa
注:如果对于文件夹操作,那么进入文件夹,列出文件等操作都是需要x(执行权限)
二、更改文件夹权限
更改/lustre2/test_pkuhpc/主文件夹权限如下
[test_pkuhpc@login12 test_pkuhpc]$ chmod o+x /lustre2/test_pkuhpc
[test_pkuhpc@login12 lustre2]$ ll |grep test_pkuhpc
drwxr-x--x 13 test_pkuhpc test_pkuhpc 4096 Dec 23 22:09 test_pkuhpc
更改/lustre2/test_pkuhpc/share/要访问的文件夹权限如下
[test_pkuhpc@login12 test_pkuhpc]$ chmod o+x /lustre2/test_pkuhpc/share/
[test_pkuhpc@login12 test_pkuhpc]$ chmod o-r /lustre2/test_pkuhpc/share/
[test_pkuhpc@login12 test_pkuhpc]$ ll
drwxr-x--x 2 test_pkuhpc test_pkuhpc 4096 Dec 23 22:20 share
三、测试没有setfacl前的权限
[chenfj@login12 chenfj]$ cd /lustre2/test_pkuhpc/
[chenfj@login12 test_pkuhpc]$ ls
ls: cannot open directory .: Permission denied
[chenfj@login12 test_pkuhpc]$ cd /lustre2/test_pkuhpc/share/
[chenfj@login12 share]$ ls
ls: cannot open directory .: Permission denied
发现都没有权限
四、设置读权限
[test_pkuhpc@login12 test_pkuhpc]$ setfacl -m g:chenfj:r-x share
使用chenfj这个组用户访问,用户是:setfacl -m u:chenfj:r-x share
[chenfj@login12 share]$ ls
fafaffa
可以访问了,但是不能修改:
[chenfj@login12 share]$ echo fafa >>fafaffa
bash: fafaffa: Permission denied
五、设置写权限
[test_pkuhpc@login12 test_pkuhpc]$ setfacl -R -m g:chenfj:rwx share
这样就可以写文件了:
[chenfj@login12 share]$ echo fafa >>fafaffa
[chenfj@login12 share]$ cat fafaffa
fafa
在这里加递归-R是因为要对fafaffa文件读写
六,查看权限getfacl
查看文件夹
[test_pkuhpc@login12 test_pkuhpc]$ getfacl share/
# file: share/
# owner: test_pkuhpc
# group: test_pkuhpc
user::rwx
group::r-x
group:chenfj:rwx
mask::rwx
other::--x
查看文件:
[test_pkuhpc@login12 test_pkuhpc]$ getfacl share/fafaffa
# file: share/fafaffa
# owner: test_pkuhpc
# group: test_pkuhpc
user::rw-
group::rw-
group:chenfj:rwx
mask::rwx
other::r--
七、其他用户查看:
fangt这个账号什么都看不了,而且还不能修改
[fangt@login12 root]$ cd /lustre2/test_pkuhpc/share/
[fangt@login12 share]$ ls
ls: cannot open directory .: Permission denied
[fangt@login12 share]$ cat /lustre2/test_pkuhpc/
cat: /lustre2/test_pkuhpc/: Permission denied
[fangt@login12 share]$ ls
ls: cannot open directory .: Permission denied