Linux系统配置及服务管理第三章-用户的权限

Linux系统配置及服务管理第三章-用户的权限

一、基本权限UGO

1、权限对象

属主:u 属组:g 其他人:o 所有人:a(u+g+o)

2、权限类型

读:r=4 写:w=2 执行:x=1

3、查看权限
查看权限记录
[root@localhost ~]#ls  -l  /root/1.txt
-rw-r--r--.   1   root root  179  525  14:27  /root/1.txt
-文件类型
 rw-主人的权限,属主
r--属组的权限,
  r--其他人的权限
.权限的扩展
   1文件链接(第七章文件链接)
       root文件的属主
            root文件的属组 
   		    	 179大小
 525  14:27文件最后的修改时间
/root/1.txt    文件的名和路径
4、设置权限

更改权限:

方式一:使用符号型

使用符号:u用户 g组  o其他  r读   w写  x执行
语法: chmod   对象(u/g/o/a)赋值符(+/-/=)权限类型(r/w/x)    文件/目录
示例:
[root@localhost ~]# cd  /tmp
[root@localhost ~]# touch     file1      //创建文件
[root@localhost tmp]# ll file1 
-rw-r--r--. 1 root root 0 413 20:49 file1
权限         属主 属组              文件
[root@localhost tmp]#vim    file1    //在文件内写入内容
echo    "hello!"
read    -p  "请输入您的姓名:"  name
echo     "哈哈 $name 是大笨蛋"
[root@localhost tmp]# chmod u+x file1      //添加执行权限
[root@localhost tmp]# ./file1      //运行测试成功
hello!
请输入您的姓名:4567
4567 是大笨蛋
[root@localhost tmp]# chmod u-x file1     //去除执行权限
[root@localhost tmp]# ./file1    //执行失败
-bash: ./file1: 权限不够
附加:
[root@localhost tmp]# chmod        a=rwx    file1 //所有人等于读写执行
[root@localhost tmp]# chmod        a=-       file1 //所有人没有权限
[root@localhost tmp]# chmod       ug=rw,o=r       file1 //属主属组等于读写,其他人只读
[root@localhost tmp]# ll file1 //以长模式方式查看文件权限
-rw-rw-r-- 1 alice it 17 10-25 16:45 file1 //显示的结果

方式二:使用数字型

421执行
[root@localhost ~]# chmod 644 file1    //添加权限
[root@localhost ~]# ll file1
-rw-r--r-- 1 alice it 17 10-25 16:45 file1

更改属主,属组

chown命令
chown: 设置一个文件属于谁,属主
语法: chown   用户名.组名   文件
[root@localhost ~]# chown alice.hr file1     //改属主,属组
[root@localhost  ~]# chown alice file1       //只改属主
[root@localhost ~]# chown .hr file1        //只改属组
---------------------------------------------------------------
chgrp命令
chgrp: 设置一个文件属于哪个组,属组
语法  chgrp   组名   文件   -R是递归的意思
[root@localhost ~]# chgrp it file1            //改文件属组
[root@localhost ~]# chgrp -R it dir1          //改文件属组
 

二、基本权限ACL

1、基本权限UGO和ACL的区别

ACL文件权限管理:设置不同用户,不同的基本权限(r\w\x)对象数量不同,UGO一次只能一个用户,一个组和其他人

ACL语法

setfacl  -m           u:alice:rw            /home/test.txt
命令      设置     用户或组:用户名:权限          文件对象
案例:
[root@localhost ~]# touch /home/test.txt
[root@localhost ~]# ll /home/test.txt 
-rw-r--r-- 1 root root 0 10-26 13:59 /home/test.txt
[root@localhost ~]# getfacl /home/test.txt      //查看文件有哪些ACL权限
[root@localhost ~]# setfacl -m u:alice:rw /home/test.txt   //设置用户Alice,Jack权限
[root@localhost ~]# setfacl -m u:jack:- /home/test.txt
[root@localhost ~]# setfacl -m o::rw /home/test.txt      //设置其他用户的权限
-----------------------------------------------------------------------------
查看ACL
[root@localhost ~]# getfacl /home/test.txt
getfacl: Removing leading '/' from absolute path names
查看文件权限,删除了根路径。
# file: home/test.txt      文件名
# owner: root               属主:root
# group: root               属组:root
user::rwx                       用户:属主:rwx
user:alice:rw-		用户:alice:rw-
user:jack:---		用户:jack:---
group::rwx		组:属组:rwx
mask::rwx		掩码::rwx
other::rwx		other:其他人:rwx
-----------------------------------------------------------------------------
[root@localhost ~]# setfacl -m g:hr:r /home/test.txt  //增加hr组对test.txt文件读取的权限
删除部分
[root@localhost ~]# setfacl -x g:hr /home/test.txt     //删除组hr的acl权限
删除所有
[root@localhost ~]# setfacl -b /home/test.txt         //删除所有acl权限

