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
|