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

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

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

相关推荐
邪修king8 小时前
Re:Linux 系统篇(三十五):进程间通信Chapter2:从匿名管道到进程池:Linux 进程间通信实战(深度理解「先描述,再组织」)
java·linux·运维
2301_777998348 小时前
ARP协议进阶:ARP缓存、RARP与ARP欺骗原理解析
linux·服务器·网络·网络协议·缓存
Zenova EdgeOS15 小时前
Linux 内核日志 dmesg 进阶实战:从现场过滤到持久化闭环
linux·运维·服务器
郝亚军15 小时前
ec_private.pem的生成方法
linux·运维·服务器
NendoZen16 小时前
Arch Linux解决Grub无法SAVEDEFAULT问题(uki启动问题)
linux·运维·服务器
忆挽篱笙歌17 小时前
进程控制管理
linux·运维·服务器
Escalating_xu17 小时前
【Linux 网络编程】connect 的断线重连:用状态机写一个能恢复连接的 TCP 客户端
linux·网络·tcp/ip
Zucker n18 小时前
英语“论文”语法检查工具
linux·windows
苏宸啊19 小时前
Reactor反应堆模式
linux
骇客野人20 小时前
Linux 全套实操方案(含目录详解、文件传输、日志、文件规范、环境变量、Java 应用部署运维)
java·linux·运维