-
创建用户 leonard 和 sheldon,两个用户属于physics用户组(均需要root权限)
最好先创建用户组后创建用户;否则单独创建用户的时候会创建一个和用户名相同的用户组,造成浪费# 先创建用户组 sudo addgroup physics # 分别创建两个用户 sudo adduser leonard --ingroup physics # 相当于 sudo adduser leonard --gid [用户组id] sudo adduser sheldon--ingroup physics
-
在根目录创建phy_share目录,其中包括每个physics组成员以用户名命名的子目录,且physics组中的成员能够读写自己用户命名的目录
# 创建根目录 需要root权限 sudo mkdir /physhare # 创建组成员命名的目录 sudo mkdir /phy_share/leonard sudo mkdir /phy_share/sheldon # 查看权限 ll /phy_share # 添加权限 sudo chown leonard:physics /phy_share/leonard # 相当于 sudo chown 777 /phy_share/leonard sudo chown sheldon:physics /phy_share/sheldon
-
新成员penny加入,penny属于physics组,同时也属于manager组
# 添加penny sudo adduser penny --ingroup physics # 添加用户组 manager sudo addgroup manager # 将penny加入manager组 sudo usermod -a penny -G manager # 查看penny所属的用户组 groups penny
-
在phy_share目录创建manager目录,属于manager用户组,并给目录添加所属组具备写权限;其他physics组成员可以从/phy_share/manager目录获取manager组的成员发布的内容
- manager: rwx
- 其他physics: r-x
# 创建目录
sudo mkdir /phy_share
# 授予权限
sudo chmod g=rwx /phy_share/manager
- 查看结果:ls -l /phy_share
-
总用量 12
drwxr-xr-x 2 leonard physics 4096 2月 17 19:56 leonard
drwxrwxr-x 2 root manager 4096 2月 17 20:53 manager
drwxr-xr-x 2 sheldon physics 4096 2月 17 19:56 sheldon
- penny后来在/phy_share/manager目录创建了文件notice_20210218.news;并且penny把文件设置为所有人可读可写
# 切换用户为penny
su -l penny # 需要输入penny密码,如果忘记可通过sudo passwd penny 来重新设置penny密码(需要输入当前用户密码)
# 创建文件
touch /phy_share/manager/notice_20210218.news
# 查看当前文件信息
ls /phy_share/manager/notice_20210218.news -l
# 总用量 0
# -rw-r--r-- 1 penny physics 0 2月 18 18:12 notice_20210218.news
# 修改权限
chmod 666 /phy_share/manager/notice_20210218.news
# 查看当前文件信息
ls /phy_share/manager/notice_20210218.news -l
# 总用量 0
# -rw-rw-rw- 1 penny physics 0 2月 18 18:12 notice_20210218.news
- sheldon怕文件被删除,使用硬链接在自己用户目录下的backup目录创建了硬链接n20210218指向notice_20210218.news
# 切换为sheldon
su -l sheldon
# 创建目录
mkdir backup
# 创建硬链接
ln /phy_share/manager/notice_20210218.news backup/n20210218
# 查看
ls -ail backup
# 总用量 8
# 557673 drwxr-xr-x 2 sheldon physics 4096 2月 18 22:45 .
# 557653 drwxr-xr-x 4 sheldon physics 4096 2月 18 22:44 ..
# 2590 -rw-rw-rw- 2 penny physics 0 2月 18 18:12 n20210218
- leonard运行了一条命令
echo 'hello everyone' > /phy_share/manager/notice_20210218.news
之后penny删除了这个文件
命令中的 > 是重定向,用户输出的内容会显示在文件中而不会在终端显示
# 切换为leonard
su -l leonard
# 执行命令
echo 'hello everyone' > /phy_share/manager/notice_20210218.news
# 查看文件
cat /phy_share/manager/notice_20210218.news # 输出:hello everyone
penny删除文件
# 以penny的身份运行
rm /phy_share/manager/notice_20210218.news
- sheldon查看了/phy_share/manager/notice_20210218.news的内容,但是没有找到,请问如何查看这个文件的内容?
# 在6 中sheldon为penny创建的文件创建了硬链接,可通过查看此硬链接来查看原文件的内容
# 在sheldon的身份下运行
cat backup/n20210218 # 输出:hello everyone
# 此时,如果sheldon对此硬链接进行删除,则文件会被彻底删除
- 清空所有信息
# 切换为自己
exit
# 删除用户及其相关信息
sudo deluser --remove-home leonard
sudo deluser --remove-home sheldon
sudo deluser --remove-home penny
# 删除对应用户组
sudo delgroup manager
sudo delgroup physics
# 删除文件夹phy_share
sudo rm -rf phy_share/