- 用户账号和组账号概述
1.用户账户
Ø超级用户:root用户是Linux操作系统中默认的超级用户账号,对本主机拥有最高的权限。系统中超级用户是唯一的。
Ø普通用户:由root用户或其他管理员用户创建,拥有的权限会受到限制,一般只在用户自己的宿主目录中拥有完整权限。
Ø程序用户:在安装Linux操作系统及部分应用程序时,会添加一些特定的低权限用户账号,这些用户一般不允许登录到系统,仅用于维持系统或某个程序的正常运行,如bin、 daemon、ftp、mail等
- 组账号
- 基本组(私有组):基本组账号只有一个,一般为创建用户时指定的组。
- 附加组(公共组):除了基本组以外,额外添加指定的组
3.uid和gid
UID(User IDentity, 用户表示号)
GID(Group IDentify) 组标识号)
root:用户账号的 UID 和GID 号固定值是 0
程序用户账号的UID 和GID 号默认为1~499
普通用户的 UID和 GID 号默认为500 ~60000
- 用户账户管理
1.用户账户文件
- /etc/passwd存储用户信息的文件
- /etc/shadow存储用户密码信息的文件
- 添加、修改、删除用户账号
useradd命令用于添加用户账号,其基本的命令格式如下
useradd [选项]用户名
常见选项
- -u:指定用户的 UID,要求该 UID 未被其他用户使用
- -d:指定用户的宿主目录位置(当与“-M”选项一起使用时,不生效)。
- -e:指定用户的账户失效时间,可使用 YYYY-MM-DD 的日期格式
- -g:指定用户的基本组名(或使用 GID)
- -G指定用户的附加组名(或使用 GID)。-G:
- -M:不建立宿主目录,即使/etc/login.defs 系统配置中已设定要建立宿主目录
- -s:指定用户的登录 Shell。
上述各选项可以组合使用,可以创建一个辅助管理员账号,其格式为
Useradd -d /(宿主目录)-g 基本组 -G 附加组 账号名
在账号管理工作中,有时候会希望在新建账号的同时指定该账号的有效期限,或者要求新建的号不能登录系统,其命令格式为
useradd -e YYYY-MM-DD -s /sbin/nologin 用户名
修改用户密码命令为 passwd 用户名
Passwd还有加选项其他功能
- -d:清空指定用户的密码,仅使用用户名即可登录系统。
- -l:锁定用户账号。
- -S:查看用户账号的状态(是否被锁定)。
- -u:解锁用户账号。
通过“passwd”命令锁定的用户账号,将无法再登录系统(在shadow 文件中的对应密码字符串前将添加“!!”字符),只能由管理员来解除锁定
对于操作系统中已经存在的用户账号,可以使用usermod命令重新设置各种属性。usermod命令同样需要指定账号名称作为参数。
- -u:修改用户的 UID。
- -d;修改用户的宿主目录位置
- -e:修改用户的账户失效时间,可使用YYYY-MM-DD 的日期格式
- -g:修改用户的基本组名(或使用 GID)。
- -G:修改用户的附加组名(或使用 GID)。
- -s:指定用户的登录 Shell
- -l:更改用户账号的登录名称(Login Name)。
- -L:锁定用户账户。
- -U:解锁用户账号
使用userdel -r 用户名 可删除用户ls -ld /home/用户名 可以确认宿主目录是否已删除
- 组账号管理
- 组账号文件
与组账号相关的配置文件也有两个,分别是/etc/group:保存组账号基本信息
/etc/gshadow:保存组账号的密码信息。
执行以下命令可分别获知 root 组包括哪些用户成员、哪些组中包含 root 用户
Grep "^root" /etc/group检索 root 组包括哪些用户
grep "root" /etc/group检索哪些组包括root用户
- 添加、管理、删除组账号
使用groupadd命令可以添加一个组账号,需要指定 GID 时,可以使用-g选项。例如,执groupadd class01命令可以添加一个名为 class01的组账号。使用tail -1 /etc/group 查看该账户gid
- gpasswd”命令添加、设置、删除组成员
gpasswd”命令原本用于设置组账号的密码,但是该功能极少被使用,实际上该命令更多地被用来管理组账号的用户成员。需要添加、删除成员用户时,可以分别使用“-a”和“-d”选项,,一般都不删除组账号和成员
- 查询账号信息
1.groups命令在标准输入输出上输出指定用户所在组的组成员,每个用户属于/etc/passwd中指定的一个组和在/etc/group中指定的其他组。
- 使用“id”命令可以快速查看指定用户账号的 UID、GID 等标识信息。
- 使用“finger”命令可以查询指定的用户账号的登录属性等详细信息,包括登录名称、完整名称宿主目录、登录 Shell 等。
- 管理目录和文件属性
- 查看目录和文件属性
使用带“-l”选项的“ls”命令时,将以长格式显示文件或目录的详细信息,其中包括该文件的限和归属等参数。例如,执行以下命令可以列出/etc 目录和/etc/passwd 文件的详细属性。
使用“chmod”命令可以设置文件或目录的权限,基本的命令格式如下
chmod [ugoa...][+-=][rwx]文件或目录...