Linux权限
- Linux下用户权限
- 权限提升问题
- su命令:
- Linux权限管理
- ①文件访问者的分类
- ②文件类型
- ③权限属性
- 文件权限值的表示方法
- 文件权限的修改
- chmod
- 关于目录权限
- 对拥有者和所属组的修改
- 默认权限值
- 修改初始权限值:
- 粘滞位
Linux下用户权限
Linux下有两种用户:超级用户(root)、普通用户:
超级用户:可以再linux系统下做任何事情,不受限制
普通用户:在linux下做有限的事情。
超级用户的命令提示符是“#”,普通用户的命令提示符是“$”
权限提升问题
su命令:
格式:su [-][用户名]
功能:切换用户
注意:
1.切换到root用户root可以省略
2.如果只是单纯地提升某个指令的权限可以使用sudo
3.sudo短暂提升失败是由于没有被sudo的信用列表添加为信用用户
可以这么解决:
在root下输入指令vim /etc/sudoers
输入命令后找到如下界面,添加信任用户
修改成功后就可以sudo了
Linux权限管理
①文件访问者的分类
文件和文件目录的拥有者:u—User
文件和文件目录的所有者所属组的用户:g—Group
其它用户:o—Others
②文件类型
在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:所有用户
我们还可以这样修改文件权限:
root不受权限限制:
可以看到root作为文件的other并没有权限但还是可以读test1,足见root并不受权限的限制
关于目录权限
.可执行权限(x):进入目录,如果不进入目录就无法读写目录,足见x十分重要
可读权限(r):用ls命令查看目录中的文件内容
可写权限(w):在目录中创建文件,删除文件
对拥有者和所属组的修改
对文件拥有者的的修改:
sudo chown 新拥有者 文件名
对文件所属组的修改:
sudo chgrp 新所属组 文件名
注意:需要用sudo来提升权限
示例:
默认权限值
新建普通文件默认权限:666
新建目录默认权限:777
修改初始权限值:
umask:
格式:umask 权限值
默认:002
凡是在umask中出现了的权限位都不能在初始权限中出现
比如以普通文件为例:
666:110 110 110
002: 000 000 010
最后转化为110 110 100对应rw- rw- r–
本质上默认值=default & (~umask)
所以可以通过改变umask来改变文件默认权限
粘滞位
粘滞位是为了避免你的文件被别人(other)删除
当一个目录被设置为"粘滞位"(用chmod +t),则该目录下的文件只能由:
注意:(目录才有粘滞位)
一、超级管理员删除
二、该目录的所有者删除
三、该文件的所有者删除
注意:t只能加给other