用户管理和权限管理

一、用户管理

root@gj \~\]# watch -n 1 "tail -n 3 /etc/passwd /etc/group ; ls -l /home" //监控这两个文件的内容和/home目录下的文件和子目录的详细信息 关于用户建立的命令 useradd test //建立用户test userdel -r test //表示删除用户test useradd -M -s /sbin/nologin -d /mnt test -M:表示建立用户时不建立用户家目录 -s:表示用户登录时使用的shell,`sbin/nologin` 是一个特殊的 shell,使用它作为登录 shell 的用户无法直接登录系统,常被用于创建系统用户或者服务用户,比如用于运行特定服务进程的用户。 -d:指定用户的主目录 ## 二、权限问题 ## 1、T权限 > \[root@gj \~\]# mkdir /dd/pub > > \[root@gj \~\]# chmod 777 /dd/pub > > \[root@gj \~\]# useradd lee > > \[root@gj \~\]# useradd timinglee > > \[root@gj \~\]# su - lee > > \[lee@gj \~\]$ touch /dd/pub/leefile > > \[root@gj \~\]# su - timinglee > > \[timinglee@gj \~\]$ touch /dd/pub/timingleefile > > \[timinglee@gj \~\]$ rm -rf /dd/pub/leefile //这里可以删除不是自己创建的文件,这太不合理了 > > \[root@gj \~\]# chmod o+t /dd/pub/ > > //**`o+t`** :`o` 代表其他用户(`others`),即不属于文件所有者和所属组的用户;`+t` 是给指定对象添加 `t` 权限,也就是粘滞位(`sticky bit`) > > 测试 > > \[root@gj \~\]# su - lee > > \[lee@gj \~\]$ touch /dd/pub/leefile > > \[lee@gj \~\]$ rm -rf /dd/pub/leefile > > \[lee@gj \~\]$ rm -rf /dd/pub/timingleefile > > rm: cannot remove '/dd/pub/timingleefile': Operation not permitted //发现操作被拒绝,我们的目的达到 ### 2、 sgid/suid权限 没有给权限前 > \[root@gj \~\]# ls -l /bin/cat > > -rwxr-sr-x. 1 root root 36496 Aug 16 2024 /bin/cat ![](https://i-blog.csdnimg.cn/direct/57b21868d2fe46c398036b4778f9c0d6.png) > root@gj \~\]# chmod g+s /bin/cat > `g` 代表所属组(`group`),`+s` 表示添加 Set GID 权限。Set GID 权限有两种不同的表现,对于目录和文件作用不同。当用于文件时,意味着执行这个文件时,进程的有效组 ID 会变成文件所属组的 ID。 ![](https://i-blog.csdnimg.cn/direct/61ad23dfe614472eb31a8028e24931c0.png) > \[root@gj \~\]# chmod u+s /bin/cat > > `u` 代表文件的所有者(`user`),`+s` 表示添加 Set UID 权限。当一个可执行文件被设置了 Set UID 权限后,任何用户在执行该文件时,进程的有效用户 ID 会变成文件所有者的用户 ID,而不是执行该命令的用户的 ID。 > > 当任意用户执行 `/bin/cat` 命令时,该进程的有效用户 ID 会变为 `/bin/cat` 文件所有者的用户 ID。通常 `/bin/cat` 文件的所有者是 `root`,所以设置该权限后,任何用户执行 `cat` 命令时,进程都会以 `root` 用户的身份运行。你可以使用 `ls -l /bin/cat` 命令查看文件权限的变化,设置 Set UID 权限后,所有者权限的执行位会显示为 `s` 或 `S` ![](https://i-blog.csdnimg.cn/direct/eaaa081f2b0a425a83d54c08ae3ea02a.png)

相关推荐
Mikhail_G14 分钟前
Python应用变量与数据类型
大数据·运维·开发语言·python·数据分析
曹瑞曹瑞15 分钟前
VMware导入vmdk文件
linux·运维·服务器
Johny_Zhao19 分钟前
2025年6月Docker镜像加速失效终极解决方案
linux·网络·网络安全·docker·信息安全·kubernetes·云计算·containerd·yum源·系统运维
hello kitty w1 小时前
Python学习(7) ----- Python起源
linux·python·学习
十年磨一剑~1 小时前
centos查看开启关闭防火墙状态
linux·运维·centos
无效的名字1 小时前
向日葵远程控制debian无法进入控制画面的解决方法
运维·debian
行云流水剑2 小时前
【学习记录】在 Ubuntu 中将新硬盘挂载到 /home 目录的完整指南
服务器·学习·ubuntu
藥瓿亭2 小时前
K8S认证|CKS题库+答案| 7. Dockerfile 检测
运维·ubuntu·docker·云原生·容器·kubernetes·cks
搬码临时工2 小时前
如何把本地服务器变成公网服务器?内网ip网址转换到外网连接访问
运维·服务器·网络·tcp/ip·智能路由器·远程工作·访问公司内网
vortex52 小时前
探索 Shell:选择适合你的命令行利器 bash, zsh, fish, dash, sh...
linux·开发语言·bash·shell·dash