Linux云用户,Linux 用户与权限

Linux运维与DevOps实战-实验5

一、用户概念

1. 用户与用户组

用户

用户组

用户与用户组联系

一对一

一对多

多对一

多对多

2. 相关配置文件

2.1 用户信息文件(/etc/passwd)

用户信息是被保存在 /etc/passwd 文件中,可以通过 cat /etc/passwd 来查看文件的内容:

$ cat /etc/passwd

用户名:密码占位符(x 表示用户需要密码登录):用户标识号(UID):组标识号(GID):注释性描述:主目录:登录的 shell

2.2 密码文件(/etc/shadow)

用户信息文件中的密码信息是被单独保存在 /etc/shadow 文件中,文件格式和用户信息类似,通过 cat /etc/shadow 命令来查看:

$ sudo cat /etc/shadow

用户名:加密口令:最后一次修改时间:密码最短有效天数:密码最长有效天数:密码过期前的警告时间:不活动时间:用户失效时间:暂时保留未使用

2.3 用户组文件(/etc/group)

Linux 系统对用户组的所有信息被保留在 /etc/group 文件中, 同样通过 cat /etc/group 命令来查看。

$ cat /etc/group

组名:口令:组标识号(GID):组内用户列表(多用户可用逗号分隔开)

二、用户管理

1.创建用户

添加新的用户账号是通过 useradd 命令。此外 adduser 命令也可以用于添加用户,掌握前者就已经足够。

1.1 语法

useradd [选项] [用户名]

1.2 选项说明

选项

说明

-c

comment,指定一段注释性描述

-d

目录,指定用户主目录或者说家目录;如果此目录不存在,则同时使用 -m 选项来创建主目录

-g

用户组,指定用户所属的用户组

-G

用户组,指定用户所属的附加组

-s

Shell 文件,指定用户的登录 shell

-u

用户号,指定用户的用户号,若有 -o 选项,则可以重复使用其它用户的标识号

1.3 举例

eg 1:新建一个用户 loulou,并设置某些属性值,然后查看 /etc/passwd 中相应的内容:

# 添加用户,指定 `shell`

$ sudo useradd -s /bin/bash loulou

# 设置密码

$ sudo passwd loulou

# 查看 /etc/passwd 文件最后 10 行

$ sudo tail /etc/passwd

# 查看文件的最后一行

$ sudo tail -1 /etc/passwd

eg 2:锁定用户密码和解除密码锁定:

$ sudo passwd -l loulou

# 锁定 loulou 用户密码

$ su loulou

$ sudo passwd -u loulou

# 解除锁定 loulou 用户密码

$ su loulou

exit

eg 3:清除用户密码:

$ sudo passwd -S loulou

# 查看 loulou 用户密码状态

$ sudo passwd -d loulou

# 清除 loulou 用户密码

$ sudo passwd -S loulou

# 再次查看 loulou 用户密码状态

2. 修改用户

通常情况下,可以通过 usermod 来修改已经存在用户信息:

2.1 语法

usermod [选项] [用户名]

常用选项包括 -c、-d、-m、-g、-G、-s、-u、-o 等,选项用法与 useradd 相同。

这里额外介绍一个 -a 参数,该参数可以给用户添加一个新的附加组。

2.2 举例

eg 1:使用选项 -c,修改用户 loulou 的备注信息:

$ sudo usermod -c "shiyanlou" loulou

# 修改 loulou 用户的备注信息

$ tail /etc/passwd

# 查看密码文件

3. 删除用户

从系统中删除一个不再使用的用户,可以通过 userdel 命令实现。如果一个用户的账号不再使用,删除用户账号就要把 /etc/passwd 等系统文件中的该用户记录都删除,必要时还要删除用户的主目录。

3.1语法

userdel [选项] [用户名]

选项 -r 用于把用户的主目录一起删除。

3.2 举例

eg 1:先用 useradd 新建一个用户 louplus,然后再删除:

