用户及其权限管理
在 Linux 中正确配置用户与文件权限,能够提升系统安全性。
用户管理
创建新用户
一般地,大部分发行版在安装完成后,会为你自动创建好一个新用户,但如果你需要创建一个新用户,可以使用 useradd 进行创建。
格式:
useradd [参数] 用户名useradd 命令的参数如下:
| 参数 | 描述 | 默认值 |
|---|---|---|
| -d | 指定用户主目录 | /home/用户名 |
| -g | 指定用户所属组 | 用户名本身 |
| -m | 如果没有家目录,自动创建用户主目录 | - |
| -s | 指定用户登录shell | 因发行版而异 |
例如创建一个名为 linux 的用户,将 /home/linux 用户主目录,并使用 /bin/bash 作为用户登录shell。
useradd -md /home/linux -s /bin/bash linux创建完成后,可以使用 passwd + 用户名 命令设置密码。
管理用户
系统中记录用户信息的文件位于 /etc/passwd,每行都会代表一个用户,其中不少为系统内部用户,不建议对此类用户进行操作。
文件内一行内容如下:
fovlin:x:1000:1000:user:/home/fovlin:/bin/bash用户名 密码(不存处于此) 用户ID:UID 用户组ID:GID 描述信息 家目录位置 用户默认 Shell
使用 usermod 命令对用户进行管理。
格式:
usermod [参数] 用户名usermod 命令的参数如下:
| 参数 | 描述 |
|---|---|
| -d | 修改用户主目录 |
| -g | 修改用户所属组 |
| -G | 修改用户的附属组 |
| -s | 修改用户shell |
例如将用户 linux 的主目录修改为 /home/linuxos/,并修改用户 linux 的登录shell为 /bin/sh。
usermod -d /home/linuxos/ -s /bin/sh linux删除用户
使用 userdel 命令删除用户。
userdel 用户名或使用 userdel -r 命令删除用户,并删除用户主目录。
用户组
使用以下命令添加用户组:
groupadd name查询用户所在的组:
groups username例如以下输出:
fovlin : fovlin wheel表示用户 fovlin 的主组是 fovlin,其附属组为 wheel。
要更改用户所在组,使用 usermod -G groupname username 来更改用户的附属组,使用 usermod -g groupname username 来更改用户的主组。
更改文件所有者
使用 chown 可以改变文件权限,用法如下:
chown [选项] 用户名:用户组 文件名例如将文件 script.sh 所有者改为 fovlin 执行以下命令:
sudo chown fovlin:fovlin script.sh并非文件所有者,需要超级管理员权限进行操作。
例如将目录 docs 的所有者递归改为 fovlin,执行以下命令:
sudo chown -R fovlin:fovlin docs