Linux从入门到精通4
8权限管理
8.1.1 权限管理-ACL权限-简介与开启
分配目录。
所有者:读写执行
所属组:读写执行
770
试听:只给他读和执行的条件。
这样该如何分配这个试听人员的组?
加一个试听组,但是任何一个目录都只能有一个所属组。
可以放到其他人?也不行。
身份不够用,用ACL。
不再考虑身份,直接给相应的权限。
acl用来解决所有者。所属组、其他人这三种身份不足的情况。
一般是默认已经开启了acl。
用户操作文件的权限。
先看看当前系统的分区:
让根分区支持acl命令。但是用命令设置是暂时的,重启后就不会保存了。
8.1.2 权限管理-ACL权限-查看与设定
调整用户权限
出现了试听组
不支持绝对路径
切换成用户st
即st用户生效了
8.1.3 权限管理-ACL权限-最大有效权限与删除
与:两个都是1相与是1
其实mask是最大权限时,任何权限与它相与都是那个权限
所以这个mask影响的是acl的权限和它所属组的权限
有了mask可以有效的避免我们给这些用户设的权限过高
删除组
用 -b
8.1.4 权限管理-ACL权限-默认与递归ACL权限
给父目录设置了一个权限,那么子目录也都有了这个权限。
这个文件名其实就是目录名,才能递归
这两个子目录还是没有acl权限的
因为你只是给目录赋予了acl权限
这里用了-R才能让子目录也拥有acl权限
为什么后来创建的子目录又没有ACL权限了呢?
是因为:每来一个新学员,我都要在楼道里重新喊一遍才能行。
还有一种方式:
递归:对现有的目录
默认:只是针对新来的,现有的还是必须用递归
因为def是在这条设置默认权限的命令之后出现的,它是针对未来的一种命令,所以它有了acl权限
但是cde是在楼门口公告也就是递归之前出现的,所以cde还是没有acl权限
8.2.1 权限管理-文件特殊权限-SetUID
在文件的所有者权限内拥有了s权限。即passwd拥有setUid的权限。
但普通用户执行passwd命令时,就会拥有setid权限,暂时的拥有权限root权限从而去改变shadow下面的内容
lamp想要操作shadow这个文件,一种是利用passwd命令来拥有setuid权限从而暂时性的可以
下面的那种方式会报错。
总结:普通用户执行命令时,暂时性的获得这个命令所有者的身份。
即给不能执行的程序设是没有意义的。
755:所有者、所属组、其他人
4755:4代表了SetUID
2755:SETgID
1755:下面会讲
大写的S是报错的,用户必须对这个目录具有执行权限,而这里并没有。
报了危险
任何一个用户在使用vim的时候会变成root权限,这是很危险的
8.2.2 权限管理-文件特殊权限-SetGID
与setUid;类似的
这是说一个用户在执行这个组时,它的组的身份变成了这个文件的所属组。
locate命令默认是有组s权限的
即虽然访问时对这个数据库没有访问权限,但是通过locate命令来搜索的,身份组切换为这个组。这个值组对这个权限有读权限。
r->ls x->cd
/tmp/test下面所有者是sc,所属组是root
这就是针对目录的作用
8.2.3 权限管理-文件特殊权限-Sticky BIT
黏着位权限
分别针对:可执行文件 可执行文件、目录 目录
给了tmp目录777权限
user1在这个目录下创建了a,别的用户同样也可以用
给了tmp目录1777权限
则user1用户创建的a只能又它自己删除,别的人虽然对这个目录有写权限,也不能对a进行删除。
这么多用户
任何用户对这个目录都有写的权限呀,但是还是没办法把这个目录给删掉
由于sbit的存在
8.3 权限管理-文件系统属性权限chattr
文件系统属性权限
上面是对文件,不能删除、添加、修改文件内容和名字
下面是目录,
只能修改目录下文件的数据,但是不允许在这个目录下建立和删除文件
i,把文件锁起来
a属性,把现有数据锁起来,但是还允许写入新的数据
不可以用vim修改数据,但是可以到里面追加
以下针对目录:
8.4 权限管理-系统命令权限sudo
以上所有权限都是用户操作文件、目录的权限
今天是对系统命令的权限
man5 sudo
lisa可以允许哪个用户在哪个网段上执行命令
允许sc用户在本机上执行重启命令
-h关机不行,-r重启可以
千万不要给普通用户赋予vim命令,否则它不仅可以管理自己的文件,还可以管理别人的文件,很危险
即有了shutdown命令又有了vim命令
把ip地址写成155
vim命令看不到了
所以注意这个ip限制的是被访问的ip,并不是来源ip
不是赋予了vim权限吗?
其实是切换用户没有用绝对路径,所以才可以用sudo命令赋予的权限
这下我能看、修改,哪怕我对这个命令的权限是0
9文件系统
9.1 文件系统管理-回顾分区和文件系统
分区文件名(分区号)
1,2,3,4只能给主分区和扩展分区上用
9.2.1 文件系统管理-文件系统常用命令-df、du、fsck、dumpe2fs
看每个分区占用状态
一般不用du来看大小,因为ll-h很轻易就能看到文件大小
ll只会一级目录占用的空间,不会统计子目录及以下所占有的空间
linux也要定期重启,游戏就是要每星期重启周二,网站是每个月重启
系统会自动执行
du统计目录的大小 只统计文件大小 看文件大小更准确
df统计分区的大小 不光统计文件大小,还要统计被系统占用的空间 看剩余空间更准确
9.2.2 文件系统管理-文件系统常用命令-挂载命令
所有的可存储设备都需要挂载。硬盘是自动挂载而其他的需要自己挂载。
所以它根本不是靠读写权限限制,而是靠
9.2.3 文件系统管理-文件系统常用命令-挂载光盘与U盘
把设备文件名和挂载点(盘符)连起来,给设备文件分配盘符
是sr0的软链接
现在去哪里访问文件,是设备文件名还是挂载点?当然是挂载点(盘符)
U盘的办法必须使用虚拟机本身
把鼠标点到虚拟机的里面再插入优盘
查询一下u盘的***
Linux识别了,就可以用远程工具了
9.2.4 文件系统管理-文件系统常用命令-支持NTFS文件系统
U盘可以挂载使用,但是NTFS文件系统的移动硬盘怎么办呢?
我们可以用内核编译或者第三方插件
安装gcc
插入硬盘
9.3.1 文件系统管理-fdisk分区-分区过程
手动分区命令
虚拟机先断电
开机
先改ip