linux用户权限管理通过用户与组的创建(useradd、groupadd)、权限设置(chmod数字或符号方式)、归属修改(chown、chgrp)及特殊权限(SetUID、SetGID、Sticky Bit)和sudo配置(visudo)实现系统安全控制,遵循最小权限原则保障系统稳定。
Linux用户权限管理是系统运维中的核心内容,直接关系到系统的安全与稳定。合理的权限设置既能保障用户正常使用系统资源,又能防止误操作或恶意行为对系统造成破坏。下面详细介绍Linux中用户权限管理的常用操作和实际应用方法。
用户与用户组的基本管理
在Linux中,每个文件和目录都有归属的用户和用户组,权限也基于此进行控制。
创建用户:
useradd username
例如创建一个名为devuser的用户:
useradd devuser
通常还会设置密码:
passwd devuser
删除用户:
userdel -r username
-r 选项会同时删除用户的家目录和邮件目录。
创建用户组:
groupadd groupname
例如:
groupadd developers
将用户添加到组:
usermod -aG developers devuser
-aG 表示追加到指定组,避免覆盖原有组成员。
文件与目录权限详解
使用 ls -l 查看文件权限,输出类似:
-rw-r–r– 1 devuser developers 1024 Apr 5 10:00 file.txt
其中:
- 第一位表示文件类型(-为普通文件,d为目录)
- 接下来三组 rwx 分别代表所有者、所属组、其他用户的权限
权限含义:
- r(读):可读取文件内容或列出目录内容
- w(写):可修改文件或在目录中增删文件
- x(执行):可运行文件或进入目录
修改权限命令 chmod:
chmod 755 script.sh
数字含义:
- 4 = r,2 = w,1 = x
- 7 = 4+2+1(rwx),6 = 4+2(rw-),5 = 4+1(r-x)
例如755表示所有者有读写执行,组和其他用户有读和执行。
也可以用符号方式修改:
chmod u+x,g+w file.txt
给所有者加执行权限,给组加写权限。
更改文件归属
当需要转移文件控制权时,使用 chown 和 chgrp。
修改所有者:
chown newuser file.txt
修改所属组:
chgrp developers file.txt
同时修改所有者和组:
chown devuser:developers project/
注意:只有root或文件当前所有者才能更改归属。
特殊权限与sudo配置
除了基本权限,Linux还提供一些特殊权限位。
SetUID:让程序以文件所有者的身份运行。适用于 passwd 命令等。
chmod u+s /path/to/executable
chmod g+s shared_dir/
Sticky Bit:常见于/tmp目录,确保用户只能删除自己创建的文件。
chmod +t /tmp
sudo权限管理:
编辑 sudoers 文件应使用:
visudo
添加用户拥有管理员权限:
devuser ALL=(ALL) ALL
保存后该用户可通过 sudo 执行特权命令。
基本上就这些。掌握用户、组、权限三者的关系,结合chmod、chown、sudo等工具,就能有效管理linux系统的访问控制。日常操作中建议遵循最小权限原则,避免随意赋予过高权限。不复杂但容易忽略。