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 提权后操作就会被允许.

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

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

相关推荐
Championship.23.243 小时前
Linux 3.0 音频机制深度解析:ALSA基础架构与传统音频驱动模型
linux·运维·音视频·alsa
Tian_Hang4 小时前
Linux基础知识(四)
linux·ide·驱动开发·计算机视觉·硬件工程·动画
HLC++4 小时前
Linux文件操作
linux·运维·服务器
晚风予卿云月4 小时前
【Linux】进程控制(二)——进程等待 全方位详解
linux·运维·服务器·进程控制·进程等待
上天_去_做颗惺星 EVE_BLUE4 小时前
【新 Linux 服务器上手全攻略】系统巡检、存储规划与开发环境初始化
linux·运维·服务器·ubuntu·macos·centos
Titan20245 小时前
Linux文件系统
linux·服务器
c238565 小时前
linux文件权限深入了解(下)
linux·运维·服务器
Zh&&Li5 小时前
保姆级安装AI全自动渗透工具(pentestswarm)
linux·运维·服务器·人工智能
das2m5 小时前
WSL2 Ubuntu 配置完美版 docker compose 指南
linux·ubuntu·docker
丑过三八线5 小时前
Runc 深度解析:从原理到实操
java·linux·开发语言·docker·容器·rpc