1.权限
在Linux系统中,每个文件都有很多的属性,这些属性信息都放在了文件的inode中,其中权限是众多属性的一个属性。
2.权限的分类
权限的分类有:
——》普通的权限:也就是ls命令显示的owner,group以及others的rwx权限
——》特殊的权限SUID,SGID,SBIT:
a)Set UID:s标识出现在文件所有者权限的x权限位置上。
b)Set GID:s标识出现在文件所属用户组权限的x权限的位置上。
c)Sticky BIT:t标识出现在others权限的x权限的位置上。
——》隐藏的权限或属性:可以利用chattr来设定隐藏权限,利用lsattr来查看隐藏权限
3.特殊权限SUID,SGID,SBIT的设置方式
4代表SUID
2代表SGID
1代表SBIT
然后使用chmod命令去设置特殊权限就行了。例如,chmod 4755 filename,其中755代表设置的是普通权限。而4则代表要为filename设置上SUID的权限。
4.默认权限的概念
文件的默认权限指的是,当新建一个文件或者目录时候,这个文件或目录的缺省的权限。
文件和目录文件的默认权限是不一样的。文件的默认权限是-rw-rw-rw-。目录的默认权限是drwxrwxrwx。
而当某个用户创建一个文件或者目录文件时,这个新东西的真正的默认权限有这样一个公式:
真正的新文件或者目录的默认权限 = 文件或目录的默认权限 - umask设定值
5.ACL,Access Control List
ACL的主要的目的是提供传统的owner、group、others的read、write、execute权限之外的具体权限的设置。ACL可以正对指定的用户,指定的用户组等来来进行r、w、x的权限的设置。
ACL的权限设置可以通过setfacl命令来设置,通过getfacl命令来查看。
6.Linux中文件的普通权限修改
有两种方法:
(1)通过数字来改变文件权限
格式:chmod [-R] xyz filename/dirname #其中-R为递归修改目录,xyz可为4、2、1三个数字
eg:
$ chmod 755 install.log #将install.log的权限修改为,owner是rwx,owner所属用户组为rx,其他用户为rx
(2)通过字符来修改权限
格式如下:
eg:
$ chmod u+x install.log #将install.log的拥有着新增执行权限
$ chmod a+x install.log #将install.log的执行权限赋给系统的所有用户