用户管理和权限管理

一、用户管理

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)

相关推荐
Johny_Zhao17 分钟前
Docker + CentOS 部署 Zookeeper 集群 + Kubernetes Operator 自动化运维方案
linux·网络安全·docker·信息安全·zookeeper·kubernetes·云计算·系统运维
小毛驴8501 小时前
Linux 后台启动java jar 程序 nohup java -jar
java·linux·jar
一心0922 小时前
ubuntu 20.04.6 sudo 源码包在线升级到1.9.17p1
运维·ubuntu·sudo·漏洞升级
好好学习啊天天向上2 小时前
世上最全:ubuntu 上及天河超算上源码编译llvm遇到的坑,cmake,ninja完整过程
linux·运维·ubuntu·自动性能优化
你想考研啊2 小时前
三、jenkins使用tomcat部署项目
运维·tomcat·jenkins
tan180°3 小时前
MySQL表的操作(3)
linux·数据库·c++·vscode·后端·mysql
代码老y3 小时前
Docker:容器化技术的基石与实践指南
运维·docker·容器
典学长编程3 小时前
Linux操作系统从入门到精通!第二天(命令行)
linux·运维·chrome
wuk9984 小时前
基于MATLAB编制的锂离子电池伪二维模型
linux·windows·github
你想考研啊6 小时前
四、jenkins自动构建和设置邮箱
运维·jenkins