$ sudo useradd louplus

# 新建 louplus 用户

$ tail -3 /etc/passwd

# 查看密码文件

$ sudo userdel louplus

# 删除 louplus 用户

$ tail -3 /etc/passwd

# 查看密码文件

4. 查看用户

在 Linux 终端里,我们先来查看一下 /etc/passwd 文件。第三个参数为 5000 以上的就是我们后来建立的用户,其它的是系统用户:

$ cat /etc/passwd

也可以通过下面这些命令来查看用户的信息。

4.1 查看当前用户

$ w

4.2 查看主机上的用户

$ who

$ whoami

# 查看当前登录的用户

查看登录记录:

$ lastlog

4.3 查看用户 ID 和组信息

$ id

5. 用户批量创建

使用 newusers + chpasswd 来批量添加用户。

5.1 首先创建用户文件和密码文件

# 创建用户文件

$ touch userfile.txt

# 创建密码文件

$ touch userpwdfile.txt

5.2 newusers 批量添加用户

使用 newusers 命令批量添加用户:

# 添加用户

$ sudo newusers < userfile.txt

# 可以从文件中查看到新添加的用户

$ tail -5 /etc/passwd

5.3 关闭影子文件

# 关闭影子文件

$ sudo pwunconv

5.4 用 chpasswd 批量修改密码

# 批量修改密码

$ sudo chpasswd < userpwdfile.txt

5.5 恢复影子文件

# 恢复影子文件

$ sudo pwconv

# 倒序输出 5 条影子文件记录

$ sudo tail -5 /etc/shadow

三、管理用户组

用户组的管理和用户的管理相类似,主要包括:用户组的添加、删除和修改以及用户组间切换的权限。其中用户组的增删改实际上就是对 /etc/group 文件的处理。

1. 新增用户组

增加一个新的用户组调用 groupadd 命令。

1.1 语法

groupadd [选项] [用户组]

1.2 选项说明

选项

说明

-g

指定新用户组的组标识号(GID),该参数指定的值必须唯一

-o

与 -g 同时使用,允许用户组的新 GID 和系统已有用户组的相同

1.3 举例

eg:创建一个用户组test,并且组标识号为 1024,然后查看组信息:

# 创建test组,组标识为 1024

$ sudo groupadd -g 1024 test

# 在 /etc/group 中检索test

$ sudo grep test /etc/group

grep 是一个检索命令,检索指定的字符串是否在文件中出现,有则打印出来,后续章节会详细讲解。

2. 修改用户组

通常使用 groupmod 命令修改用户组的属性。

2.1 语法

groupmod [选项] [用户组]

2.2 选项说明

选项

说明

-g

为用户组指定一个新的组标识号

-o

与 -g 同时使用时,允许将组 GID 更改为非唯一值

-n

将用户组的名字修改为新的名字

2.3 举例

eg 1:

# 修改用户组 `test` 的用户组名为 `test1`

$ sudo groupmod -n test1 test

eg 2:

# 修改用户组 test1 的 GID

$ sudo groupmod -g 1023 test1

# 并查看用户组信息

$ sudo grep test1 /etc/group

3. 删除用户组

使用 groupdel 命令把一个用户组从系统中删除。

3.1 语法

groupdel 用户组

3.2 举例

eg:

# 删除用户组 test1

$ sudo groupdel test1

4. 用户的禁用和恢复登录登录

若一个用户在操作过程中存在违法行为或长时间未曾登录,可以对其进行用户的锁定。

4.1语法

禁用:

$ usermod -L username

$ passwd -l username

恢复:

$ usermod -U username

$ passwd -u username

4.2 举例

eg 1:

# 禁止用户 loulou 登录

$ sudo passwd -l loulou

# 然后再恢复

$ sudo passwd -u loulou

禁用原理

$ sudo grep loulou /etc/shadow

$ sudo passwd -l loulou

$ sudo grep loulou /etc/shadow

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值