一、权限的概念
概念:在操作对象有满足人的需求属性时,对不同用户(人)的限制
Linux中的用户类型:超级用户、普通用户。
在Linux下root用户不受限制、普通用户受权限限制;Linux中root用户的命令提示符时‘#’,普通用户是‘$’;
二、Linux权限管理
当我们使用ll命令打开目录时,我们可以查看文件、目录的属性信息
那么,这些信息分别表示什么呢?
1、文件类型
2、文件访问者类型即修改
文件访问者类型:拥有者(u)、所属组(g)、其他人(o)
chown:
功能:修改文件的拥有者
格式:chown 新拥有者 文件名
chgrp:
功能:修改文件的所属组
格式:chown 新所属组 文件名
3、权限表示
我们可以用:rwx-四个三三组合表示文件的访问者的权限
如上;linuxstudy目录拥有者的权限为:rwx(111、7),即可读可写可执行
当我们用二进制表示文件的权限时:rwx=111、rw-=110、r-w=101,即rwx权限拥有时就表示1,没有时就是0;转化为八进制时:rwx=07,rw-=06,r-w=05……
4、权限修改
命令:chmod
功能:修改文件、目录的权限
格式:chmod 权限 文件名
方式一:
我们可以用访问者类型(u,g,o,a(表时所有))+、-、=相应权限来修改
方式二:用八进制来表示权限
如下:
5、初始权限
默认权限mask:当我们新建文件的默认权限为0666,即rw-rw-rw-;新建目录的默认权限为0777,即rwxrwxrwx.
但是当我们真正去创建时却发现不是如此:
从上面我们可以发现,新建文件text.cpp的权限为664即rw-rwr–. 这时为什么呢?
这是因为Linux文件的初始权限还受umask掩码的的影响,文件的实际权限为:mask&(~umask)
超级用户的默认掩码为0022,普通用户的默认掩码为0002
我们还可以用umask来设置掩码
6、粘滞位
我们知道当我们拥有一个目录的写权限时,我们就可以在其下面创建和删除文件,而无论你是否是该文件的拥有者或所属组,这是一种不合理的行为,这时候我们就可以设置粘滞位防止该文件被删除。
格式:chmod -t 文件名
功能:设置粘滞位防止该文件或目录被他人删除(除root)