linux uid有什么用

说白了,Linux的UID是一个用唯一身份对用户和进程进行分类的系统。
其主要功能是管理权限和跟踪用户行为。

首先,最重要的是UID贯穿于整个用户管理流程。
比如我们去年跑的一个监控系统项目,审计日志直接使用UID来关联用户行为。
要查明谁执行了特定操作,只需直接找到 UID 即可。
自定义UID有规则:root设置为0,普通用户从1 000开始,1 -9 9 9 保留给系统服务。
我认为这个设计值得一试,因为它清晰且安全。
还有一点需要注意的是,内核有进程的三个UID标签,RUID、EUID、SUID。
去年,有同学落入陷阱,使用setuid()更改EUID。
结果他忘记恢复SUID,导致程序一直以root权限运行。
说实话,当时非常尴尬。

还有其他非常重要的细节。
SUID权限是最好玩的,但使用起来风险也最大。
例如,passwd SUID命令用于临时更改具有root权限的普通用户的密码。
去年我们测试新系统的时候,差点把shadow文件弄乱了。
幸好我们及时发现了。
等等,还有别的事。
SUID权限仅在文件执行时生效,执行后自动恢复。
这个机制是非常平衡的。

我一开始以为UID只是控制用户,后来发现这是错误的。
进程权限的控制,尤其是动态EUID切换,也依赖它。
例如,当您使用sudo时,您可以暂时将EUID更改为root,然后在使用后更改回来。

最后提醒一下:使用setuid()时,请确保调用者有足够的权限,否则很容易因权限不足而导致错误。

usermod怎么用 linux的用户、群组和权限

嘿,你的描述看起来很清楚,但是让我知道我在使用这些东西时遇到的陷阱。

去年在杭州数据中心的时候,想给运维部门的一个朋友调整权限,用用户模式添加群组功能。
然而我忘记先授予sudo权限,直接输入命令。
提示权限不足。
我担心自己出了很多汗,所以我赶紧sudo并再次尝试。
这提醒我,在使用用户态命令之前一定要确保有权限,否则系统死机就会出现问题。

还有一件事,当更改主目录时,例如使用用户模式 ​​-d/new/path username。
您最好检查目录 /new/path 是否正确存在,以及用户名主目录中是否有任何重要信息需要移动。
我改了一次,发现忘记备份了。
幸运的是,这只是一个测试环境。
如果生产环境中的数据丢失了怎么办?对于/etc/passwd和/etc/shadow来说,我建议初学者不要系统地更改这些文件。
2 02 2 年,我记得有一个实习生想看看他同事的密码什么时候过期。
结果他通过刷手改了号码,造成系统登录问题。
后来我花了几个小时使用charge命令将其稍微恢复到原来的状态。
这些文件不能随意移动,尤其是影子文件。
如果密码策略发生更改,则密码策略立即失效。
集团管理也容易出现问题。
例如,使用 usermod -G group1 ,group2 用户名。
您最好确保 group1 和 group2 确实存在。
我在一个旧系统上工作,发现其中一个组被管理员删除了,所以用户无法加入该组,权限自然就被破坏了。
最后您可以使用组模式重建组并添加用户。

一般用户模式是一个强大的工具,但在使用它之前您应该仔细考虑。
更改UID时要特别注意。
UID是系统识别用户的主要部分。
错误地改变它可能会导致连锁反应。
在更改主目录、组等时仔细检查总是一个好主意。
无论如何,我当前的习惯是始终使用用户模式在我使用 id 命令查看原始版本之前,在进行更改之后我使用 id 命令检查结果。
这个比较靠谱。