Fork me on GitHub

Linux用户管理

用户管理文件

文件名说明
/etc/passwd用户账户信息文件
/etc/shadow用户账户密码文件
/etc/group用户所属组信息文件
/etc/gshadow用户组密码文件
/etc/default/useradd创建用户时默认属性定义文件
/etc/skel/创建用户家目录时默认复制的文件夹
/etc/login.defs影子文件配套配置文件
/etc/sudoers授权用户使用sudo命令文件
/etc/shells系统上合法的shell列表

用户账户信息文件详解

[root@localhost ~]# vi /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
news:x:9:13:news:/etc/news:/sbin/nologin
……..

每一行内容存放一个用户的信息,每个用户信息有7部分组成

1
root:x:0:0:root:/root:/bin/bash

root用户名用户登录系统时使用的用户名
x密码密码位
2UID用户标识号
2GID缺省组标识
root注释性描述例如存放用户全名等信息
/root宿主目录用户登录系统后的缺省目录
/bin/bash命令解释器用户使用的Shell ,默认为bash

超级用户:(root UID=0)
普通用户: (UID 500~60000)
伪用户: (UID 1~499)

用户账户密码文件详解

[root@bogon /]# more /etc/shadow
root:$1$5DlBd7m8$tF.az6hWi27oaaFw7OpFs.:15391:0:99999:7:::
bin::15391:0:99999:7:::
daemon:
:15391:0:99999:7:::
adm::15391:0:99999:7:::
lp:
:15391:0:99999:7:::
sync::15391:0:99999:7:::
shutdown:
:15391:0:99999:7:::
halt::15391:0:99999:7:::
mail:
:15391:0:99999:7:::
news::15391:0:99999:7:::
uucp:
:15391:0:99999:7:::
operator::15391:0:99999:7:::
games:
:15391:0:99999:7:::
……………………..

我们还以第一行为例进行分解

root用户名用户登录系统时使用的用户名
$1$5DlBd7m8$tF.az6hWi27oaaFw7OpFs.密码加密密码
15391最后一次修改时间linux这里以1970年1月1日作为1,1971年1月1日就是366,依次类推到我修改密码的日期表示为15391了。
0最短使用期限这个字段代表要经过多久才可以更改密码。如果是“0”表密码可以随时更改。
99999最长使用期限于害怕密码被人盗取而危害到整个系统的安全,所以安排了这个字段,你必须在这个时间内重新修改密码,否则这个帐号将暂时失效。上面的99999,表示密码不需要重新输入,最好设定一段时间修改密码。
7警告时间当帐号的密码失效期限快到时,系统依据这个字段的设定发出警告,提醒用户“再过n天您的密码将过期,请尽快重新设定密码。默认的是七天。
帐号失效期如果用户过了警告期没有重新输入密码,使得密码失效,而该用户在这个字段限定的时间内又没有向管理员反映,让帐号重新启用,那么这个帐号将暂时失效。
帐号取消日期这个日期跟第三个字段一样,都是使用1970年以来的日期设定方法。这个字段表示:这个帐号在此字段规定的日期之后将无法再使用。这个字段通常用于收费服务系统中,可以规定一个日期让该帐号不能再使用。
保留最后一个字段是保留的,看以后有没有新功能加入。

用户管理命令

用户管理相关命令

useradd: 创建新用户或更新默认用户的账户信息
userdel: 删除用户账号及其相关的文件
usermod: 修改一个用户的账户信息
id: 显示用户的ID,以及所属群组的ID
w: 显示谁登陆了系统,并且他们在做什么
who: 显示哪些用户登陆了系统
whoami:  显示当前用户的有效用户名
su: 切换当前用户身份到其他用户身份
chsh: 改变登陆shell
chfn: 改变finger指令显示的信息
finger: 用户信息查找程序
pwck: 验证系统认证文件/etc/passwd和/etc/shadow内容和格式的完整性

su [用户名]    切换用户(su- 环境变量切换)
su - [用户名]    切换的时候也会把环境的时候也会切换环境变量

用户组管理相关命令

groupadd: 创建一个新组
groupdel: 删除一个组
groupmod: 修改组信息
gpasswd: 管理/etc/group文件
newgrp: 登陆到一个新组
groups: 显示一个用户所在的组

用户密码管理相关命令

passwd: 更新账户的密码相关信息
chage: 修改用户账号和密码的有效期限
坚持原创技术分享,您的支持将鼓励我继续创作!