三、特殊权限

1、特殊位suid

高级权限的类型:suid针对文件/程序时,具备临时获得属主的权限。

sgid:针对目录授权,可以使目录下新建文件,继承目录的属组权限。
[root@localhost ~]# mkdir     /tmp/dir-sgid       //创建目录

[root@localhost ~]# groupadd  xiaozu               //创建用户和组
[root@localhost ~]# useradd   u1   -G  xiaozu     
[root@localhost ~]# useradd   u2  -G xiaozu

[root@localhost ~]# chown  .xiaozu      /tmp/dir-sgid    //修改目录的权限
[root@localhost ~]# chmod g=rwx  /tmp/dir-sgid

[root@localhost ~]# su -  u1        //切换用户测试
[root@localhost ~]# touch    /tmp/dir-sgid/u1-1.txt
[root@localhost ~]# su -  u2
[root@localhost ~]# touch    /tmp/dir-sgid/u2-1.txt
------------------------------------------------------------------------------
stick:针对目录设置,目录内的文件,仅属主能删除
chmod   o+t  /tmp/dir-sgid/
切换用户,只能删除自己的文件。
---------------------------------------------------------------------------
扩展:su和su - 区别
su命令和su -命令最大的本质区别就是:前者只是切换了root身份,但Shell环境仍然是普通用户的Shell;而后者连用户和Shell环境一起切换成root身份了
案例:1.为cat程序添加上suid权限。
[root@localhost ~]# ll  /usr/bin/cat
-rwxr-xr-x. 1 root root 54080 820 2019 /usr/bin/cat
[root@localhost ~]# chmod u+s /usr/bin/cat
[root@localhost ~]# ll  /usr/bin/cat
-rwsr-xr-x. 1 root root 54080 820 2019 /usr/bin/cat
观察输出信息2(这两次有什么不同呢?)
2.使用普通用户运行cat。暂时获得root权限
[root@localhost ~]# su - alice
[alice@localhost ~]$ cat /root/file1.txt       //结果,普通用户,看到了root的内容。这个行为很危险,请在试验后,将cat的suid权限除去。
[root@localhost ~]# chmod u-s /usr/bin/cat
[root@localhost ~]# ll  /usr/bin/cat
观察输出信息3(请确认是否删除suid特殊权限)
1、文件属性chattr

用途:常用于锁定某个文件,拒绝修改。

分类
在这里插入图片描述
案例:

[root@localhost ~]# touch file100       //先创建新文件进行对比。查看默认权限。
[root@localhost ~]# lsattr file100
-------------- file100
[root@localhost ~]# chattr +i file100    //加上不能删除的属性。不能更改,重命名,删除
[root@localhost ~]# lsattr file100      //查看不同属性
----i--------- file100   
[root@localhost ~]# rm -rf file100      //尝试删除
rm: cannot remove `file100': Operation not permitted
[root@localhost ~]# chattr -i file100    //将属性还原。

进程掩码umask

进程掩码:新建文件、目录的默认权限会受到umask的影响,umask表示要减掉的权限
示例:
示例1: 在shell进程中创建文件,先查看当前用户的umask权限
[root@localhost ~]# umask 			
0022
[root@localhost ~]# touch file800
[root@localhost ~]# mkdir dir800
[root@localhost ~]# ll -d dir800 file800 
drwxr-xr-x. 2 root root 4096 311 19:40 dir800
-rw-r--r--. 1 root root    0 311 19:40 file800
示例2:修改shell umask值(临时)
[root@localhost ~]# umask 000
[root@localhost ~]# mkdir dir900
[root@localhost ~]# touch file900
[root@localhost ~]# ll -d dir900 file900 
drwxrwxrwx. 2 root root 4096 311 19:44 dir900
-rw-rw-rw-. 1 root root    0 311 19:44 file900
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ever Since!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值