linux权限的设定
文件或目录的访问权限分为只读,只写和可执行三种。以文件为例,只读权限表示只允许读其内容,而禁止对其做任何的更改操作。可执行权限表示允许将该文件作 为一个程序执行。文件被创建时,文件所有者自动拥有对该文件的读、写和可执行权限,以便于对文件的阅读和修改。用户也可根据需要把访问权限设置为需要的任 何组合。有三种不同类型的用户可对文件或目录进行访问:文件所有者,同组用户、其他用户。所有者一般是文件的创..
文件或目录的访问权限分为只读,只写和可执行三种。以文件为例,只读权限表示只允许读其内容,而禁止对其做任何的更改操作。可执行权限表示允许将该文件作 为一个程序执行。文件被创建时,文件所有者自动拥有对该文件的读、写和可执行权限,以便于对文件的阅读和修改。用户也可根据需要把访问权限设置为需要的任 何组合。
有三种不同类型的用户可对文件或目录进行访问:文件所有者,同组用户、其他用户。所有者一般是文件的创建者。所有者可以允许同组用户有权访问文件,还可以将文件的访问权限赋予系统中的其他用户。在这种情况下,系统中每一位用户都能访问该用户拥有的文件或目录。所以文件存在的意思就是权限时系统最底层安全设定的方法之一,同时也可以别可用的用户作相应的操作。
1. 文件权限的查看
文件权限我们可以用 ls -l 来查看 ,目录则用 ls -d 来查看。
例如:
2. 文件权限的读取
- |rw-rw-r--| 1 | kiosk | kiosk | 0 | Jul 21 09:18 | file
类型 权限 文件别硬连接的次数 文件所属的用户 文件所属的组 文件的大小 最近修改的时间 文件名
文件的权限类型
- | 空文件,或者文本 |
d | 目录 |
l | 软连接 |
s | socket 套接字 |
b | block 块设备 |
c | 字符设备 |
文件的权限
rwx | r-x | r--
u g o
文件的权限分三部分组成: u 文件的所有人, g 文件的所有组 , o 文件的其他人
3.修改文件/目录权限的命令
文件用户,用户组的修改
chown 用户名 文件 表示要修改文件的用户
chgrp 用户组 文件 表示要修改文件的用户组
目录用户,用户组的修改
chown -R 用户名 文件 表示要修改目录的用户
chgrp -R 用户组 文件 表示要修改目录的用户组
chown 用户:用户组 文件/目录 表示修改该文件/目录的用户和用户组
4. 权限的更改
我们用chmod 命令来改变文件或目录的权限
chmod [(u,g,o) (+,-,=) (r,w,x)] 文件/目录
chmod u+w file 表示 file 该文件的所有人权限加上了可读的权限,等等以此来修改文件/目录的权限
但是这种方法太麻烦,不够高效。所有我们用数字的方式来修改:
r=4 w=2 x=1
那么就可以表示为:rwx=7 rw- =6 r-x = 5 r-- = 4
-wx =3 -w- =2 --x = 1 --- = 0
那么我们就可以直接用数字的方式来修改权限,例如:
默认权限的修改
普通文件常常是为了记录数据,且为安全起见,不随便开放“x”权限,所以默认最大为开放读写(rw-rw-rw-),即“666”;
目录则需开放“x”以便切换至该目录,默认最大是“777”;
创建一个新目录或普通文件,其默认权限为上述的最大默认权限减去遮罩码;
- 比如遮罩码设置为0022(第一位用于特殊权限,下述),则新建文件即为“rw-rw-rw-”减去“- - - -w - - w -”等于“rw- r- -r- -”;新建目录用同样方法计算可得默认权限为“rwxr-xr-x”。
显示遮罩码,选项“-S”表示以符号(Symbolic)方式显示:
设置遮罩码
使用命令设置的遮罩码仅在当前shell生效。永久生效的是配置文件,/etc/bashrc中使用了该命令设置了各用户的默认遮罩码。
5. 特殊权限:
1.sticky Sticky Bit,简称SBIT。仅对目录有效。若目录有此权限,目录的其他用户的“x”权限位置变为“t”。
具有SBIT权限的目录A,其中有文件B,则仅目录A的属主、文件B的属主和root可以对其重命名、剪切、删除等。
设定方式:
chmod o+t dir
chmod 1xxx dir
Set UID,简称SUID。该权限仅对二进制文件有效,且仅在该文件执行过程中生效。当文件具有SUID权限时,文件属主的“x”权限位置变为“s”。
若文件具有SUID权限,且执行者对于该文件有“x”权限,当文件被其执行时,执行者将具有该文件属用户的权限。
设定方式:
chmod u+s file
chmod 4xxx file
当一目录具有SGID权限时,若用户对该目录有“r、x”权限(可“cd”至该目录),则用户“cd”至该目录后,用户的有效用户组不会变化,但在这个目录中创建的文件的属组,则不是用户的当前有效用户组,而是该目录的属组。
举个例子,用户user1在家目录下创建的文件的属组是user1,而在目录westos下创建的文件test1的属组是目录westos的属组。
设定方式:
chmod g+s file|dir
chmod 2xxx file|dir
facl权限:
fcal列表查看
-rw-rwxr--+ 1 root root 0 Jul 21 15:45 file
getfacl file
fcal权限的设定:
setfacl -m u:username:rwx file 设定username对file拥有rwx权限
setfacl -m g:group:rwx file 设定group组成员对file拥有rwx权限
setfacl -x u:username file 从acl列表中删除username
setfacl -b file 关闭file上的acl列表
显示文件结果中student组对file文件有rw权力,文件的详细信息中student用户组对该文件有特殊的权限
facl的默认权限设定
facl默认权限只针对目录设定
"acl权限只针对设定完成之后新建立的文件或目录生效,而已经存在的文件是不会继承默认权限"
setfacl -m d:u:student:rwx file
setfacl -k file 取消默认权限设定
更多推荐
所有评论(0)