用户管理和权限管理

一、用户管理

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)

相关推荐
BD_Marathon9 分钟前
SpringBoot——辅助功能之切换web服务器
服务器·前端·spring boot
晚风吹人醒.37 分钟前
SSH远程管理及访问控制
linux·运维·ssh·scp·xshell·访问控制·远程管理
Uncertainty!!2 小时前
Linux多用户情况下个别用户输入密码后黑屏
linux·远程连接
necessary6532 小时前
使用Clion查看linux环境中的PG源码
linux·运维·服务器
江湖有缘3 小时前
Jump个人仪表盘Docker化部署教程:从0到 搭建专属导航页
运维·docker·容器
小猪佩奇TONY3 小时前
Linux 内核学习(14) --- linux x86-32 虚拟地址空间
linux·学习
Lam㊣4 小时前
Centos 7 系统docker:更换镜像源
linux·docker·centos
FL16238631294 小时前
win11+WSL+Ubuntu-xrdp+远程桌面闪退+黑屏闪退解决
linux·运维·ubuntu
石头5304 小时前
Kubernetes监控全栈解决方案:从零搭建Prometheus+Grafana监控体系
linux
ha20428941944 小时前
Linux操作系统学习记录之---TcpSocket
linux·网络·c++·学习