Linux权限的概念

Linux权限的概念

在这里插入图片描述

Linux下有两种⽤⼾:超级⽤⼾(root)、普通⽤⼾。

• 超级⽤⼾:可以再linux系统下做任何事情,不受限制

• 普通⽤⼾:在linux下做有限的事情。

• 超级⽤⼾的命令提⽰符是“#”,普通⽤⼾的命令提⽰符是“$”。

命令:su [⽤⼾名]

功能:切换⽤⼾。

例如,要从root⽤⼾切换到普通⽤⼾user,则使⽤suuser。 要从普通⽤⼾user切换到root⽤⼾则使⽤suroot(root可以省略),此时系统会提⽰输⼊root⽤⼾的 ⼝令。

Linux权限管理

1.⽂件访问者的分类(⼈)

• ⽂件和⽂件⽬录的所有者:u—User(中国平⺠法律问题)

• ⽂件和⽂件⽬录的所有者所在的组的⽤⼾:g—Group(不多说)

• 其它⽤⼾:o—Others(外国⼈)

2.⽂件类型和访问权限(事物属性)

• ⽂件类型:

◦ d:⽂件夹

◦-:普通⽂件

◦ l:软链接(类似Windows的快捷⽅式)

◦ b:块设备⽂件(例如硬盘、光驱等)

◦ p:管道⽂件

◦ c:字符设备⽂件(例如屏幕等串⼝设备)

◦ s:套接⼝⽂件

• 基本权限:

◦ 读(r/4):Read对⽂件⽽⾔,具有读取⽂件内容的权限;对⽬录来说,具有浏览该⽬录信息 的权限

◦ 写(w/2):Write对⽂件⽽⾔,具有修改⽂件内容的权限;对⽬录来说具有删除移动⽬录内 ⽂件的权限

◦ 执⾏(x/1):execute对⽂件⽽⾔,具有执⾏⽂件的权限;对⽬录来说,具有进⼊⽬录的权 限

◦ “—”表⽰不具有该项权限

⽂件权限值的表⽰⽅法与相关设置方法
1.表示方法

• 字符表⽰⽅法

• 8进制数值表⽰⽅法

例如rwxrwxrwx == 777

2.chmod

功能:设置⽂件的访问权限

格式:chmod[参数]权限⽂件名

常⽤选项:

• R->递归修改⽬录⽂件的权限

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

3.chmod命令权限值的格式:

• ⽤⼾表⽰符+/-=权限字符

◦ +:向权限范围增加权限代号所表⽰的权限 ◦-:向权限范围取消权限代号所表⽰的权限

◦ =:向权限范围赋予权限代号所表⽰的权限

◦ ⽤⼾符号:

◦ u:拥有者

◦ g:拥有者同组⽤

◦ o:其它⽤⼾

◦ a:所有⽤⼾

◦ 实例:

chmod u+w /home/abc.txt 

chmod o-x /home/abc.txt 

chmod a=x /home/abc.txt 

• 三位8进制数字

◦ 实例:

chmod 664 /home/abc.txt 
chmod 640 /home/abc.txt 
4.chown

功能:修改⽂件的拥有者

格式:chown[参数]⽤⼾名⽂件名

实例:

chown user1 f1

chown -R user1 filegroup1 

5.chgrp

功能:修改⽂件或⽬录的所属组

格式:chgrp[参数]⽤⼾组名⽂件名

常⽤选项:

-R递归修改⽂件或⽬录的所属组

实例:

chgrp users /abc/f2 
6.umask

功能:

• 查看或修改⽂件掩码

• 新建⽂件夹默认权限=0666

• 新建⽬录默认权限=0777

• 但实际上你所创建的⽂件和⽬录,看到的权限往往不是上⾯这个值。原因就是创建⽂件或⽬录的 时候还要受到umask的影响。假设默认权限是mask,则实际创建的出来的⽂件权限是:mask& ~umask

格式:umask权限值

