内农大-大数据专业课程-Linux虚拟机技术6-高级权限(UMASK+SUID+SGID+STICK+ACL)

1.UMASK反掩码

(1)如何查看反掩码:umask(root用户的反掩码0022;普通用户的反掩码0002)

(2)UMASK反掩码的作用

(root用户反掩码)

(普通用户反掩码)

目录的缺省权限值=777-UMASK反掩码(755=777-022;775=777-002)(前面是root用户)

文件的缺省权限值=777-UMASK反掩码-111(644=777-022-111;664=777-002-111)

多减一个111,

(3)如何修改UMASK反掩码(反掩码用于确定文件,目录的缺省权限值;考试需要会推反掩码)

umask 0011

umask

mkdir aaa55(rwxrw-rw-,766=777-011)

touch aaa66.txt(rw-rw-rw-,666=777-011-111) (注:有X则减,无X则不变,文件的缺省值-111是不完全正确的)

(4)普通用户反掩码的测试

umask 0011

测试题:子用户 创建子目录,子文件,ll查看

Tips:

whereis:查询我们命令的路径

2.SUID权限弥补(主要针对文件,所有者执行位x变成了s或S)

(U代表user,所有者头三位)

(一种临时的身份跳转,下面的实验能看到,那一位s运行的时候临时提升身份为所有者)

whereis 查询你运行的是哪个命令脚本

(1)创建普通用户并切换用户测试命令passwd

#useradd lm111

#passwd lm111

#su – lm111

$ passwd

Changing password for user lm111.

Changing password for lm111.

(current) UNIX password: a001

New password:ASDlcl1234 (注意:密码必须包含大小写字母和数字,长度须在8位以上和以前的密码要求不同吗,严格的很!)

Retype new password: ASDlcl1234

passwd: all authentication tokens updated successfully.

(passwd敏感命令,需要提高安全性)

(第一次修改敏感命令)

(2)返回root用户将passwd命令SUID高级权限去除

#“ chmod u-s /usr/bin/passwd

#“ ll /usr/bin/passwd”

-rwxr-xr-x. 1 root root 27832 Jun 10  2014 /usr/bin/passwd

(chmod u-s)

(3)再次切换普通用户a001,测试命令passwd

# su - a001

$ passwd

Changing password for user a001.

Changing password for a001.

(current) UNIX password:ASDlcl1234

New password: QWEtest1234

Retype new password: QWEtest1234

passwd: Authentication token manipulation error

(第二次修改密码失败如图)

(退出用户之后,我们重新给它+s,然后修改密码)

(4)s与S的区别(s表示该执行位原先具有x权限)(权限弥补上二者相同,表现不同,s原来是x,大S原来部分是-)

chmod u-x /usr/bin/passwd

ll /usr/bin/passwd

-rwSr-xr-x. 1 root root 27832 6月  10 2014 /usr/bin/passwd

chmod u+s /bin/ping

-rwsr-xr-x. 1 root root 27832 6月  10 2014 /usr/bin/passwd

再次切换用户测试,又可以修改密码了。

(从大S到小s本质上只是在原来有没有x,功能一致)

(u+S之后,+x,就变成了s)

3.SGID权限弥补(主要针对目录,组内成员的执行位变成了s)*(第六位,组内权限位)

(创建一个目录,然后在目录下生成的文件,子目录必须的是指定组下的:修改父目录的所属组,然后SGID)

(1)含义

groupadd qqq

chown :qqq 111(111子目录)

drwxr-xr-x. 2 root qqq    4096 11月 12 16:31 111

chmod g+s 111

drwxr-sr-x. 3 root qqq    4096 11月 12 17:44 111

创建准备环境:

(2)测试

以root身份进入111目录中创建目录和文件,观察组属性,全部继承其父目录111的组名.

touch 333.txt

mkdir 333

ll

drwxr-xr-x. 2 root root 4096 11月 12 17:44 222

-rw-r--r--. 1 root root    0 11月 12 17:44 222.txt

drwxr-sr-x. 2 root qqq  4096 11月 12 17:48 333

-rw-r--r--. 1 root qqq     0 11月 12 17:48 333.txt(所属组会自动继承父目录的所属组)

4.STICK粘滞位(其他用户的执行位变成了t,创建用户和管理员的执行位是x)

(1)含义 /share/

共享目录存在的问题:用户之间可以随意删除对方的文件,如果管理员开放所有权限位(chmod 777)

(搞个完全开放的共享目录,我们换几个用户弄点好玩的)

(添加用户:limeng001,002)

(limeng001,去创建属于你的txt吧!)

(2)测试

chmod o+t /share

drwxrwxrwt.   2 root root       4096 11月 12 18:11 share

