文件共享
通过文件共享,实现组内成员访问自己HOME目录下的指定文件,用于组内软件环境或者数据的共享,避免重复数据的产生。
setfacl和chgrp
文件的拥有者和权限
如上图所示:
第一项:文件的权限位,d表示文件为文件夹,2-4为用户所有者对该文件的读写权限,5-7为用户组对该文件的权限,8-10为其他用户对该文件权限
第二项:文件所有者,谁创建的文件文件,谁就是所有者,只有文件所有者才能进行文件权限和文件所有组修改的权限
第三项:文件所有组,正常情况下,每个用户还存在一个以hpc开头,已项目负责人账户命名的用户组,可在登录后执行id查询
第四项:文件/文件夹名
对于文件的访问权限,可通过setfacl
设置其他用户或者用户组对文件的访问权限,也可以通过chgrp
修改文件所有组,并在权限中赋予组用户对文件的读写权限实现。
添加文件访问权限,使文件可以组内共享
第一步:添加权限,让组内成员可以访问打开自己的HOME目录;
这里使用setfacl
,是因为通过chmod
修改HOME目录属性,可能会导致计算节点ssh免密登录、远程桌面使用异常
# 查看自己所在的用户组,登录集群后通过id指令查看所在组,找到hpc开头的组名
id
# 设置HOME目录,使所在组成员可以打开自己的HOME目录
# 假如上一步查询的的组名为hpc1000000000,那么命令如下
setfacl -m group:hpc1000000000:x ~
# 后期如果需要取消执行以下指令即可
setfacl -x group:hpc1000000000:x ~
这里只添加了组内成员可以打开自己的HOME目录的权限,请严格执行,避免不必要的问题的产生
第二步:在自己的HOME目录下创建共享文件夹
第三步:管理后续文件权限
通过之前的两步,课题组hpc1000000000的所有成员都可以访问自己HOME目录下的group文件夹;
但还需要注意两点:
- 在该目录下新创建的文件或者文件夹,并不会继承上一层目录的权限属性,文件所有者还需要执行以下命令确保新建文件的拥有组为课题组
# 如果仅是文件的话可以不加-R参数
chgrp -R hpc1000000000 <文件或者文件夹>
# 如果是文件夹,需要确保文件夹下所有的子文件和子目录的拥有者,都为命令执行人本人,否则会执行失败
- 为防止文件被组内成员误操作,可删除组成员的写属性,尤其是共享的软件和数据