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

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

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

相关推荐
yangshuo12811 小时前
风车OVF镜像:解放AI开发限制的Ubuntu精简系统
linux·人工智能·ubuntu
flypig哗啦啦1 小时前
ubuntu服务器版启动卡在start job is running for wait for...to be Configured
linux·运维·ubuntu
_Itachi__1 小时前
LeetCode 热题 100 114. 二叉树展开为链表
linux·leetcode·链表
あ-2 小时前
CentOS7 OpenSSL升级1.1.1w
linux
tianyuanwo2 小时前
深入解读tcpdump:原理、数据结构与操作手册
linux·运维·服务器·tcpdump
电鱼智能的电小鱼3 小时前
产线视觉检测设备技术方案:基于EFISH-SCB-RK3588/SAIL-RK3588的国产化替代赛扬N100/N150全场景技术解析
linux·人工智能·嵌入式硬件·计算机视觉·视觉检测·实时音视频
子非衣3 小时前
Ubuntu系统挂载磁盘并配置开机自动挂载
linux·运维·ubuntu
风暴智能4 小时前
问题处理——在ROS2(humble)+Gazebo+rqt下,无法显示仿真无人机的相机图像
linux·无人机
唐志远19974 小时前
VMware虚拟机 安装 CentOS 7
linux·运维·centos
众乐乐_20085 小时前
Uniapp中小程序调用腾讯地图(获取定位地址)
linux·服务器·apache