以lisi身份进入/share目录试图删除zhangsan用户的文件,不允许(注意:测试时不要用VI修改做测试,而要用rm删除做测试).

(limeng002觉得不行,我得整个活,给你们删除咯)

STICK粘滞位操作:

**谁放置的文件,谁和高级管理员才可以删除的操作:chmod o+t /share  粘滞位操作

(再让limeng002尝试干这个,就算是权限位显示全开,但是,哈哈不行!)

(让limeng001本人删除吧)

(3)应用

例如Linux系统中的/tmp目录就是典型的具有STICK的目录

5.ACL访问控制列表(可以针对文件或目录,对特殊用户赋予特定权限)

(1)如何查看文件的ACL信息(准备工作vim /123.txt)(特殊用户需要获得特殊权限)

getfacl 123.txt

(创建123.txt)

(切换limeng001,尝试vim编辑123.txt)

(编辑不了,你没这个权限他就是没办法)

(Acl访问列表:对于权限的描述很明确啊,limeng001就是个小小的other)

(2)如何修改文件的ACL信息

setfacl -m u:limeng001:rw- /123.txt(-m表示修改 u:用户:获取到的权限  /目标文件)权限数量没要求,任意文件都可以放任意多用户

使用ll命令查看该文件时会发现多了一个+,表示其设置过ACL

-rw-rw-r--+   1 root root         93  Mar 30 09:53 123.txt

(朋友,别觉得limeng001没有办法,如果我们在root权限下输入setfacl -m)

但是想详细查看ACL信息,只能使用getfacl 123.txt命令,效果如下

getfacl: Removing leading '/' from absolute path names

# file: 123.txt

# owner: root

# group: root

user::rw-

user:limeng001:rw-

group::r--

mask::rw-

other::r--

(3)测试

su – limeng001

vim /123.txt(录入内容测试写权限,OK)

(注意:测试用户必须符合正规用户名命名原则,即用户名必须以字母开头;

测试文件不要创建在用户的家目录中,最好放置在/目录下。)

(文件而已,limeng001,想改就改,就是因为我有的就是权限)

(不给limeng002任何权限,还专门写出来)

(4)如何删除文件的ACL信息

setfacl -x u:limeng001/123.txt(-x 删除)(删除有漏洞,会剩下一个加号)

getfacl /123.txt(详细查看)

再次以limeng001身份修改/123.txt文件,不允许.但是+仍然存在,即操作痕迹会保留。

chacl -B 123.txt  (彻底删除一个文件或目录的ACL信息。)

(5)设置目录的ACL信息

setfacl -m d:u:limeng:rwx /345(d标记为目录)(参数d表示在/345目录中新建的文件或目录会自动继承/345目录的ACL信息值,但要注意:ACL真正的效果仍然体现在对文件的操作上,即对文件修改时才能看出效果)

cd /345

touch 111.txt

getfacl 111.txt

切换limeng002进入目录测试

(创建345目录)

(给limeng002目录345的特殊权限位)

(自动继承特殊权限位如下图111.txt;678)

(6)当移动一个具有ACL属性的文件或目录时:

默认情况下,ACL属性值是会移动的;当复制一个具有ACL属性的文件或目录时,默认情况下,ACL属性值是不会复制的,只有在cp命令后加上-p参数才可以。   

“cp -p 222.txt /tmp/2222.txt“

补充知识:

chmod 7777 111.txt

chmod 1777 111.txt

chmod 3777 111.txt

实际上是四个7,后三个七是九位权限,第一个七对应着SUID SGID STICK:

SUID    SGID    STICK

1        1       1(具备就用1,不具备用0)

(移动后,111.txt它最后一位还是有改动痕迹的,虽然我们已经删除了权限1位移动后还有)

(四个七放进去!)

小结:(通过本次课程学到了哪些知识;在实验过程中遇到的问题及解决办法)

通过本次课程,我学习了高级权限(UMASK+SUID+SGID+STICK+ACL,UMASK查看用户的反掩码,也就是用户权限位码用777减去的值,文件多减一个111;SUID 权限位弥补技术: 这是因为单纯设置文件的rwx权限无法满足我们对安全和灵活性的要求,使用特殊权限为可以弥补它们的不足,提供更可靠的安全性,要注意S与s的区别在于前提是执行位x之前存在与否;SGID权限弥补技术:针对目录,文件,组内成员的执行位变成了s,注意“s”属于零时提高用户的权限为root;STICK粘滞位:其他用户的执行位变成了t,创建用户和管理员的执行位才是x,让对应的用户拥有权力改动文件,其他人没有能力,就算他看到文件的权限全开也不行!;.ACL访问控制列表(可以针对文件或目录,对特殊用户赋予特定权限)。操作没遇到什么问题,这一次实操需要记忆的内容比较多。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值