用户管理和权限管理

一、用户管理

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)

相关推荐
東雪蓮☆21 分钟前
容器生命周期与管理策略
linux·运维·docker
---学无止境---1 小时前
Linux 内核等待队列(Wait Queue)机制深度分析
linux
wheeldown1 小时前
【Linux】Linux管道与进程池深度解析:从原理到实战
linux·运维·服务器
_extraordinary_1 小时前
Java Linux --- 基本命令,部署Java web程序到线上访问
java·linux·前端
Ronin3052 小时前
【Linux网络】网络命令
linux·网络·网络命令
熙客2 小时前
DevOps简介
运维·devops
XUE-52113143 小时前
BGP实验-路由反射器
linux·运维·网络
東雪蓮☆3 小时前
从安装到上手实战——Docker 基础命令全解析
运维·docker·容器
两个西柚呀3 小时前
nodejs中http模块搭建web服务器
服务器·前端·http
upgrador3 小时前
Linux内核与设备管理:USB存储驱动usb_storage/uas的安全卸载与复原
linux·运维·安全