说明:将现有的存取权限减去权限掩码后,即可产⽣建⽴⽂件时预设权限。超级⽤⼾默认掩码值为 0022,普通⽤⼾默认为0002。

实例:

umask 755 

umask // 查看 

umask 044// 设置

file 指令

功能说明:辨识⽂件类型。

语法: file [ 选项 ] ⽂件或⽬录 …

常⽤选项:

•-c:详细显⽰指令执⾏过程,便于排错或分析程序执⾏的情形。

•-z:尝试去解读压缩⽂件的内容。

使⽤sudo分配权限

(1)修改/etc/sudoers⽂件分配⽂件

1 # chmod 740 /etc/sudoers

2 # vi /etc/sudoer

格式:接受权限的⽤⼾登陆的主机=(执⾏命令的⽤⼾)命令 (2)使⽤sudo调⽤授权的命令

$ sudo –u  ⽤⼾名 命令

实例:

$ sudo -u root /usr/sbin/useradd u2
⽬录的权限

• 可执⾏权限:如果⽬录没有可执⾏权限,则⽆法cd到⽬录中.

• 可读权限:如果⽬录没有可读权限,则⽆法⽤ls等命令查看⽬录中的⽂件内容.

• 可写权限:如果⽬录没有可写权限,则⽆法在⽬录中创建⽂件,也⽆法在⽬录中删除⽂件.

于是,问题来了~~换句话来讲,就是只要⽤⼾具有⽬录的写权限,⽤⼾就可以删除⽬录中的⽂件,⽽不论 这个⽤⼾是否有这个⽂件的写权限. 这好像不太科学啊,我张三创建的⼀个⽂件,凭什么被你李四可以删掉?我们⽤下⾯的过程印证⼀下

[root@localhost ~]$ chmod 0777 /home/
[root@localhost ~]$ ls /home/ -ld  
drwxrwxrwx. 3 root root 4096 9⽉19 15:58 /home/
[root@localhost ~]$ touch /home/root.c
[root@localhost ~]$ ls -l /home/
总⽤量4
-rw-r--r--.  1 root  root     0 9⽉  19 15:58 abc.c
drwxr-xr-x. 27 litao litao 4096 9⽉  19 15:53 litao
-rw-r--r--.  1 root  root     0 9⽉  19 15:59 root.c
[root@localhost ~]$ su - litao
[litao@localhost ~]$ rm /home/root.c  #litao可以删除root创建的⽂件

rm:是否删除有写保护的普通空⽂件"/home/root.c"?y
[litao@localhost ~]$ exit 
logout

为了解决这个不科学的问题,Linux引⼊了粘滞位的概念.

关于权限的总结

• ⽬录的可执⾏权限是表⽰你可否在⽬录下执⾏命令。

• 如果⽬录没有-x权限,则⽆法对⽬录执⾏任何命令,甚⾄⽆法cd进⼊⽬,即使⽬录仍然有-r读 权限(这个地⽅很容易犯错,认为有读权限就可以进⼊⽬录读取⽬录下的⽂件)

• ⽽如果⽬录具有-x权限,但没有-r权限,则⽤⼾可以执⾏命令,可以cd进⼊⽬录。但由于没有 ⽬录的读权限

• 所以在⽬录下,即使可以执⾏ls命令,但仍然没有权限读出⽬录下的⽂档。

粘滞位[选学]
[root@localhost ~]$ chmod +t /home/  # 加上粘滞位 
[root@localhost ~]$ ls -ld /home/drwxrwxrwt. 3 root root 4096 9⽉  19 16:00 /home/
[root@localhost ~]$ su - litao
[litao@localhost ~]$ rm /home/abc.c  #litao不能删除别⼈的⽂件
rm:是否删除有写保护的普通空⽂件 "/home/abc.c"?y
rm: ⽆法删除"/home/abc.c": 不允许的操作

当⼀个⽬录被设置为**“粘滞位”(⽤chmod+t)**,则该⽬录下的⽂件只能由

  1. 超级管理员删除
  2. 该⽬录的所有者删除
  3. 该⽂件的所有者删除
评论 24
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值