设为首页 收藏本站
查看: 994|回复: 0

[经验分享] centos系统之权限与归属

[复制链接]

尚未签到

发表于 2019-2-15 11:47:30 | 显示全部楼层 |阅读模式
  Linux系统中的一切事物都是文件。
  Linux文件种类
文件种类
1)、普通文件
2)、纯文本文件(ASCII):Linux中最多的一种文件类型
3)、二进制文件:Linux中的可执行文件就是这种格式
4)、目录:文件夹
5)、链接文件:类似windows下的快捷方式
6)、设备文件
a、块设备文件,就是一些存储数据以提供系统随机访问的接口设备,如硬盘等。
b、字符设备文件,就是一些串行端口的接口设备,如键盘鼠标。
7)、套接字(sockets):通常被用在网络上的数据连接。我们可以启动一个程序来见他客户端的请求,二客户端就可以通过这个socket来进行顺序的通信。通常在/var/run这个目录中。
  二、权限与归属
在Linux系统中,文件和目录是重要的组成部分,经常使用root用户登录系统没有感觉,什么都可以操作,但是一旦使用普通用户的时候,就会发现权限这个棘手的问题。
  1、文件权限组成
首先查看文件权限怎么查看呢?
  可以用以下命令去查看:
ll  /etc/passwd

输出结果为:
-rwsr-xr-x 1 root root 430540 Dec 20 18:27  /etc/passwd
可将其分割成以下样子:
①-②rws③r-x④r-x ⑤1 ⑥root ⑦root ⑧430540 ⑨Dec 20 18:27  ⑩/etc/passwd
  说明:
①. 首字符,表示该文件是什么类型
-,普通文件;

         d,目录文件;
l,符号链接;
c,字符设备文件;
b,字节设备文件;
p,先进先出文件;
s,套接字文件。
  ②. 第2~4个字符,表示所有者(owner)的权限
  ③. 第5~7个字符,表示所属组(group)的权限
  ④. 第8~10个字符,表示其他用户(other)的权限
  ⑤. 第11个字符,表示硬链接数
  ⑥. 是文件所有者的用户名称(owner)
  ⑦. 是文件所属组的用户组名称(group)
  ⑧. 是文件大小,以块为单位。
  ⑨. 是最后修改日期
  ⑩. 是文件或目录的绝对路径
  从上述内容我们可以得知Linux下的权限角色有三种,分别是所有者(owner)、所属组(group)和其他用户(other)。
  2、基本权限和归属关系
1)、访问权限:

读取:允许查看内容-read
读取权限对目录来说,是否可以查看该目录中的内容
对文件来说,也是是否可以查看该文件中的文本内容
写入:允许修改内容-write
写入权限对目录来说,是否可以在该目录下创建、删除、重命名目录等操作;
而对文件来说,则是是否允许修改文件中的文本内容。
可执行:允许运行-excute
可执行权限对于目录来说,对应的位置有x权限,意为是否可进入该目录;
而对于文件来说,有x权限,意为该文件可执行,如程序(命令)的所有者权限中都有x权限。
  2)权限的表示形式

    a)、字母法表示
r,读权限;
w,写权限;
x,可执行权限。
b)、数字法表示:
4,读权限;
2,写权限;
1,可执行权限。
  3、特殊权限

1)SUID——在所有者权限上出现个“s”
普通用户运行某程序时,会把该程序文件的所有者的权限授予给普通用户,让其临时拥有所有者的权限。
只对二进制程序文件有效。

注:如果本身具有x,为s,否则为S


如图,passwd这个命令,我们经常用来设置用户密码,普通用户也可以使用“passwd”来设置自己的密码。当普通用户去运行它的时候,其实是以其所有者“root”的身份去运行。
  2)SGID——在所属组权限出现“s”

在某目录下,新建的文件或目录,所属组的权限和所属组跟该目录一致。


注:如果本身具有x,为s,否则为S


