第5章用户和组管理
红帽软件竭诚奉献
5.1 什么是用户
主要概念
根本上,用户由一个32位的整数表示,这叫做user id(或简称uid)。
每个进程都在一个userid环境下运行,资源(如文件)由userid拥有。
/etc/passwd文件将userid和用户的用户名、密码、主目录和登录Shell联系起来。
密码(通常)保存在/etc/shadow文件中。
系统中的有些用户是系统用户,它们并不代表真正的人。
5.1.1 讲义
当你坐在Linux机器前工作或玩游戏时,你需要先登录,提供用户名和密码。用户名是你身份的代表:我的名字是Alice,我的用户名是alice,它代表我。
userid是一个数字
Linux将你看作什么呢?Linux不将你想作一个叫alice的用户,而是一个数字,比如说531。你可能会说:“我不是一个数字!”但是对Linux来说你就是个数字。
在Linux里,userid是一个32位(4字节)的整数,也就是说一个从0到4,294,967,295的整数数字。Linux 的内部运作经常会用到userid,只有在显示给人看的时候才转换成人类可读的形式(如alice),比如在目录列表或邮件地址中。本节讨论Linux什么时候使用用户名,什么时候使用整数userid,如何在需要时从一种形式转换到另一种形式。
用户名(username)代表人类可读形式的名字如alice,用userid代在本小节里我们会用用户名
用户名
表整数如531。
userid 0是根用户(root)
userid 0比较特殊,这是超级用户,即用户名为根(root)的用户的userid。我们现在提到这点是因为你在Linux系统内工作时会经常用到userid 0或用户名root,希望你能注意到。
进程有userid
所有在Linux中进行的工作都是以进程形式进行。所有运行的程序都是在进程中运行(有的时候在一个以上的进程中运行)。这包括你的登录Shell、你从这个Shell中调用的命令、你的图形程序、网络客户机和服务器和其他众多在后台执行的系统进程。
这些进程都各有一个userid,这个userid以一个32位的整数形式保存。这个userid代表运行这个程序的用户,由此引伸到这个程序可以访问的资源,和拥有新建资源的userid。
[alice@system alice]$ ps lax
F UID
4
1
1
1
1
1
如果看
[student@system student]# tail -3 /etc/passwd julius:x:501:501::/home/julius:/bin/bash [root@system root]# ps lax
F UID PID
4
1
1
1
1
1
个)字段插入
结果
你的备注字段显示
-e expireDate
如果有人只应该能在一段时间内使用计算机,你可以为他们的账号设定有效期,让其账号在指定日期失效。这个日期要用“
-g primaryGroup
红帽企业版
示例
这些名人都太麻烦了,我们把他们踢出去,删除他们的目录。
[root@system root]# userdel -r blondie
[root@system root]# userdel -r tafkap
[root@system root]# userdel madonna
使用
函数。crypt
用户登录时,输入他们的密码。
以保存,但是它知道用户的加密密码。所以系统找到保存的用户加密密码,对用户提供的密码进行加密(使用同样的
如果用户输入的是正确的密码,
允许用户登录。
效之前有
结果
四个账户的密码时效和过期日同上述配置要求一致。
5.3.4
在2009