Linux
系统下关于用户和组的配置管理
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
|
|
|
Linux
用户和组管理
用户管理 ,主要的工作就是建立一个合法的 用户帐户 、设置和管理用户的 密码 、修改用户帐户的属性以及在必要时删除已经废弃的用户帐号。 1. 增加一个新用户 在 Linux 系统中,只有 root 用户才能够创建一个新用户,如下的命令将新建一个登录名 user1 的用户。 # useradd user1 但是,这个用户还不能够登录,因为还没给它设置初始密码,而没有密码的用户是不能够登录系统的。在默认情况下,将会在 /home 目录下新建一个与用户名相同的用户主目录。如果需要另外指定用户主目录的话,那么可以使用如下命令: # useradd -d /home/xf user1 同时,该用户登录时将获得一个 Shell 程序: /bin/bash ,而假如你不想让这个用户登录,也就可以指定该用户的 Shell 程序为: /bin/false ,这样该用户即使登录,也不能够执行 Linux 下的命令: # useradd -s /bin/false user1 在 Linux 中,新增一个用户的同时会创建一个新组,这个组与该用户同名,而这个用户就是该组的成员。如果你想让新的用户归属于一个已经存在的组,则可以使用如下命令: # useradd -g user user1 这样该用户就属于 user 组的一员了。而如果只是想让其再属于一个组,那么应该使用: # useradd -G user user1 完成了这一操作后,你还应该使用 passwd 命令为其设置一个初始密码。 2. 删除一个用户 删除用户,只需使用一个简单的命令 “userdel 用户名 ” 即可。不过最好将它留在系统上的文件也删除掉,你可以使用 “userdel -r 用户名 ” 来实现这一目的。 3. 修改用户属性 在前面我们看到了在新建一个用户的时候如何指定它的用户主目录,如何指定它的 Shell ,如何设置它所属的组 … 等等。在 Linux 中提供了一个命令来实现: usermod -g 组名 -G 组名 -d 用户主目录 -s 用户 Shell 还有一种直接的方法,那就是修改 /etc/passwd 文件,在这个文件中每个用户占用一行,它的内容为: 用户名:密码:用户 ID :组 ID :用户全名:用户主目录:用户 Shell 不过值得注意的是,密码这一项通常是用一个 * 号代替的,你是看不到的。 |
4.
增加一个组
还记得 Linux 的文件可以为同组的人、非同组的人设置不同的访问权限吗?我们可以根据自己的需要创建用户组:
groupadd 组名
5. 删除一个组
同样的,我们有时会需要删除一个组,它的命令就是 groupdel 组名。
6. 修改组成员
如果我们需要将一个用户加入一个组,只需编辑 /etc/group 文件,将用户名写到组名的后面。例如将 newuser 用户加入到 softdevelop 组,只需找到 softdevelop 这一行:
softdevelop : x : 506 : user1 , user2
然后在后面加上 newuser ,形成:
softdevelop : x : 506 : user1 , user2 , newuser
另外,在 Red Hat Linux 中还提供一个图形化的用户管理工具: userconf ,通过它可以更直接地进行用户管理。
两个重要文件: passwd 与 group
在 linux 的安全机制里, /etc/passwd 与 /etc/group 这两个文件占着非常重要的地位。它们控制着 linux 的用户和组一些重要设置。
◆ /etc/passwd 文件说明 (用于设置用户的属性)
可用 vi /etc/passwd 查看
在 passwd 的文件里,每一行被冒号( " : " )分成 7 个部分,分别是:
[ 用户名 ] : [ 密码 ] : [UID] : [GID] : [ 身份描述 ] : [ 主目录 ] : [ 登录 shell]
其中:
[UID] 虽然是系统用来标志文件归属,确定各种权限的标志,但这个区域的内容并不要求唯一的。比较常见而又与安全问题相关的一个例子是有多个 UID 和 GID 均为 0 的用户帐号。注意到在该文件最后一行还有一个 UID 和 GID 为 0 的用户 imnotroot ,虽然它声称自己不是 root ,但是它却有和 root 完全相同的权限,因为系统并非根据 [ 用户名 ] ,而是根据 UID 和 GID 来分用户的权力的。所以,这种情况无疑为系统埋下了安全的×××。但是,当 imnorroot 做锁定屏幕等操作的时候,如果它的密码和 root 的不一样,它将无法解锁,因为系统只是查到第一个 UID 为 0 的用户(自然是 root )后,就不在往下查找了 —— 它当 UID 也是唯一的。
[GID] 用户默认的组 ID ,这个 ID 可以在文件 /etc/group 里查到对应的组名。
< 注意 > : [UID] 和 [GID] 小于 500 的一般都是系统自己保留,不做普通用户和组的标识的,所以新增加的用户和组一般都是 UID 和 GID 大于 500 的。
还记得 Linux 的文件可以为同组的人、非同组的人设置不同的访问权限吗?我们可以根据自己的需要创建用户组:
groupadd 组名
5. 删除一个组
同样的,我们有时会需要删除一个组,它的命令就是 groupdel 组名。
6. 修改组成员
如果我们需要将一个用户加入一个组,只需编辑 /etc/group 文件,将用户名写到组名的后面。例如将 newuser 用户加入到 softdevelop 组,只需找到 softdevelop 这一行:
softdevelop : x : 506 : user1 , user2
然后在后面加上 newuser ,形成:
softdevelop : x : 506 : user1 , user2 , newuser
另外,在 Red Hat Linux 中还提供一个图形化的用户管理工具: userconf ,通过它可以更直接地进行用户管理。
两个重要文件: passwd 与 group
在 linux 的安全机制里, /etc/passwd 与 /etc/group 这两个文件占着非常重要的地位。它们控制着 linux 的用户和组一些重要设置。
◆ /etc/passwd 文件说明 (用于设置用户的属性)
可用 vi /etc/passwd 查看
在 passwd 的文件里,每一行被冒号( " : " )分成 7 个部分,分别是:
[ 用户名 ] : [ 密码 ] : [UID] : [GID] : [ 身份描述 ] : [ 主目录 ] : [ 登录 shell]
其中:
[UID] 虽然是系统用来标志文件归属,确定各种权限的标志,但这个区域的内容并不要求唯一的。比较常见而又与安全问题相关的一个例子是有多个 UID 和 GID 均为 0 的用户帐号。注意到在该文件最后一行还有一个 UID 和 GID 为 0 的用户 imnotroot ,虽然它声称自己不是 root ,但是它却有和 root 完全相同的权限,因为系统并非根据 [ 用户名 ] ,而是根据 UID 和 GID 来分用户的权力的。所以,这种情况无疑为系统埋下了安全的×××。但是,当 imnorroot 做锁定屏幕等操作的时候,如果它的密码和 root 的不一样,它将无法解锁,因为系统只是查到第一个 UID 为 0 的用户(自然是 root )后,就不在往下查找了 —— 它当 UID 也是唯一的。
[GID] 用户默认的组 ID ,这个 ID 可以在文件 /etc/group 里查到对应的组名。
< 注意 > : [UID] 和 [GID] 小于 500 的一般都是系统自己保留,不做普通用户和组的标识的,所以新增加的用户和组一般都是 UID 和 GID 大于 500 的。
◆
/etc/group
文件说明
vi /etc/group 查看其内容
它总共分四个部分:
[ 组名 ] : [ 密码域 ] : [GID] : [ 组员列表 ]
vi /etc/group 查看其内容
它总共分四个部分:
[ 组名 ] : [ 密码域 ] : [GID] : [ 组员列表 ]
Linux系统使用 /etc/shadow 保存加密了的用户密码,禁止一个帐号最快的方法是修改存储于 /etc/shadow 中的密码,通常一个有效的Linux用户在 /etc/shadow 里都有一行如下的信息:
user:$1$eFd7EIOg$EeCk6XgKktWSUgi2pGUpk.:13852:0:99999:7:::
各个字段以“:”冒号分隔。第二个字段就是用户密码信息了。如果我们把第二项值改成星号*或者感叹号!那么这个帐号也就被禁用了,用户将无法使用这个帐号登录系统:
user: user:*:13852:0:99999:7:::
这里我介绍一种更简单的方式:
sudo passwd -l 用户名
禁用这个帐号,查看 /etc/shadow可以发现 密码这一项前面被添加了一个感叹号。
重新启用这个帐号使用如下命令:
sudo passwd -u 用户名
user:$1$eFd7EIOg$EeCk6XgKktWSUgi2pGUpk.:13852:0:99999:7:::
各个字段以“:”冒号分隔。第二个字段就是用户密码信息了。如果我们把第二项值改成星号*或者感叹号!那么这个帐号也就被禁用了,用户将无法使用这个帐号登录系统:
user: user:*:13852:0:99999:7:::
这里我介绍一种更简单的方式:
sudo passwd -l 用户名
禁用这个帐号,查看 /etc/shadow可以发现 密码这一项前面被添加了一个感叹号。
重新启用这个帐号使用如下命令:
sudo passwd -u 用户名
转载于:https://blog.51cto.com/lin962648/267144