用户是在 Linux 系统工作中重要的一环,用户管理 包括 用户与 组的管理
在 Linux 系统中, 不论是由本机还是远程登录系统,每个系统都必须拥有一个账号,并且对于不同的系统资源拥有不同的使用权限
在Linux中,可以指定 每一个用户 针对 不同的文件或者目录 的不同权限
对 文件 / 目录 的权限包括:
| 权限 | 英文 | 缩小 | 数字代码 |
|---|---|---|---|
| 读 | read | r | 4 |
| 写 | write | w | 2 |
| 执行 | excute | x | 1 |
| 无权限 | - | 0 |
ls -l 可以查看 文件夹下文件的详细信息,从左到右依次是:

硬链接数的详细介绍:
注意:文件的硬链连接数一般为1,一个目录的子目录数越多,它的硬链接数也就越多

chmod 可以修改 用户 / 组 对 文件 / 目录的权限
命令格式为:chmod +/-rwx 文件名/目录名
注意:如果是 + ,则表示 增加权限;若是 - 号,则表示减少权限
rwx 三个权限可以随意组合

Ubuntu中进入 root 模式:
使用 sudo su 命令,要退出 root 模式可以使用 exit 或者 su user(安装时的用户名)命令

| 命令 | 作用 |
|---|---|
| groupadd 组名 | 添加组 |
| groupdel 组名 | 删除组 |
| cat /etc/group | 确定组信息 |
| chgrp -R 组名 文件/目录名 | 修改文件/目录的所属组 |
注意:
# 添加 dev 组
$ sudo groupadd dev
# 查看组是否添加成功
$ cat /etc/group
# 将 Python学习的目录的组改为 dev
$ sudo chgrp -R dev Python学习/
# 删除 dev组
# sudo groupdel dev

| 命令 | 作用 | 说明 |
|---|---|---|
| useradd -m -g 组名 新建用户名 | 添加新用户 | -m 自动创建用户家目录-g 指定用户所在的组,否则会建立一个和用户名同名的组 |
| passwd 用户名 | 设置用户密码 | 若是普通用户,直接用passwd可以修改自己的账户密码 |
| userdel -r 用户名 | 删除用户 | -r选项会自动删除用户家目录 |
| cat/etc/passed | grep 用户名 | 确认用户信息 | 新建用户后,用户信息会保存在 /etc/passwd文件中 |
注意:
创建用户/删除用户/修改其他用户密码的终端命令都需要使用 sudo 执行
创建用户时,若忘记添加 -m选项指定新用户的家目录,最简单的解决方法就是 删除用户,重新创建
创建用户时,默认会创建一个和 用户名同名的组名
用户信息保存在 /etc/passwd文件中

| 命令 | 作用 |
|---|---|
| id [用户名] | 查看用户 UID 和 GID信息 |
| who | 查看当前所有登录的用户列表 |
| whoami | 查看当前登录用户的账户名 |
/etc/passwd文件存放的是用户信息,由6个分号组成的7个信息,分别是

usermod 可以用来设置 用户的 主组 / 附加组和 登录Shell,
主组:通常在新建用户时指定,在 etc/passwd的第4列 GID 对应的组
附加组:在 etc/passwd中最后一列表示该组的用户列表,用于指定 用户的附加权限
注意:
设置了用户的附加组后,需要 重新登录才能生效
默认使用 useradd添加的用户时没有权限使用sudo 以 root身份执行命令的,可以使用 usermod -G sudo 用户名 命令,将用户添加到sudo附加组中
# 修改用户的主组(passwd 中的 GID)
$ usermod -g 组 用户名
# 修改用户的附加组
$ usermod -G 组 用户名
# 修改用户登录 Shell
$ usermod -s /bin/bash

/etc/passwd用于保存用户信息的文件,不可执行/usr/bin/passwd是用于修改用户密码的程序
| 命令 | 作用 | 说明 |
|---|---|---|
| su - 用户名 | 切换用户,并且切换目录 | - 可以切换大用户家目录,否则保持位置不变 |
| exit | 退出当前登录的账号 |

| 序号 | 命令 | 作用 |
|---|---|---|
| 1 | chown | 修改拥有者 |
| 2 | chgrp | 修改组 |
| 3 | chmod | 修改权限 |
命令格式如下:
# 修改文件/目录的拥有者
$ chown 用户名 文件名/目录
# 递归修改文件 / 目录的组
$ chgrp -R 组名 文件名/目录
# 递归修改文件权限
$ chmod -R 755 文件名/目录
chomd +/- rwx 文件名/目录名可以修改 文件/目录 的 读|写|执行 权限,但是不能精确到 拥有者|组|其他