什么是权限
在Linux下有两种用户,分别是超级用户(root)和普通用户。超级用户可以在Linux下做任何事情,几乎不受限制,而普通用户一般只能在自己的工作目录下(/home/xxx)工作,以及在系统上做有限的工作。
换句话来说,所有的权限的概念都是用来限制普通用户的,而超级用户几乎不受限制。
超级用户的命令提示符是“#”
普通用户的命令提示符事“$”
通过 su -用户名 可以进行用户之间的切换
注意:
1)从普通账号切换为root账号时,指令当中的root可省略,因为root账号只有一个。
2)该指令也可以从一个普通用户切换为另一个普通用户,输入待切换用户的账号密码即可。
3)切换用户后,若想切回上次的用户,可通过Ctrl+D实现
linux下文件属性--权限属性
文件类型
符号 | 文件类型 |
d | 文件夹 |
- | 普通文件 |
l | 软链接(类似Windows的快捷方式) |
b | 块设备文件(例如硬盘、光驱等) |
p | 管道文件 |
c | 字符设备文件(例如屏幕等串口设备) |
s | 套接口文件 |
基本权限
i.读(r/4) | Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限 |
ii.写(w/2) | Write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限 |
iii.执行(x/1) | execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限 |
iv.“—”表示不具有该项权限 |
linux下用户角色
1)对于某一文件而言,其拥有者、所属组和other就是由超级用户(root)和普通用户所扮演。
2)在Linux当中,所有用户都要隶属于某一个组,哪怕这个组只有你一个人(此时该组就以你的用户名为组名)。
3)除了所有者和组用户以外的用户都是others
linux下权限的操作
针对rwx--文件属性
字符选项的方式
若是具有可读属性,则第一个位置的字符为r;若是具有可写属性,则第二个位置的字符为w;
若是具有可执行属性,则第三个位置的字符为x。若某一位置为字符 - ,则说明不具有对应位置的属性
八进制方案
文件访问权限的相关设置方法
a)chmod
功能 | 设置文件的访问权限 |
格式 | chmod [参数] 权限 文件名 |
常用选项 | R -> 递归修改目录文件的权限 |
说明 | 只有文件的拥有者和root才可以改变文件的权限 |
格式:
符号 | 功能 | 用户符号 | |
+ | 向权限范围增加权限代号所表示的权限 | u | 拥有者 |
- | 向权限范围取消权限代号所表示的权限 | g | 拥有者同组用户 |
= | 向权限范围赋予权限代号所表示的权限 | o | 其它用户 |
a | 所有用户 |
1)加 rwx符号
chmod u+w /home/abc.txt
chmod o-x /home/abc.txt
2)三位8进制数字
chmod 664 /home/abc.txt
chmod 640 /home/abc.txt
b)chowm
功能 | 修改文件的拥有者 |
格式 | chown [参数] 用户名 文件名 |
实例:
chown user1 f1
chown -R user1 filegroup1比
c)chgrp
功能 | 修改文件或目录的所属组 |
格式 | chgrp [参数] 用户组名 文件名 |
常用选项 | -R 递归修改文件或目录的所属组 |
实例:
sudo chgrp root data.txt
注意: 修改文件的所属组也需要进行权限提升。
umask--默认权限
功能:
1)查看或修改文件掩码
2)新建文件夹默认权限=0666
2)新建目录默认权限=0777
但实际上你所创建的文件和目录,看到的权限往往不是上面这个值。原因就是创建文件或目录的时候还要受到umask的影响。假设默认权限是mask,则实际创建的出来的文件权是:mask&~umask
格式 | umask 权限值 |
说明 | 将现有的存取权限减去权限掩码后,即可产生建立文件时预设权限。超级用户默认掩码值为0022,普通用户默认为0002。 |
粘滞位
大家共享一个目录,通常是root的,开放了所有的权限
目录权限
可执行权限: 如果目录没有可执行权限, 则无法cd到目录中.
可读权限: 如果目录没有可读权限, 则无法用ls等命令查看目录中的文件内容.
所以==>
给目录设置粘滞位 -- chmod+t
注意: 虽然目录被加上了粘滞位,但如果用户有该目录的可写权限,则不影响其在该目录下创建文件