##账户和工作组的分类### 一、用户分类1. 超级账户 -账户名:root - 权限:具有一切权限 - 使用建议:仅在系统维护或必要情况下使用,以避免安全问题。
系统账户 -说明:Linux系统正常工作所必需的账户,主要满足系统进程对文件属主的要求。 - 示例:bin、daemon、adm、sshd等。 - 注意:系统账户不能直接登录。
普通用户 -目的:让使用者能够使用Linux系统资源。 - 数量:大多数用户属于此类。
二、工作组分类1. 基本组(私有组) -说明:新建立账户时,如未指定工作组,系统会自动创建与账户名相同的组。
扩展组(公有组) -说明:可以容纳多个用户,组内账户共享组的权限。
三、账户和工作组的配置文件| 文件功能 | 文件名称 |
| ------------------ | -------------------- |
| 用户账号文件 | /etc/passwd |
| 用户密码文件 | /etc/shadow |
| 工作组账号文件 | /etc/group |
| 工作组密码文件 | /etc/gshadow |
####1. 用户账号文件 /etc/passwd
简介:定义系统的账号。由于所有账户对该文件具有读权限,仅保存账号信息,不保存密码。
bash [root@server ~]# ll /etc/passwd -rw-r--r--.1 root root20834月2614:39 /etc/passwd [root@server ~]# head -1 /etc/passwd root:x:0:0:root:/root:/bin/bash
字段说明:由7个字段组成,字段使用“:”分隔。
1.账号名2. 密码占位符(x或*,x表示密码经过shadow保护)
UID:唯一标识账户 - root账户 UID:0
系统账户 UID:1~999
普通账户 UID:≥1000
GID:基本组ID5.个人资料:可记录完整姓名、地址等个人信息6. 家目录:通常是/home/账户名
Shell:用户登录后使用的Shell,默认是Bash Shell- 命令示例:
####2. 用户密码文件 /etc/shadow
简介:存储加密后的密码信息,保障账户密码安全,只有root账户具有读权限。
字段说明:每行包含9个字段。
登录名 - 加密口令 - 最后修改时间 - 最小时间间隔 - 最大时间间隔 - 警告时间 - 不活动时间 -失效时间 - 标志####3. 工作组账号文件 /etc/group
简介:存储工作组的信息。
、用户管理### 一、添加新用户#### 格式bashuseradd -参数账户名
常用参数- -c 注释信息:设置相关的说明信息,如真实姓名、邮箱地址等。
-d目录:设定账户的家目录(默认为 /home/用户名)。
-e YYYY-MM-DD:设置用户的失效日期,此日期后将不能使用该账号。
-f 天数:指定密码到期后多少天账号被禁用,0表示立即禁用,-1表示密码永不过期。
-g组名或GID号:为账户指定所属的基本组,基本组必须已存在。
-G组名或GID号列表:为账户指定所属的扩展组,各组必须已存在,组之间用“,”分隔。
-M:不创建账户的家目录。
-N:不创建与账户名相同的基本组。
-p 密码:指定账户的登录密码。
-s shell名:指定账户登录后使用的Shell,默认是 bash。
-u 用户号:设置账号的 UID,默认值是已有账户的最大 UID 加1。使用 -o选项可以重复使用其他用户的 UID。
示例1. 新建账户 test1,查看对应配置文件和家目录
bash [root@server ~]# useradd test1 [root@server ~]# tail -1 /etc/passwd test1:x:1001:1001::/home/test1:/bin/bash [root@server ~]# tail -1 /etc/shadow test1:!!:19483:0:99999:7::: # 注意:!!表示密码尚未设置 [root@server ~]# ls -ld /home/test1 drwx------.3 test1 test1785月613:55 /home/test1 [root@server ~]# ls -A /home/test1 .bash_logout .bash_profile .bashrc .mozilla
新建账户 test2,指定 UID 为2001、登录 Shell 为 /bin/bash,账号永不过期
bash [root@server ~]# useradd -u2001 -s /bin/bash -e -1 test2
新建用于访问 FTP 的 test3账户,禁止其登录且不创建家目录
bash [root@server ~]# useradd -M -s /sbin/nologin test3
新建账户 test4,UID=3001,工作组为 test1,家目录为 /test
bash [root@server ~]# useradd test4 -u3001 -g test1 -d /test
二、修改账户信息#### 格式bashusermod -参数账户名
常用参数与 useradd 相似,常用参数包括:
-c、-d、-g、-G、-s、-u 等。
-l 新账户名:更改账户的名称,必须在该用户未登录的情况下使用。
-L:锁定(暂停)用户账户,禁止其登录。
-U:解锁用户账户。
示例1. 将用户 test1 的名称修改为 TEST1,并暂停使用该账号
bash [root@server ~]# usermod -l TEST1 -L test1
将账户 test4 的家目录移至 /home/test4目录下
bash [root@server ~]# mkdir /home/test4 [root@server ~]# usermod -d /home/test4 test4 [root@server ~]# tail -1 /etc/passwd test4:x:3001:1001::/home/test4:/bin/bash