Linux的权限问题

Linux权限

    • Linux下用户权限
    • 权限提升问题
      • su命令:
    • Linux权限管理
      • ①文件访问者的分类
      • ②文件类型
      • ③权限属性
    • 文件权限值的表示方法
    • 文件权限的修改
      • chmod
      • 关于目录权限
    • 对拥有者和所属组的修改
    • 默认权限值
      • 修改初始权限值:
    • 粘滞位

Linux的权限问题_第1张图片

Linux下用户权限

Linux下有两种用户:超级用户(root)、普通用户:

超级用户:可以再linux系统下做任何事情,不受限制
普通用户:在linux下做有限的事情。

超级用户的命令提示符是“#”,普通用户的命令提示符是“$”

权限提升问题

su命令:

格式:su [-][用户名]

功能:切换用户

注意:
1.切换到root用户root可以省略
2.如果只是单纯地提升某个指令的权限可以使用sudo
3.sudo短暂提升失败是由于没有被sudo的信用列表添加为信用用户

在这里插入图片描述
可以这么解决:
root下输入指令vim /etc/sudoersLinux的权限问题_第2张图片

输入命令后找到如下界面,添加信任用户
Linux的权限问题_第3张图片

修改成功后就可以sudo了
Linux的权限问题_第4张图片

Linux权限管理

①文件访问者的分类

文件和文件目录的拥有者:u—User

文件和文件目录的所有者所属组的用户:g—Group

其它用户:o—Others

Linux的权限问题_第5张图片

②文件类型

在linux中文件的类型与后缀无关,与文件属性第一个字符有关

d:目录
-:普通文件,文本可执行程序,库

l:链接文件(类似Windows的快捷方式)
b:块设备文件(例如硬盘、光驱等)
p:管道文件
c:字符设备文件(例如屏幕,键盘等串口设备)
s:套接口文件

③权限属性

r: 读取
w: 写入
x: 可执行
-: 无权限

如何阐述一个文件的权限呢?

以上图中的test为例:-rw-rw-r-- 1 tzc tzc 0 Oct 4 12:42 test

可以看到该test文件权限由十个字符组成:

1.第一个字符表示普通文件
2.其后九个字符以三个为一组分别对应拥有者权限,所属组权限,以及其他用户权限
3.并且固定第一个为r,第二个为w,三个为x

文件权限值的表示方法

Linux表示 说明 八进制表示 二进制
r- - 只读 4 100
-w- 只写 2 010
- - x 仅执行 1 001
rw- 可读可写 6 110
r-x 可读可执行 5 101
-wx 可写可执行 3 011
rwx 可读可写可执行 7 111
- - - 无权限 0 000

文件权限的修改

chmod

功能:修改文件的访问权限
格式:chmod [用户参数]-权限 文件名

说明:只有文件的拥有者和root才可以改变文件的权限

用户表示符+/-=权限字符:
+:向权限范围增加权限代号所表示的权限
-:向权限范围取消权限代号所表示的权限
=:向权限范围赋予权限代号所表示的权限

用户符号:
u:拥有者
g:拥有者同组用
o:其它用户
a:所有用户

我们还可以这样修改文件权限:
Linux的权限问题_第6张图片

root不受权限限制:
Linux的权限问题_第7张图片
可以看到root作为文件的other并没有权限但还是可以读test1,足见root并不受权限的限制

关于目录权限

.可执行权限(x):进入目录,如果不进入目录就无法读写目录,足见x十分重要
可读权限(r):用ls命令查看目录中的文件内容
可写权限(w):在目录中创建文件,删除文件

对拥有者和所属组的修改

对文件拥有者的的修改:
sudo chown 新拥有者 文件名

对文件所属组的修改:
sudo chgrp 新所属组 文件名

注意:需要用sudo来提升权限

示例:
Linux的权限问题_第8张图片

默认权限值

新建普通文件默认权限:666
新建目录默认权限:777

修改初始权限值:

umask:
格式:umask 权限值
默认:002

凡是在umask中出现了的权限位都不能在初始权限中出现

比如以普通文件为例:
666:110 110 110
002: 000 000 010
最后转化为110 110 100对应rw- rw- r–

本质上默认值=default & (~umask)
Linux的权限问题_第9张图片

所以可以通过改变umask来改变文件默认权限

粘滞位

粘滞位是为了避免你的文件被别人(other)删除

当一个目录被设置为"粘滞位"(用chmod +t),则该目录下的文件只能由:
注意:(目录才有粘滞位)

一、超级管理员删除
二、该目录的所有者删除
三、该文件的所有者删除

注意:t只能加给other
Linux的权限问题_第10张图片

你可能感兴趣的