Linux中不同普通用户是否可以互删文件
背景
在工作的时候,整个人感觉非常的迷糊之时,在线上环境中运行了rm命令,然后发现线上产生的日志文件的时间跨度非常的大。这时候感觉整个人都快要崩溃了都。幸好幸好,经过再三确认,并不是本人引起的,并且是符合预期的。事后,总结发现,虽然我是使用了rm命令,但是我所使用的角色并不能删除到线上文件,万事大吉,万事大吉。接下来做个实验,用来证明我是没有权限删除文件的,即Linux中不同用户是否可以互删文件
实现
在root的用户中编写创建用户的可执行文件:addUser.sh
useradd -d "/home/$1" -g "ysm" -m $1 # -d 表示该用户的主目录,-g表示指定用户组,-m表示主目录不存在的时候创建一个
passwd $1
在root的用户中给addUser.sh文件添加可执行权限
chmod +x addUser.sh
在root的用户中创建两个用户
./addUser.sh one
# 其中需要添加密码
./addUser.sh two
创建成功之后,在root用户下,切换到one这个用户
su - one
在one用户中的/home/one目录下创建一个a.txt文件
cd /home/one
touch a.txt
使用ls -l查看该文件信息
ls -l
# 输出
# -rw-r--r-- 1 one ysm 0 Oct 9 21:21 a.txt 其中one表示one这个用户,ysm表示one这个用户是属于ysm组的
退出one用户,并且切换到two用户,进入到/home/one目录下执行删除命令
exit # 执行这个之后就是root用户
su - two # 切换到two这个用户
cd /home/one
rm a.txt
# 输出
# rm: cannot remove 'a.txt': Permission denied 这就表明我删除不成功,没有权限
总结
实验证明,我执行rm文件只能删除我当时所属角色的文件,哈哈哈哈。不同普通用户不可以互删文件。
注意
看懂需要useradd命令和ls -l命令的基础知识。
关于useradd可以参考:https://www.runoob.com/linux/linux-user-manage.html
关于ls -l可以参考:https://blog.csdn.net/sjzs5590/article/details/8254527