超算小站 超算小站
首页
手册
  • 集群软件环境:

    • 01.编译环境
    • 02.基础库
    • 03.应用软件
    • 04.工具软件
    • 05.常用语言环境
    • 06.使用进阶
  • 入门课程

    • 01.超算历史
    • 02.VPN登录
    • 03.Mobaxterm工具
    • 04.Linux基本命令
    • 05.Module环境变量管理工具
    • 06.Vim文本编辑器使用
    • 07.Slurm作业管理系统
  • 01.登录问题
  • 02.编译问题
  • 03.作业问题
  • 04.存储和数据问题
  • 05.GPU问题
Linux使用
归档
关于我
🚀试用
首页
手册
  • 集群软件环境:

    • 01.编译环境
    • 02.基础库
    • 03.应用软件
    • 04.工具软件
    • 05.常用语言环境
    • 06.使用进阶
  • 入门课程

    • 01.超算历史
    • 02.VPN登录
    • 03.Mobaxterm工具
    • 04.Linux基本命令
    • 05.Module环境变量管理工具
    • 06.Vim文本编辑器使用
    • 07.Slurm作业管理系统
  • 01.登录问题
  • 02.编译问题
  • 03.作业问题
  • 04.存储和数据问题
  • 05.GPU问题
Linux使用
归档
关于我
🚀试用
  • 常用命令

    • Linux使用:screen
  • 使用技巧

    • 如何设置环境变量
    • 多用户使用同一账号SSH时的自动登陆配置
    • 不同系统账号之间相互共享数据
      • 背景
      • 方法1:使用用户组进行设置
      • 方法2:使用 setfacl 进行权限设置
      • 补充说明
  • Linux使用
  • 使用技巧
郑刚
2021-12-21

不同系统账号之间相互共享数据

# 背景

如何实现多个系统账号之间想共享数据或者共享软件环境。

# 方法1:使用用户组进行设置

假设我们有2个账号,user1 和 user2,它们同属于一个用户组 user1。

我们先试用 id 命令查看一下,确认它们属于同一个用户组

$ id user1
uid=1001(user1) gid=1001(user1) groups=1001(user1)

$ id user2
uid=1002(user2) gid=1001(user1) groups=1001(user1)
1
2
3
4
5

然后我们尝试更改用户根目录的属性,就可以实现同一个用户组之间用户的相互访问。

# 登录 user1, 设置 user1 的根目录允许同组用户访问
$ chmod 750 ~  
1
2

波浪线 ~ 表示当前登录账号的家目录。

此时,user2 就可以进入 user1 的根目录了。

同理,如果 user2 希望 user1 能够进入自己的根目录,则先登录 user2 ,然后执行 chmod 750 ~ 即可。

需要注意的是:

1、通过这种方式,针对的是同一个用户组内的账号,当同一个用户组内有多个账号,那么设置该权限后,所有同组的成员均可访问了。

2、通过这种方式,改变的是用户根目录的访问权限,也就是同组其他用户能够进入该用户的根目录了。如果希望还能够进入其他的文件夹,或者打开其他的文件,需要再次进行设置,保证希望给同组成员访问的文件夹/文件,是 750 权限。

3、某些集群为了安全,可能设置了用户根目录限制,通过此方法无法实现组内共享,可以参考方法2。

# 方法2:使用 setfacl 进行权限设置

我们先查看一下 user1 的根目录的 acl 权限

$ getfacl ~
getfacl: Removing leading '/' from absolute path names
# file: home/user1
# owner: user1
# group: user1
user::rwx
group::r-x
other::---
1
2
3
4
5
6
7
8

可以看到该文件夹名称为 /home/user1 ,属于用户 user1,用户组 user1。用户的权限是 rwx (r 可读 w 可写 x 可执行),用户组是 r-x ( r 可读 - 不可写 x 可执行),其他人 --- (什么权限都没有)。

然后,我们使用 setfacl 命令,把用户 user1 的家目录 /home/user 也赋予 user2 一定的权限,比如 r-x 权限,语法格式为:

# 配置权限
$ setfacl -m u:user2:r-x ~

# 再查一次
$ getfacl ~
getfacl: Removing leading '/' from absolute path names
# file: home/user1
# owner: user1
# group: user1
user::rwx
user:user2:r-x
group::r-x
mask::r-x
other::---
1
2
3
4
5
6
7
8
9
10
11
12
13
14

这一次,我们发现在文件属于的 user 中,增加了一个 user:user2:r-x,它表示的是 user2 用户对该文件夹拥有(r 可读 - 不可写 x 可执行)的权限。

这样, user1 就可以根据自己的自身需求,实现对指定文件夹,指定用户的访问权限控制了。

# 补充说明

关于 chmod 命令,文件权限 rwx, 以及 setfacl 等命令的进一步使用,就需要大家学习别的文章啦。

多用户使用同一账号SSH时的自动登陆配置

← 多用户使用同一账号SSH时的自动登陆配置

最近更新
01
Linux使用:screen
12-21
02
多用户使用同一账号SSH时的自动登陆配置
07-04
03
青索客户端
06-29
更多文章>
Theme by Vdoing | Copyright © 2015-2022 Zheng Gang | MIT License | 津ICP备2021008634号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
×