目录
前言
银河麒麟高级服务器操作系统是一个多用户多任务的操作系统,可以在同一时间提供给很多人使用;而且每一个用户同时间又可以执行多项工作。为了避免不合法的用户滥用系统资源,可以通过对登陆账号进行管理,如辨识身份、赋予不同权限等。
一、用户和组概述
用户账号:用来储存单一用户的数据,你可以使用一个用户账号,来储存某一个用户的数据
依照账号的位置分类 :
-本地账号
-网域账号
依照账号的功能分类:
-超级用户
-普通用户【系统用户、真实用户】
组账号:用来储存多个用户的信息,每一个群组账号可以用来记录一组用户的数据。
依据组账号的功能分类:
-超级用户群组
-系统群组
-用户自定义组【用户自定义组,用户私有群组】
二、用户账号管理
(1)查看用户
/etc/passwd文件-存储本机用户信息
每一行代表一个用户的账号数据,每一行又使用冒号(:)分隔为几个部分 USERNAME:PASSWORD:UID:GID:COMMENT:HOMEDIR:SHELL
- USERNAME: 用户识别名称,也是登录的名称
- PASSWORD: 密码位,用于存储用户的密码,为了安全起见,密码放在另一个文件中,这里统一用x
- UID: 用户识别号,0表示为管理员,非0为普通用户
- GID: 组识别号,用来识别用户组的身份,同样0为管理员组,非0为系统群组或者自定义组
- COMMENT: 描述信息
- HOMEDIR: 家目录位置
- SHELL: shell类型
(2)创建用户
useradd [选项]用户名
(3)修改用户属性
usermod [选项]用户名
- -c, --comment COMMENT
- 修改用户的注释信息(全名或描述)。
- 示例:
usermod -c "New Comment" username
- -d, --home HOME_DIR
- 指定用户的新家目录。
- 如果与
-m
一起使用,并且新家目录不存在,则创建它。 - 示例:
usermod -d /home/new_home username
- -e, --expiredate EXPIRE_DATE
- 设置账户的过期日期(YYYY-MM-DD格式)。
- 示例:
usermod -e 2024-12-31 username
- -f, --inactive INACTIVE
- 设置密码过期后账户被禁用的天数。
- 示例:
usermod -f 7 username
(密码过期后7天内禁用账户)
- -g, --gid GROUP
- 修改用户所属的主用户组。
- 可以是组名或GID。
- 示例:
usermod -g new_group username
- -G, --groups GROUPS
- 修改用户所属的附加组。
- 可以指定多个组,用逗号分隔。
- 示例:
usermod -G group1,group2 username
- -l, --login NEW_LOGIN
- 修改用户的登录名。
- 示例:
usermod -l new_login username
- -L, --lock
- 锁定用户账户,禁止用户登录。
- 示例:
usermod -L username
- -m, --move-home
- 与
-d
一起使用时,移动用户家目录到新位置。 - 如果新家目录不存在,则创建它。
- 与
- -s, --shell SHELL
- 修改用户的登录Shell。
- 示例:
usermod -s /bin/bash username
- -u, --uid UID
- 修改用户的UID(用户ID)。
- 示例:
usermod -u 1001 username
- -U, --unlock
- 解锁之前被锁定的用户账户。
- 示例:
usermod -U username
(4)删除用户
userdel [选项]用户名
- -f, --force
- 强制删除用户账户,即使用户账户当前正在登录或有正在运行的进程。
- 示例:
userdel -f username
- -r, --remove
- 在删除用户的同时,删除与用户相关的所有文件,这通常包括用户的家目录(默认为
/home/用户名
)和邮件存储目录(默认为/var/spool/mail/用户名
)。 - 警告:使用此选项将删除用户的所有文件和目录,因此在执行之前请确保已备份重要数据。
- 示例:
userdel -r username
- 在删除用户的同时,删除与用户相关的所有文件,这通常包括用户的家目录(默认为
三、群组账号管理
(1)查看群组账号
/etc/group文件-存储本群组账号信息
本地群组账号默认存储在/etc/group文件中,用户可以通过查看该文件了解群组用户的信息。该文件和/etc/passwd文件类似,每行表示一个群组账号,每行有4个字段,用(:)分割每个字段。 GROUPNAME:PASSWORD:GID:USER_LIST
- GROUPNAME:组名称
- PASSWORD:组密码
- GID:组ID
- USER_LIET:组成员列表
(2)创建群组账号
groupadd命令-创建群组账号
(3)修改群组账号属性
groupmod命令-修改群组账号属性
(4)删除群组账号
groupdel命令-删除群组账号
使用groupdel命令删除群组之前,要确保该组中没有组成员,否则无法删除。
四、用户/组密码管理命令
(1)用户密码管理命令-passwd
(2)组密码管理命令-gpasswd
(3)/etc/shadow文件
隐藏密码、扩充密码的功能、提供账号管理工具
USERNAME:PASSWORD:LAST_CHANGED:MIN_DAYS:MAX_DAYS:WARNNING:EXPIRES:INVALID:RESERVED
- USERNAME:用户账号名称。
- PASSWORD:加密后的密码。
- LAST_CHANGED:密码最后一次修改的日期。
- MIN_DAYS:(与第 3 字段相比)这个账号的密码在最近一次被更改后需要经过几天才可以再被变更!如果是 0 的话, 表示密码随时可以更动的意思。这的限制是为了怕密码被某些人一改再改而设计的!如果设定为 20 天的话,那么当你设定了密码之后, 20 天之内都无法改变这个密码!
- MAX_DAYS:(与第 3 字段相比)为了强制要求用户变更密码,这个字段可以指定在最近一次更改密码后, 在多少天数内需要再次的变更密码才行。你必须要在这个天数内重新设定你的密码,否则这个账号的密码将会『变为过期特性』。
- WARNNING:(与第 5 字段相比)当账号的密码有效期限快要到的时候 (第 5 字段),系统会依据这个字段的设定,发出『警告』给这个账号,提醒他『再过 n 天你的密码就要过期了,请尽快重新设定你的密码!』
- EXPIRES:密码过期的日期,与第 5 字段相比,密码有效日期为『更新日期(第3字段)』+『重新变更日期(第5字段)』,过了该期限后用户依旧没有更新密码,那该密码就算过期了。 虽然密码过期但是该账号还是可以用来进行其他工作的,包括登入系统取得 bash 。不过如果密码过期了, 那当你登入系统时,系统会强制要求你必须要重新设定密码才能登入继续使用,这就是密码过期特性。
- INVALID: 账号失效日期,这个账号在此字段规定的日期之后,将无法再使用。不论你的密码是否有过期,这个『账号』都不能再被使用!
- RESERVED:保留位,未定义功能
(4)密码属性管理-chage命令
(5)/etc/gshadow文件
GROUPNAME:PASSWORD:ADMINISTRATORS:MEMBERS
- GROUPNAME: 组名
- PASSWORD: 组密码
- ADMINISTRATORS: 组长
- MEMBERS: 组成员
(6)图形界面管理用户与群组账号
图形界面工具