从零入门Linux(四)用户与权限管理

在 Linux 系统中,用户和权限管理是系统安全的重要组成部分。通过合理配置用户和权限,可以确保系统的安全性和资源的合理分配。以下是一些与用户和权限管理相关的常用命令和概念。

1. 用户管理

1.1 添加用户

使用 useradd 命令可以添加新用户:

sudo useradd username

1.2 设置用户密码

使用 passwd 命令可以为用户设置密码:

sudo passwd username

1.3 修改用户属性

使用 usermod 命令可以修改用户的属性:

sudo usermod -l new_username old_username  # 修改用户名
sudo usermod -d /new/home/directory username  # 修改用户的家目录
sudo usermod -aG groupname username  # 将用户添加到附加组

1.4 删除用户

使用 userdel 命令可以删除用户:

sudo userdel username  # 删除用户,保留家目录
sudo userdel -r username  # 删除用户及其家目录

2. 组管理

2.1 添加组

使用 groupadd 命令可以添加新组:

sudo groupadd groupname

2.2 修改组属性

使用 groupmod 命令可以修改组的属性:

sudo groupmod -n new_groupname old_groupname  # 修改组名

2.3 删除组

使用 groupdel 命令可以删除组:

sudo groupdel groupname

3. 权限管理

3.1 查看权限

使用 ls -l 命令可以查看文件或目录的权限:

ls -l file.txt

3.2 修改权限

使用 chmod 命令可以修改文件或目录的权限:

chmod 755 file.txt  # 设置权限为 rwxr-xr-x
chmod u+x file.txt  # 给所有者添加执行权限

3.3 修改所有者和组

使用 chown 和 chgrp 命令可以修改文件或目录的所有者和组:

chown user:group file.txt  # 修改所有者和组
chgrp groupname file.txt  # 修改组

4. 特殊权限

4.1 SUID(Set User ID)

当文件被执行时,进程的所有者变为文件的所有者:

chmod u+s file

4.2 SGID(Set Group ID)

当文件被执行时,进程的组变为文件的组;当应用于目录时,新创建的文件将继承目录的组:

chmod g+s file

4.3 Sticky Bit

只有文件的所有者或 root 用户才能删除或重命名文件:

chmod +t directory

5. 默认权限

新创建的文件和目录的默认权限由 umask 值决定。umask 是一个掩码,用于屏蔽权限位。

查看当前 umask 值:

umask

设置 umask 值:

umask 022  # 新文件的权限为 644,新目录的权限为 755

6. ACL(访问控制列表)

ACL 提供了更细粒度的权限控制,允许为特定用户或组设置权限。

6.1 查看 ACL

getfacl file.txt

6.2 设置 ACL

setfacl -m u:username:rwx file.txt  # 为用户设置权限
setfacl -m g:groupname:rwx file.txt  # 为组设置权限
setfacl -x u:username file.txt  # 移除用户的 ACL 条目

7. 用户切换

7.1 切换用户

使用 su 命令可以切换用户:

su username  # 切换到指定用户
su - username  # 切换到指定用户并加载其环境变量

7.2 以其他用户身份执行命令

使用 sudo 命令可以以其他用户(通常是 root)身份执行命令:

sudo command  # 以 root 身份执行命令
sudo -u username command  # 以指定用户身份执行命令

8. 用户和组配置文件

8.1/etc/passwd

存储用户信息:

username:x:UID:GID:comment:home_directory:shell

8.2/etc/shadow

存储用户密码信息:

username:encrypted_password:last_change:min_age:max_age:warn:inactive:expire:reserved

8.3/etc/group

存储组信息:

groupname:x:GID:user_list
原文链接:,转发请注明来源!