从上图可以看到,当使用普通用户tom创建目录后,器所属组还是属于root,且所属组权限与test的权限一致。
  3)sticky——针对目录设置,会在其他人权限位上出现一个“t”

从单词字面上理解,叫粘滞位。就像被胶水粘住一样,所有也叫做防删除位,目的是为了防止被别的用户删除(PS: root 用户除外,它是超级管理员,防止不了)


作用:
除了该文件的创建者和root用户可以删除和修改,其他人只能修改查看,不可删除。

  4、归属关系:

属主:拥有此文件或目录的用户-user
属组:拥有此文件或目录的组-group
其他用户:除属主、属组以外的用户-other
最终权限:访问权限和归属关系共同决定最终权限、
  三、设置权限
1、chmod命令——设置文件的权限
有两种方式设置权限:
1)、数字类型设置权限:
格式:  chmod   xyz  文件名
其中,x代表所有者权限,y代表所属组权限,z代表其他人权限

注:xyz是一串整数。
r=4,w=2,x=1
以上三种身份的权限每个都是r+w+x的和,如果没有相应权限,则值为0。
x=所有者=rwx=4+2+1=7
y=所属组=rwx=4+2+1=7
z=其他人=---=0+0+0=0
注:
当执行“chmod  7  文件名”,是对文件的其他人权限设置
当执行“chmod  77  文件名”,是对文件的所属组和其他人权限设置
当执行“chmod  777  文件名”,是对文件的所有者、所属组和其他人权限设置
  2、字母类型设置权限:
格式:chmod   [augo][+-=][rwx]  文件名
其中:

    u代表所有者
g代表所属组
o代表其他人
a代表所有人
读写执行的权限为r、w、x
“+”代表加入
“-”代表除去
“=”代表设置
例子:chmod  u+rwx,g+rwx,o+rx   文件名
给所有者全部权限,所属组所有权限,其他人只有读和执行权限。
  注:通常跟“-R”一起使用,代表递归的持续更改,即连同子目录下的所有文件、目录。

添加一个SUID权限:
方法一:chmod u+s  文件名
方法二:chmod  4000  文件名
添加一个SGID权限:
方法一:chmod g+s  文件名
方法二:chmod  2000  文件名
添加一个S:ticky (BIT):
方法一:chmod   o+t   文件名
方法二:chmod   1000   文件名
  2、chown——设置归属
格式:

        chown 属主 文件或目录    //修改文件或目录的所有者
chown :属组 文件或目录   //修改文件或目录的所属组
chown 属主:属组 文件或目录   //修改文件或目录的所有者和所属组
  例子:

    chown  [-R]  user   file   #设置file的所有者为user
chown  [-R]  .group   file    #设置file的所属组为group
chown  [-R]  user.group   file   #设置file的所有者为user,所属组为group
chown  [-R]  user:group   file   #设置file的所有者为user,所属组为group
  3、chgrp——设置所属组

    格式:  chgrp   [-R]  组名   文件名
  4、umask——反掩码,用于设置默认权限
一般文件默认不给x执行权限
  其他取决于umask设置

umask值可以进行设置(为临时,umask 0027即讲umask值设置为0027,可使用umask查看)
注:由于文件默认不给x权限,所以创建一个新文件的最大权限为666,创建一个目录的最大权限为777
umask默认值为022
新创建的文件权限 = 文件的最大权限  -  umask值
新创建的目录权限 = 目录的最大权限  -  umask值
  总结:

chmod,chown,chgrp这三个命令虽然参数很少,但是总是容易搞混,不过用的多了,用的熟练了就能记住了,chmod修改的是权限,chown修改的是所属用户和组,chgrp修改的是所属组。
最需要注意的是umask的值的设定,新建文件和文件夹时的默认权限!



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-672379-1-1.html 上篇帖子: centos系统之账号和组管理 下篇帖子: Centos 7 Nginx+Keepalived+Tomcat 源码安装与运用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表