uid在linux中是什么意思

2 02 3 年,朋友问我UID是什么。
我告诉他UID是Linux中的用户识别码,用来区分不同的用户。
正如每个人都有自己的标识号一样,UID 就是系统标识号。
他问,UID的用途是什么?我只想说,UID是系统内核识别用户的关键。
每个用户都有自己的UID,就像每个人都有自己的名字一样。
系统使用UID来管理权限,比如文件所有权、进程所有权等,都是根据UID来确定的。

他问:UID大小有不同吗?我说,是的,UID的数值范围是指定的。
例如,UID #0 代表超级用户 root。
他拥有最高的权力,可以为所欲为。
UID 1 到4 9 9 由系统保留,一般用于系统服务。
UID 号 5 00 及以上适用于普通用户。

他问如何查看和更改UID?我刚才说了,检查很简单,用id命令就可以了。
要更改,请使用 usermod 命令,但请注意,更改后必须重新启动服务或重新登录才能使新 UID 生效。

他还问UID和进程权限有什么关系?我只想说,当进程启动时,它会继承当前用户的UID。
但是,如果进程需要临时增加权限,例如更改密码,则会使用setuid机制,UID将成为目标权限对应的UID。

他说,哦,我明白了。
如果我想在创建用户时指定UID怎么办?刚才说了,创建用户时,可以通过useradd命令指定UID,这样就可以自定义用户了。

他点点头说:谢谢,我明白了。
算了,我马上去试试。

那天在公交车上,看着窗外飞逝的街景,我突然想起了小时候学骑自行车的事。
一开始我总是会摔倒,膝盖会被擦伤流血,我会痛苦地笑。
但每次我站起来拍拍地面时,我仍然坚持再试一次。
现在想来,似乎也没什么大不了的。
2 02 3 年5 月的一个下午,阳光正好,我坐在车里心里想着这件事。
那个时候到底是什么时候到的呢?看起来已经快下午三点了。
车窗外,卖花的还在卖,声音不大,但却很清楚。
哎,我突然想到,你休息的时候,你真的会数时间吗?好像也记不起来了。

linux下用id命令显示为 uid=1001(user) gid=100(users) groups=100(users),16(dialout),33(video)

我记得有一次,在公司服务器上,我需要向新同事用户授予权限。
我打开终端,输入id命令,屏幕上出现了几行信息。
uid=1 001 ,这告诉我用户的用户ID是1 001 ,这是一个唯一的数字。
然后gid=1 00,表示用户的主要组是usergroup,这个组的ID是1 00。
我想到如果用户需要访问其他组的资源,他可能还需要加入那些关联的组。
果然,groups=1 00,1 6 ,3 3 ,也就是说该用户除了属于用户组之外,还属于拨号组和视频组。
尽管重复了用户组,但我知道这只是为了强调它是主要组。
那么如果用户需要修改链接组中的文件,他需要什么权限呢?