Linux运行模式
Linux是一个多用户多任务的操作系统
用户账户是用户的身份识别,用户通过用户账户可以登录到系统,并且访问已经被授权的资源,使每个用户的工作都能各自独立不受干扰。
Linux系统下的账户:
- 普通用户账户
- 超级用户账户(根用户、管理员用户)
1、组 是具有相同特性的用户的逻辑集合,组织和管理用户,提高工作效率
2、组 获得资源权限自动分配给组中账户
3、一个用户账户至少有一个组,若是有多个组,则有一个是主组,其他为附属组
名称 | 作用 |
---|---|
用户名 | 标识用户名称 |
密码 | 验证用户身份 |
用户标识UID | 用户的数字标识 |
用户主目录 | 私人目录,登录默认目录 |
登录shell | 默认使用shell目录 |
组 | 所属的属性所在总集合 |
组标识GID | 组群的数字标识 |
用户标识UID:唯一。root用户的UID为0,可以指定,可以默认
- 用户账户文件
/etc/password文件:用户账户信息
/etc/shadow文件:用户口令 - 组文件
/etc/group文件:组账户信息
/etc/gshadow文件:组口令、管理员等管理信息 - /etc/login.defs文件
设置账户用户的某些选项
用户
新建用户
useradd、adduser命令
sudo useradd [选项] username
选项 | 注释 | 作用 |
---|---|---|
-c | comment | 用户的注释性信息 |
-d | home_dir | 指定用户的主目录 |
-e | expire_date | 禁用账号日期:YYYY-MM-DD |
-f | inactive_days | 账户过期多少天后,用户账户被禁用 |
-u | UID | 用户的UID |
-g | initial_group | 组名称和GID |
-G | group_list | 附属组列表 |
-m | 主目录不存在则创建 | |
-M | 不要创建用户主目录 | |
-n | 不要为用户创建用户私人组 | |
-p | passwd加密口令 | |
-r | 无主目录的系统账号(UID<500) | |
-s | shell | 登录shell,默认/bin/bash |
题目:新建用户user1,UID为1010,指定其所属的私有组为test(组标识为1001),用户主目录为/home/user1,用户的shell为/bin/bash,用户密码为123456,账户永不过期
- tail -1 /etc/passwd
- tail -1 /etc/group
- sudo useradd -u 1010 -g 1001 -d /home/user1 -s bin/bash -p 123456 -f -1 user1
passwd命令
passwd [选项] <用户名>
选项 | 作用 |
---|---|
-l | 锁定用户账户 |
-u | 口令锁定 |
-d | 用户口令为空 |
-f | 强迫用户下次登录必须修改口令 |
-n | 指定口令的最短存活时间 |
-x | 指定口令的最长存活时间 |
-w | 口令到期警告天数 |
-l | 口令过期多久停用 |
-S | 简短的状态信息 |
change命令
change [选项] username
修改密码时效:change <用户名>
选项 | 作用 |
---|---|
-l | 列出账户口令属性对的各个数值 |
-m | 指定口令最短存活期 |
-M | 指定口令最长存活期 |
-W | 到期前提醒天数 |
-I | 口令过期后多久停用 |
-E | 到期作废时间 |
-d | 口令上一次修改时间 |
禁用和恢复账户
Passwd命令
禁用账户
sudo passwd -l username
查看
sudo tail -1 /etc/shadow
恢复
sudo passwd -u username
Usermod命令
禁用账户
sudo usermod -L
查看
sudo tail -1 /etc/shadow
恢复
sudo usermod -U
直接修改配置文件
可将/etc/passwd文件和/etc/shadow文件关于user1账户的passwd域的第一个字符前加上一个*,达到禁用目的,恢复即删除*
删除用户账户
直接编辑文件
userdel命令
userdel [-r] username
组
维护组账户
- 创建组
groupadd、addgroup - 修改组:
groupmod [选项]
-n 改名称
-g 改gid - 删除组
groupdel
为组添加用户
- gpasswd命令
gpasswd [选项] [用户] [组]
-a 把用户加入组
-d 把用户从组删除
-r 取消组的密码
-A 给组指派管理员
logout 注销管理员登录
配套练习
子项目1.用户的管理
● 创建一个新用户user01,设置其主目录为/home/user01。
● 查看/etc/passwd文件的最后一行,看看是如何记录的。
● 查看文件/etc/shadow文件的最后一行,看看是如何记录的。
● 给用户user01设置密码。
● 再次查看文件/etc/shadow文件的最后一行,看看有什么变化。
● 使用user01用户登录系统,看能否登录成功。。
● 锁定用户user01。
● 查看文件/etc/shadow文件的最后一行,看看有什么变化。
● 再次使用user01用户登录系统,看能否登录成功。
● 解除对用户user01的锁定:
● 更改用户user01的帐户名为user02:。
● 查看/etc/passwd文件的最后一行,看看有什么变化。
● 删除用户user02。
参考答案
useradd –d /home/user01 -m user01
tail -l /etc/passwd
tail -l /etc/shadow
passswd user01
tail -l /etc/shadow
(自行登录,能成功)
passwd -l user01
tail -l /etc/shadow
(自行登录,不能成功,Login incorrect)
passwd -u user01
usermod –l user02 user01
tail -l /etc/passwd
userdel user02
子项目2.组的管理
● 创建一个新组,stuff:。
● 查看/etc/group文件的最后一行,看看是如何设置的。
● 创建一个新帐户user02,并把他的起始组和附属组都设为stuff。
● 查看/etc/group文件中的最后一行,看看有什么变化。
● 给组stuff设置组密码。
● 在组stuff中删除用户user02。
● 再次查看/etc/group文件中的最后一行,看看有什么变化。
● 删除组stuff。
参考答案
groupadd stuff
tail -l /etc/group
useradd –g stuff –G stuff user02
tail -l /etc/group
gpasswd stuff
gpasswd –d user02 stuff
tail -l /etc/group
groupdel stuff