Linux - 权限 - 权限设置

一. chmod

语法: chmod [参数] 权限 文件名

功能: 设置文件的访问权限.

提示: 只有文件的拥有者和 root 才可以改变文件的权限.

1. 修改文件访问权限的两种方式

①. 用户表示符 +/-/= 权限字符

用户表示符:

· u:拥有者

· g:所属组

· o:其它用户

· a:所有用户

+: 向权限范围增加权限代号所表示的权限

-: 向权限范围取消权限代号所表示的权限

=: 向权限范围赋予权限代号所表示的权限

权限字符:

· r: 读权限

· w: 写权限

· x: 可执行权限

②. 三位八进制数字

2. Permission denied

当用户不具有某个文件访问权限时, 若以该权限访问文件, 权限会被拒绝, 也就是 Permission denied.

注意: root 可以随意访问文件, 不受权限约束.

此时 other 没有文件 log.txt 的写权限, 但是 root 依然可以向 log.txt 中写入新内容.

3. sudo 命令提权

普通用户会被各种权限约束, 但是 root 却不会. 于是 Linux 就有一种操作, 用于提升普通用户的权限, 即普通用户在任何指令前加上sudo, 就能以 root 的身份去执行指令, 也就是短暂地切换成超级用户.

但是该普通用户必须在 sudoers 信任列表中, 具体操作方法如下.

首先切换到 root 用户.

然后使用 vim 打开 sudoers 文件.

然后我们可以看到进入了 sudoers 这个文件中. vim 打开文件时默认使用 [命令模式] , 此时我们要切换到 [末行模式] (切换方法为 Shift + ;).

接着去查找有 ALL 字眼的行.

按下回车键 (Enter) , 按 J 键向下逐行翻页, 直到找到 ## Allow root to run any commands anywhere 这句话.

可以看到用户 Aurora 已经在信任列表里了.

I 键切换到 [插入模式], 即可插入需要加入的新用户.

然后再按键盘左上角的 Esc 键退回 [命令模式].

再按 Shift + ; 切换回 [末行模式].

然后继续按下Shift + :进入 [末行模式] , 然后输入wq! (强制保存并退出), 因为 sudoers 是写保护文件, 不可随意修改.

再按下回车就回到 root 命令行界面, Ctrl + D 回到普通用户据的命令行界面, 普通用户即被添加到信任列表中去.

二. chown

chmod 用于修改一个文件的访问者权限, 现在我们来尝试修改一下这个文件的访问者, 首先就是修改文件的拥有者 , 使用的是chown.

语法: chown [参数] 用户名 文件名

功能: 修改文件的拥有者.

Operation not permitted

当以普通用户的身份使用 chown 的时候, 我们会发现这样的操作不被允许, 即 Operation not permitted.

所以我们经此可以得知, 给予其他用户某一文件拥有者的身份, 需要经过允许.

但是当以 root 身份允许时, 就不会发生这样的事情.

使用 sudo 命令对该条命令提权.

三. chgrp

可以更改文件的拥有者 , 那对于所属组 来说当然也是可以修改的, 使用指令 chgrp 即可.

语法: chgrp [参数] 用户名 文件名

功能: 修改文件的所属组.

与 chown 一样, 当以普通用户的身份使用 chgrp 的时候, 我们会发现这样的操作不被允许, 即 Operation not permitted.

但是使用 sudo 提权后操作就会被允许.

对于修改 [拥有者][所属组] 是可以一起进行的, 在中间加上冒号:即可.

提示: 文件的拥有者和所属组可以被修改, 目录的拥有者和所属组也可以.

相关推荐
CYRUS_STUDIO16 小时前
用 Frida 控制 Android 线程:kill 命令、挂起与恢复全解析
android·linux·逆向
熊猫李18 小时前
rootfs-根文件系统详解
linux
dessler20 小时前
Hadoop HDFS-高可用集群部署
linux·运维·hdfs
泽泽爱旅行20 小时前
awk 语法解析-前端学习
linux·前端
轻松Ai享生活2 天前
5 节课深入学习Linux Cgroups
linux
christine-rr2 天前
linux常用命令(4)——压缩命令
linux·服务器·redis
三坛海会大神5552 天前
LVS与Keepalived详解(二)LVS负载均衡实现实操
linux·负载均衡·lvs
東雪蓮☆2 天前
深入理解 LVS-DR 模式与 Keepalived 高可用集群
linux·运维·服务器·lvs
乌萨奇也要立志学C++2 天前
【Linux】进程概念(二):进程查看与 fork 初探
linux·运维·服务器
獭.獭.2 天前
Linux -- 信号【上】
linux·运维·服务器