Linux权限管理——sudo和chattr权限

本文介绍了Linux系统中权限管理的重要工具sudo和chattr。通过visudo编辑配置文件,可以允许普通用户执行特定的管理员命令,如sudo shutdown -r now。同时,文章讲解了chattr命令用于防止误操作,如设置i属性禁止文件删除和改名,a属性限制只追加数据。利用lsattr查看文件的chattr权限设置,有助于保护关键文件的安全。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

权限管理——sudo权限

我们知道Linux/sbin/usr/sbin下的命令只有管理员才能执行,但有时候我们需要将某些只有管理员才有权限执行的命令授予给一些普通用户去执行来简化工作,当然命令的授予必须合理控制。

首先要做的是给普通用户授予命令的使用,若未授权,则会出现警告

 

visudovi /etc/sudoers 修改配置文件

 

<think>我们正在讨论Linux权限相关的指令,而不是端口。用户引用了三个关于权限的引用,因此需要提供权限相关的命令列表。注意:用户要求列出与Linux权限相关的指令,包括系统级指令(用户不可见)用户可见的指令。但通常我们讨论的是用户可见的命令。根据引用[1][2][3],我们知道权限管理涉及文件/目录权限设置、特殊权限(SUID/SGID/StickyBit)以及权限的数字表示(如755)。用户要求以列表形式给出,并且需要按照格式要求(如数学表达式用$...$,独立公式用$$...$$,使用中文,生成相关问题等)。我们将分为两部分:1.用户可见的权限相关命令(用户可以直接使用的命令)2.系统级指令(通常指系统调用,用户不可直接调用,但可以通过其他方式如编程使用)——但用户要求的是指令列表,系统调用可能不需要列出,因为用户通常不会直接使用。不过,我们可以简要提及。但用户问题中明确要求包括“系统级指令(用户不可见)”,所以需要包含。然而,在Linux中,系统级指令通常指的是系统调用(syscall),比如chmod、chown等系统调用,这些在C语言中可以通过函数调用使用。而用户可见的是命令行工具。因此,我们这样组织:一、用户可见的权限相关命令(命令行工具)二、系统级权限相关指令(系统调用)注意:用户引用的内容中提到了权限的数字表示(如755),以及一些注意事项(如目录权限中rx的区别)。首先,列出用户可见的权限相关命令:1.`chmod`:修改文件或目录的权限-符号模式:`chmodu+xfile`(给文件所有者增加执行权限)-数字模式:`chmod755file`(设置权限为rwxr-xr-x)2.`chown`:更改文件或目录的所有者所属组-`chownuser:groupfile`(将文件的所有者改为user,所属组改为group)3.`chgrp`:更改文件或目录的所属组(功能被`chown`覆盖,但仍有使用)-`chgrpgroupfile`4.`umask`:设置默认的权限掩码(决定新创建文件或目录的默认权限)-例如:`umask022`表示新创建的文件权限为644(666-022),目录为755(777-022)5.`ls`:查看文件或目录的权限-`ls-l`:详细列表,显示权限、所有者、所属组等信息6.`passwd`:修改用户密码(与用户账户权限相关)7.`su`:切换用户-`su-username`:切换到指定用户8.`sudo`:以超级用户权限执行命令9.`setfacl``getfacl`:设置查看文件的访问控制列表(ACL),提供更细粒度的权限控制10.`chattr``lsattr`:修改查看文件的扩展属性(包括一些特殊权限,如不可修改属性)11.特殊权限设置命令(其实也是通过`chmod`设置):-设置SUID:`chmodu+sfile`-设置SGID:`chmodg+sfile`-设置StickyBit:`chmodo+tdirectory`然后,系统级指令(系统调用):这些是内核提供的接口,通常在C程序中使用。例如:1.`chmod`系统调用:`intchmod(constchar*path,mode_tmode);`2.`chown`系统调用:`intchown(constchar*path,uid_towner,gid_tgroup);`3.`umask`系统调用:`mode_tumask(mode_tmask);`4.`setuid`,`setgid`:设置进程的用户ID组ID5.`seteuid`,`setegid`:设置进程的有效用户ID有效组ID6.`access`:检查当前进程对文件的访问权限7.`fchmod`,`fchown`:对已打开的文件描述符进行权限修改注意:系统调用不是命令行工具,所以用户不会在命令行直接使用,而是通过编程调用。根据用户要求,我们需要生成相关问题。另外,用户引用的内容中提到了权限的数字表示,我们可以简要说明:权限的数字表示:每个权限用一个八进制数字表示,其中:读(r)=4,写(w)=2,执行(x)=1例如:rwxr-xr-x可以表示为:所有者:4+2+1=7,所属组:4+0+1=5,其他:4+0+1=5,所以是755。在回答中,我们可以用LaTeX格式表示数学表达式,例如权限计算:$7=4+2+1$,$5=4+0+1$。由于用户要求列表,我们按上述两部分列出。最后,生成相关问题。</think>### Linux 权限相关指令详解 #### 一、用户可见权限管理指令 **1. `chmod` - 修改文件/目录权限** **数字模式**(基于八进制权限值): ```bash chmod 755 file.txt # 设置权限为 rwxr-xr-x ``` 权限值计算: $$ \begin{align*} \text{所有者权限} &= r(4) + w(2) + x(1) = 7 \\ \text{组权限} &= r(4) + x(1) = 5 \\ \text{其他用户权限} &= r(4) + x(1) = 5 \end{align*} $$ **符号模式**: ```bash chmod u+x,g-w,o=r file.txt # 所有者增加执行,组移除写,其他用户仅读 ``` **2. `chown` - 修改所有者/组** ```bash chown user:group file.txt # 同时修改所有者组 chown :developers dir/ # 仅修改所属组[^1] ``` **3. `chgrp` - 修改文件所属组** ```bash chgrp www-data /var/www # 将目录所属组改为 www-data ``` **4. `umask` - 设置默认权限掩码** ```bash umask 022 # 新建文件默认权限644(rw-r--r--),目录755(rwxr-xr-x) ``` 计算原理:$ \text{默认权限} = \text{最大权限} - \text{umask值} $ **5. `ls` - 查看权限信息** ```bash ls -l # 显示详细权限信息 ``` 输出示例: ``` -rwxr-xr-- 1 user group 4096 Jun 10 file.txt ↑______↑ ↑______↑ 权限字段 所有者/组 ``` **6. `getfacl`/`setfacl` - ACL高级权限管理** ```bash setfacl -m u:guest:rwx file.txt # 添加用户guest的rwx权限 getfacl file.txt # 查看ACL权限 ``` #### 二、特殊权限指令 **1. SUID** (Set User ID) ```bash chmod u+s /usr/bin/passwd # 执行时以文件所有者权限运行 ``` 权限显示:`-rwsr-xr-x` **2. SGID** (Set Group ID) ```bash chmod g+s /shared_dir/ # 新建文件继承目录所属组 ``` 权限显示:`drwxr-sr-x` **3. Sticky Bit** (防删除位) ```bash chmod +t /tmp # 仅文件所有者可删除自己的文件 ``` 权限显示:`drwxrwxrwt` #### 三、系统级权限机制 **1. 权限存储原理** 权限实际存储为二进制位: ``` rwxr-xr-x → 111 101 101 → 八进制 755 ``` 数学表示: $$ \text{权限值} = r \times 4 + w \times 2 + x \times 1 $$ **2. 目录权限特性**[^2] - 目录 `r` 权限:仅允许**查看**文件名列表 - 目录 `x` 权限:控制**进入目录**执行目录内命令 - 目录 `w` 权限:允许**创建/删除**目录内文件(需配合 `x` 权限) **3. 系统调用** (用户不可直接调用) - `chmod()`: 内核级权限修改接口 - `fchownat()`: 文件所有者修改系统调用 - `umask()`: 进程级默认权限掩码设置 > **关键提示**: > - 修改系统文件需 `sudo` 提权 > - 目录权限需同时设置 `r` `x` 才可正常访问[^2] > - SUID/SGID 权限可能带来安全风险,需谨慎使用 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值