权限管理

1. 权限简介

文件的权限主要针对三类对象进行定义:

  • owner:属主,u
  • group:属组,g
  • other:其它,o

2. 权限管理命令

2.1 修改权限的命令chmod

//修改三类用户的权限:
//语法:chmod MODE file,...
    -R      //递归修改权限

//修改某类用户或某些类用户权限:
//u,g,o,a(用户类别)

//chmod 用户类别=MODE file,.....
//chmod 用户类别=MODE,用户类别=MODE file,.....
    

//修改某类的用户某位或某些位权限:
//u,g,o,a(用户类别)

//chmod 用户类别+|-MODE file,.....
//chmod 用户类别+|-MODE,用户类别+|-MODE file,.....
//chmod +|-MODE file,.....

2.2 修改文件属主和属组的命令chown
chown命令只有管理员可以使用。

//chown USERNAME file,...
    -R      //修改目录及其内部文件的属主

//chown USERNAME:GROUPNAME file,...
//chown USERNAME.GROUPNAME file,...

2.3 修改文件的属组命令chgrp

//语法:chgrp [OPTION]... GROUP FILE...
    -R      //递归修改

3. 遮罩码

为什么文件创建以后默认权限是644?
为什么目录创建以后默认权限是755?

这是由遮罩码umask来控制的。

从名字就能看出来,遮罩码umask是用来隐藏一些权限的。举例:如果你不想让人家认出你,你会怎么办?

文件最终的权限为:

  • 666-umask

目录最终的权限为:

  • 777-umask

文件默认是不能具有执行权限的,如果算得的结果有执行权限则将其权限整体加1。

4. linux安全上下文与特殊权限

4.1 linux安全上下文

  • 前提:进程有属主和属组;文件有属主和属组 任何一个可执行程序文件能不能启动为进程,取决于发起者对程序文件是否拥有可执行权限

  • 启动为进程后,其进程的属主为发起者,属组为发起者所属的组

  • 进程访问文件时的权限取决于进程的发起者:

     	进程的发起者是文件的属主时,则应用文件属主权限  		 
     	进程的发起者是文件的属组时,则应用文件属组权限  		 
     	应用文件“其它”权限
    

4.2 特殊权限

linux默认权限是根据linux安全上下文的方式来控制的,而特殊权限的存在打破了linux安全上下文的规则。

SUID(4)     //运行程序时,这个程序启动的进程的属主是程序文件自身的属主,而不是启动者为属主
    chmod u+s file
    chmod u-s file
    //如果file本身原来就有执行权限,则SUID显示为s,否则显示为S
    
SGID(2)     //运行程序时,这个程序启动的进程的属组是程序文件自身的属组,而不是启动者所属的基本组
    //默认情况下,用户创建文件时,其属组为此用户所属的基本组;
    //一旦某目录被设定了SGID,则对此目录有写权限的用户在此目录中创建的文件或目录,其所属的组 \
    //为此设定了SGID的目录的属组
    chmod g+s DIR
    chmod g-s DIR
    //如果file本身原来就有执行权限,则SGID显示为s,否则显示为S
    
Sticky(1)       //在一个公共目录,每个人都能创建文件,删除自己的文件,但是不能删除别人创建的文件
    chmod o+t DIR
    chmod o-t DIR
    //如果DIR本身原来就有执行权限,则Sticky显示为t,否则显示为T
    
4755    //有SUID,文件权限为755
2755    //有SGID,文件权限为755
1755    //有Sticky,文件权限为755
7755    //有SUID、SGID、Sticky,文件权限为755
//这里前面的4、2、1分别表示SUID、SGID、Sticky

5. 文件系统访问控制列表facl

facl(Filesystem Access Control List),利用文件扩展保存额外的访问控制权限。

//语法:setfacl [-bkndRLP] { -m|-M|-x|-X ... } file ...
    -m      //设定
        u:UID:perm
        g:GID:perm
    //setfacl -m u:test:rw file
    //setfacl -m g:test:rw file
    //如果要为某个目录设定默认的访问控制列表,只需要设定时在u或g前面加上d即可。 如:\
    //setfacl -m d:u:test:rw file,此时在此目录中创建的文件均继承此访问控制列表所设置的权限
    -x      //取消
        u:UID
        g:GID
    //setfacl -x u:test file
    //setfacl -x g:test file
    -b      //Remove all
        
//语法:getfacl [-aceEsRLPtpndvh] file ...
//getfacl file


//文件权限应用次序:
//默认情况下:
    Owner --> Group --> Other
//有设置facl的情况下:
    Owner --> facl,user --> Group --> facl,group --> Other

7. 管理命令

w   //显示当前登录到系统的用户有哪些,以及其正在做什么        
sleep   //睡眠,写脚本为防止上一个命令没执行完下一命令就开始执行时可以加上sleep # \
        //表示停顿#秒后再执行后面的命令 
    sleep NUMBER[SUFFIX]...
        SUFFIX:
            s:秒,默认
            m:分
            h:小时
            d:天
last    //显示/var/log/wtmp文件,显示用户登录历史及系统重启历史                
    -n #        //显示最近#次的相关信息        
lastb   //显示/var/log/btmp文件,显示用户错误的登录尝试                
    -n #        //显示最近#次的相关信息        
lastlog //显示每个用户最近一次成功登录信息                
    -u username     //显示特定用户最近的登录信息        
basename        //显示路径基名  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux授权管理权限是Linux系统中对用户和组进行权限管理的过程。通过授权管理,可以决定用户可以访问哪些文件和执行哪些操作。 在Linux中,权限管理主要涉及三个方面:用户管理、组管理和权限管理。 用户管理涉及到创建、删除和管理用户账户。每个用户都有一个唯一的用户名和密码,可以根据需要分配不同的权限给用户。这样,每个用户就可以根据其权限来访问和操作文件。 组管理是将用户分组的过程。通过将用户分组,可以更方便地管理用户的权限。可以将用户分配到不同的组中,然后为每个组设置相应的权限。这样,用户可以继承其所属组的权限。 权限管理是指确定用户对文件或目录的操作权限。在Linux中,每个文件或目录都有三种基本权限:读取权限、写入权限和执行权限。这些权限可以被分配给用户、用户组和其他用户。通过设置不同的权限,可以控制用户对文件的访问和操作。 需要注意的是,Linux系统中有一个特殊的用户——root用户。root用户是系统管理员,拥有最高权限。通过root用户,可以执行系统级别的操作。然而,root用户的权限应该谨慎使用,因为错误的操作可能导致系统的不稳定或安全性问题。 总结起来,Linux授权管理权限是通过用户管理、组管理和权限管理来确定用户对文件和操作的访问权限。这是Linux中非常重要和基础的知识。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值