Linux权限
1、Linux权限的概念
Linux下有两种用户:
- 超级用户:可以再linux系统下做任何事情,不受限制
- 普通用户:在linux下做有限的事情
- 超级用户的命令提示符是“#”,普通用户的命令提示符是“$”
超级用户的用户名为root,超级用户可以无障碍切换到普通用户,普通用户切换到超级用户需要输入超级用户的密码,如果普通用户在进行操作时受限,可以切换到超级用户
2、用户切换
命令:su [用户名]


补充:命令:su –
su -同样可以进行身份的切换
su -和su的区别:
su仅仅是切换身份,文件所处的路径不变,su -是重新登录切换成超级用户,连同路径和身份一起改变


从普通用户A切换到普通用户B需要输入B的密码
对指令进行短暂提权:命令sudo 提权指令
如果想用sudo进行提权,首先应在root超级用户的白名单里,否则无权使用指令,例如:

加入白名单后:

2、Linux权限管理
权限=人+角色,权限也和文件的属性有关
文件属性:
通过ls -l来查看目录下文件的属性


如图所示,文件最前面的- 表示普通文件,后面的三个一组,共三组,分别为文件所有者的权限(rw-),文件所属组的权限(rw-),其他人的权限(r–),r,w,x都是文件属性,有属性就用相应的字母,没有属性就用-代替
- r:读权限,对于普通文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限
- w:写权限,对普通文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限
- x:可执行权限,对普通文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限
- -:表示不具有该项权限
文件类型:
- d:文件夹
- -:普通文件
- l:软链接(类似Windows的快捷方式)
- b:块设备文件(例如硬盘、光驱等)
- p:管道文件
- c:字符设备文件(例如屏幕等串口设备)
- s:套接口文件
3、Linux中的文件访问者
- 文件和文件目录的所有者:u
- 文件和文件目录的所有者所在的组的用户:g
- 其它用户:o
所属组指的用户是指文件权限在白名单中的用户

上面的第一列me代表文件的拥有者,第二列me代表所属组,当用户操作文件时,文件会先看用户是否是拥有者,若不是则再看用户是否是所属组,若不是所属组则是其他人
eg:
上图中me既是所有者也是所属组,那么对文件进行操作时是所有者身份还是所属组身份?
当所有者和所属组都是me时

把test.txt的所有者改为root,去掉所有者读的权限,留给所在组读的权限

再用me账号访问test.txt中的内容

由上图可知,用户操作文件时,文件会先看用户是否是拥有者,若不是则再看用户是否是所属组,都不是则是其他人
4、权限的修改
4.1 chmod
功能:设置文件的访问权限
格式:chmod [参数] 权限 文件名
常用选项:
- R -> 递归修改录文件的权限
- 说明:只有文件的拥有者和root才可以改变文件的权限
chmod命令权限值的格式:
- u:拥有者
- g:所属组
- o:其它用户
- a:所有用户
- +:向权限范围增加权限代号所表示的权限
- -:向权限范围取消权限代号所表示的权限
- =:向权限范围赋予权限代号所表示的权限
eg:
chmod u+w test.txt :给文件拥有者增加写权限
chmod o-x test.txt :取消其他用户的执行权限
chmod u+w,g+r,o+r test.txt :增加拥有者写权限,所属组读权限,其他用户读权限
4.2 三位8进制表示文件权限值
| — | 000 | 0 |
| –x | 001 | 1 |
| -w- | 010 | 2 |
| -wx | 011 | 3 |
| r– | 100 | 4 |
| r-x | 101 | 5 |
| rw- | 110 | 6 |
| rwx | 111 | 7 |
chmod 777 test.txt :将所有用户的权限都设置成rwx
4.3 chown
功能:修改文件的拥有者
格式:chown [参数] 用户名 文件名
把东西给别人时,需要征得别人同意,不能直接转交给别人,同样一个账号的文件不能随意转移到另一个账号中

但root可以把一个账号中的文件转交给另外一个账号

chown aq test.txt :把test.txt文件的拥有者改成aq
chown aq:me test.txt :把test.txt文件的拥有者改成aq,所属组改为me
4.4 chgrp
功能:修改文件或目录的所属组
格式:chgrp [参数] 用户组名 文件名
常用选项:
-R 递归修改文件或目录的所属组
实例:
chgrp users /abc/f2:表示把f2文件的所属组改成users
4.5 umask掩码
Linux中新建一个目录的默认权限是777,新建一个文件默认权限是666,但实际上创建后往往不是这个值,原因是受掩码umask的影响
默认权限掩码:

超级用户为0022,普通用户为0002
所以最终权限 = 其实权限&(~umask)
umask 755 表示修改默认掩码为755
4.6 目录的权限
- 可执行权限:如果目录没有可执行权限,则无法cd到目录中
- 可读权限:如果目录没有可读权限,则无法用ls等命令查看目录中的文件内容
- 可写权限:如果目录没有可写权限,则无法在目录中创建文件,也无法在目录中删除文件
删除lesson2的x权限,无法进入lesson2

删除lesson1的r权限,无法查看lesson1目录下的文件

删除lesson1的w权限,无法在目录中删除或创建文件

4.7 粘滞位
如果两个用户想共享一个文件,但是其他用户无法进入另一个用户的家目录来查看文件,这时需要通过root超级用户建立一个共享文件
但如果目录有w写权限,那么别的用户可以在目录下创建、删除、修改文件,这时如果想保留w权限并解决用户互删文件的操作,需要用到粘滞位
chmod o+t shared :给共享目录的other加上粘滞位权限

t是一种特殊的x权限,只允许文件拥有者或root能删除这个文件
网硕互联帮助中心






评论前必须登录!
注册