目录
1.umask
为什么一开始创建了一个文件或目录后默认权限是这个样子呢?
首先我们引入一个umask的概念:
umask被叫做权限掩码,对于我们创建的一个目录,它的起始权限是从777(8进制),对于我们创建的一个文件,它的起始权限是从666(8进制),但是当我们以起始权限为出发点去看待创建的文件(目录)的权限时会发现是存在差异的,产生这样的情况原因是因为:
我们创建了一个内容后,显示的权限其实是最终权限,
而 最终权限 = 起始权限& ~umask,我们举一个例子:
补充:(关于更改umask的值)
umask 4位的8进制
(这4位的8进制是你想设置的umask的值)
可是为什么要有umask呢?
通过自己去设置一个合理的 umask值,来确保你创建的文件(目录)具有所希望的缺省权限,防止其他非同组用户对你的文件具有写权限,可以更好的保护创建的文件(目录)的安全
2.sudo
sudo的作用是什么?
sudo 命令提供了一种机制,它可以在不用分享 root 用户的密码的前提下,为信任的用户提供系统的管理权限
如何把一个用户给添加到信任列表?
默认已经安装了sudo
第一步:
假如普通用户在命令行使用了sudo命令后弹出了
等提示,说明这个HM用户没有被添加到信任列表
此时还可以在命令行输入
sudo -l
它可以查看哪些用户可以使用sudo权限
第二步:
这是在/etc路径下的sudoers文件,此时这个文件,假如此时你通过
vim /etc/sudoers
去打开,然后想去编辑里面的内容,你要给sudoers给赋予写权限,即:
chmod u+w /etc/sudoers
此时才可以去编辑其中的内容
或
不修改权限,直接使用
visudo /etc/sudoers
去打开,此时进入后就可以直接去编辑内容
第三步:
当把sudoers用vim编辑器打开后
按照上面的格式去输入你想添加进信任列表的用户,然后保存退出
此时你想添加进信任列表的用户已经被添加进信任列表了,此时就可以在这个Chen的用户下去使用sudo这个命令了
3.粘滞位
假如other对应的u(文件所有者的权限)中没有w(写)权限,此时当你以文件所有者的身份进入这个other目录后想去删除这个other下的文件权限是不够的
在这个other的目录下以目录的所有者去访问这个文件的内容,此时我去删除这个other目录下其他用户创建的文件,此时是可以删除的,因为一个文件可以被删除根本不是这个文件本身的属性,而是与这个文件所在的目录该用户是否具有写权限,即删除一个文件是由这个文件所属的这个目录说的算的
要知道在实际的工作中我们会面临一个场景:
假如我们和其他的用户要在同一个目录下去完成某个项目,这个公共的目录对所有人都具有rwx权限,如果此时我不想让别人看我写的文件的内容此时是可以设置权限的,但是假如别人想删除我写的文件时,我是无法阻止别人去删除的,因为删除一个文件是由这个文件所属的目录说的算的,假如我想在保证所有人对这个公共目录都具有rwx权限的同时又可以使这个公共目录下的文件无法被非文件的拥有者删除,此时就可以给这个目录添加粘滞位
(这个other此时就是一个公共的目录,对所有人都具有rwx权限)
通过root用户(普通用户)去使用命令
chmod +t 目录名
此时就给这个目录添加了粘滞位。
当一个目录被设置为“粘滞位”,则该目录下的文件只能由:
一 超级管理员删除
二 该目录的所有者删除
三 该文件的所有者删除
注意:
1.粘滞位只可以给目录设置
2.想删除粘滞位时只能是谁添加的谁才可以删除,对于root用户可以无视这一点,root用户可以直接去删除而不用管到底是谁设置的粘滞位(对于这种多人工作的公共目录,一般由root用户去设置粘滞位)