用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。
一、用户和组帐号概述
Linux基于用户身份对资源访问进行控制。
用户帐号:超级用户root、普通用户、程序用户
组帐号:基本组(私有组)、附加组(公共组)
UID和GID:UID(User Identity,用户标识号)、GID(Group Identify,组标识号)
二、用户账号
UID
在Linux系统中存在两种用户:系统用户与普通用户。系统中的每一个用户都有一个ID,就像身份证号一样,它是区分用户的唯一标志。默认的系统用户UID范围(0~499),普通用户的UID范围(500~60000)
Linux的系统用户如:daemon, mail, lp, nobody等。大多数是不能登录的,因为他们的登录shell为/sbin/nologin。
用户账号文件:/etc/passwd
用于保存用户的帐号基本信息
- 字段1:用户帐号的名称
- 字段2:用户密码字串或者密码占位符“x”
- 字段3:用户帐号的UID号
- 字段4:所属基本组帐号的GID号
- 字段5:用户全名或注释
- 字段6:宿主目录
- 字段7:登录Shell信息
用户账号文件:/etc/shadow
用于保存密码字串、密码有效期等信息
- 字段1:用户帐号的名称
- 字段2:加密的密码字串信息
- 字段3:上次修改密码的时间
- 字段4:指的是两次修改口令之间所需的最小天数,0为不作要求
- 字段5:密码的最长有效天数,默认值为99999
- 字段6:提前多少天警告用户口令将过期,默认值为7
- 字段7:在密码过期之后多少天禁用此用户
- 字段8:帐号失效时间,默认值为空
- 字段9:保留字段(未使用)
用户帐号管理
useradd
格式:useradd [选项]… 用户名
常用命令选项
▪ -u:指定 UID 标记号
▪ -d:指定宿主目录,缺省为 /home/用户名
▪ -e:指定帐号失效时间
▪ -g:指定用户的基本组名(或UID号)
▪ -G:指定用户的附加组名(或GID号)
▪ -M:不为用户建立并初始化宿主目录
▪ -s:指定用户的登录Shell
userdel
usermod
用户帐号的初始配置文件
文件来源:新建用户帐号时,从 /etc/skel 目录中复制而来
主要的用户初始配置文件
~/.bash_profile:用户每次登录时执行
~/.bashrc:每次进入新的Bash环境时执行
~/.bash_logout:用户每次退出
设置/更改用户口令
passwd
格式:passwd [选项]… 用户名
常用命令选项
• -d:清空用户的密码,使之无需密码即可登录
• -l:锁定用户帐号
• -S:查看用户帐号的状态(是否被锁定)
• -u:解锁用户帐号
三、组账号
组帐号文件
与用户帐号文件相类似
- /etc/group:保存组帐号基本信息
- /etc/gshadow:保存组帐号的密码信息
组帐号管理
groupadd
groupdel
groupmod
四、手工添加帐号
- 先建立所需要的群组( vi /etc/group )
- 建立账号的各个属性( vi /etc/passwd )
- 将 passwd 与 shadow 同步化 ( /usr/sbin/pwconv )
- 建立该账号的密码 ( passwd acount )
- 建立使用者家目录 ( cp -r /etc/skel /home/acount )
- 更改家目录属性( chown -R acount:group /home/acount)