Linux组成员共享目录

背景

在实际工作中常常会遇到这样的问题:一台服务器上的多个用户需要合作完成一个项目,他们都有自己的home目录和初始私有组,而他们需要同时再同一个目录下做开发。
这时就会用到组成员共享目录,下面介绍如何让组成员再同一目录协同工作

以下操作默认用root用户进行

准备

假设需要合作的三个用户分别为U1、U2和U3,其中U1 为项目的管理员。

  • 首先新建这三个用户(包括设置初始密码):
useradd U1
passwd U1

同样的方法操作三次,依次新建这三个用户。

  • 新建介绍之后可以通过查看home目录下的文件夹来判断是否成功以及当前系统内的用户数。
ll /home
  • 还可以通过查看以下两个文件获得用户信息,以U1为例
# /etc/group 下存的是用户信息
# /etc/shadow 下存的是用户密码
grep U1 /etc/passwd /etc/shadow
  • 然后要新建一个组(包括设置初始密码):
groupadd pro1
gpasswd pro1
  • 可以用类似查看用户的方法查看组信息
grep pro1 /etc/gpasswd /etc/gshadow
  • 然后新建需要共享的目录(/project/pro1):
# 采用以下方式分步创建
cd /
mkdir project
cd project
mkdir pro1

# 也可以采用以下一句命令直接创建
mkdir -P /project/pro1
  • 创建结束可在project文件夹下运行ls -l命令查看文件夹信息

开始

  • 先把U1设置为管理员
gpasswd -A U1 pro1
# 注意这一句只把U1设置为管理员并没有将其加入对应的组
  • 再把三个用户加入组pro1
gpasswd -a U1 pro1
gpasswd -a U2 pro1
gpasswd -a U3 pro1
  • 把要共享的目录和组关联起来
chgrp pro1 /project/pro1
chmod 2770 /project/pro1 # 这一句使得组外除root的所有用户对pro1文件夹没有任何权限
  • 再次在project文件夹下运行ls -l命令查看文件夹信息,对比验证操作是否成功

验证

  • 新建用户U4

  • 切换到U1用户,在组内新建一个文件a.txt

  • 切换到U2 ,打开项目文件夹,发现可以打开并修改a.txt

  • 切换到U4,发现无法进入pro1文件夹,

删除

通过以上操作,已经将新建的三个用户加入组pro1,并且关联了工作目录/project/pro1,该文件夹组外用户无法访问,现在介绍删除所有用户和组的方法。

  • 利用命令userdel即可删除用户,但是这样并不能将所有文件删除干净
  • 利用以下两条命令查找用户的所有文件(以U1为例)
updatedb #更新索引文件
locate U1
  • 根据反馈结果,利用rm命令彻底删除所有文件
rm -rf /home/U1
rm -rf /var/spool/mail/U1
  • 再次更新数据库然后查找即可发现所有文件均已被删除。

  • 依次通过上述方法删除所有用户,然后利用groupdel命令删除组即可

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Cheney822

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值