Skip to content

用户及其权限管理

在 Linux 中正确配置用户与文件权限,能够提升系统安全性。

用户管理

创建新用户

一般地,大部分发行版在安装完成后,会为你自动创建好一个新用户,但如果你需要创建一个新用户,可以使用 useradd 进行创建。

格式:

useradd [参数] 用户名

useradd 命令的参数如下:

参数描述默认值
-d指定用户主目录/home/用户名
-g指定用户所属组用户名本身
-m如果没有家目录,自动创建用户主目录-
-s指定用户登录shell因发行版而异

例如创建一个名为 linux 的用户,将 /home/linux 用户主目录,并使用 /bin/bash 作为用户登录shell。

bash
useradd -md /home/linux -s /bin/bash linux

创建完成后,可以使用 passwd + 用户名 命令设置密码。

管理用户

系统中记录用户信息的文件位于 /etc/passwd,每行都会代表一个用户,其中不少为系统内部用户,不建议对此类用户进行操作。

文件内一行内容如下:

bash
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

bash
usermod -d /home/linuxos/ -s /bin/sh linux

删除用户

使用 userdel 命令删除用户。

bash
userdel 用户名

或使用 userdel -r 命令删除用户,并删除用户主目录。

用户组

使用以下命令添加用户组:

bash
groupadd name

查询用户所在的组:

bash
groups username

例如以下输出:

bash
fovlin : fovlin wheel

表示用户 fovlin 的主组是 fovlin,其附属组为 wheel

要更改用户所在组,使用 usermod -G groupname username 来更改用户的附属组,使用 usermod -g groupname username 来更改用户的主组。

更改文件所有者

使用 chown 可以改变文件权限,用法如下:

bash
chown [选项] 用户名:用户组 文件名

例如将文件 script.sh 所有者改为 fovlin 执行以下命令:

bash
sudo chown fovlin:fovlin script.sh

并非文件所有者,需要超级管理员权限进行操作。

例如将目录 docs 的所有者递归改为 fovlin,执行以下命令:

bash
sudo chown -R fovlin:fovlin docs