赞
踩
#####一.文件权限存在的意义#####
系统最底层的设定方法之一,保证文件可以被可用的用户做相应操作
#####二.文件权限的查看#####
ls -l file ##查看文件本身属性
ls -ld dir ##查看目录本身属性
ls -l dir ##查看目录下文件或子目录的属性
ll file ##查看文件本身属性
ll -d dir ##查看目录本身属性
文件的总体属性
- |rw-rw-r--| 1 |kiosk | kiosk | 0 | Jul 21 09:18 | file
[1] [2] [3] [4] [5] [6] [7] [8]
[1]第一部分
**(表明文件类型)**
- 普通文件
d 目录
l 快捷方式;软链接
c 字符设备
s 套接字(程序的一扇门,与程序内部交互)socket
b 块设备(u盘之类)
[2]第二部分
**包括三部分 rwx | rwx |rwx u g o u表示user文件拥有者,g表示group文件所在组,o是others其他人 普通权限 r ##表示可读 对文件:是否可以查看文件中的内容 --->cat file 对目录:是否可以查看目录中有什么子文件或子目录 ---- > ls dir w ##表示可写,风险最高,只有有了r和x权限才能写,否则就算有w也没法真正写 对文件:是否可以改变文件里面记录i的字符 对目录:是否可以对目录中子目录或子文件的元素数据进行更改 x ##表示可执行,有了它就可以进入底下目录,有了r权限才能执行,不然都不可读又怎么执行 对文件:是否可以通过文件名称调用文件内记录的程序 对目录:是否可以进入目录 一个用户对于一个目录有写的权限,能删除别人的文件,却不能编辑修改文件? 因为你的目录有w权限,所以可以删除目录里面的文件。但文件本身没有w权限,所以不可以对文件内容修改编辑,如果编辑后强制退出保存 实际上是把原文件删除,有以目录的名义新建了一个名字一样的文件。
[3]
对目录:目录中子目录的个数
对文件:文件硬链接个数;
硬链接概念:一个文件有几个文件名(用ln命令实现多个文件名),我们就说该文件的链接数为几。由定义可知,此链接数可以是1, 这表明该文
件只有一个文件名。总之,硬链接就是让多个不在或者同在一个目录下的文件名,同时能够修改同一个文件,其中一个修改后,所有与其有硬
链接的文件都一起修改了。
[4]
文件的所有人
[5]
文件的所有组
[6]
对文件:文件大小
对目录:目录中子文件元素数据(matedate可以理解为文件的属性)大小
目录本身含有"."和“ . .“,各三位,记录的内容本身就为6
[7]
文件内容被修改的时间
[8]
文件的名称
我们现在看的重点是第二部分,在做实验验证时,可以先在指定目录下创建几个文件和子目录,在到子目录下创建几个文件
,比如在/mnt下建立,用“watch -n1 ls -lR /mnt/” 命令监控,观察/mnt底下文件属性有什么变化。
####四.如何改变文件的所属人和所属组####
whown 命令
whown 更改的所属人名字:更改的所属组名字 文件名字
文件名字最好用带绝对路径的名字,确定这个文件
用whown命令更改子目录的所属人和和所属人时,加-R会改变子目录及其底下文件或目录的所属人和所属组,不加-R只能改变这个子目录的本
身的所属人和所属组,底下的文件所属人和所属组不会改变,所以在更改底下文件时会提示你不能更改文件内容,但你如果编辑完强制退出保
存也可以,因为你之前修改成为这个目录的所属人,虽然不是目录底下文件的所属人,但你可以删除目录底下的文件,强制退出保存的过程实
际上就是将原来文件删除,然后用这个目录新建了一个名字一模一样的新文件。
chgrp 更改的所属组名字 文件名
chgrp命令可以更改文件的所属组
####五.如何改变文件的权限####
1.对权限的理解
r ##表示可读 对文件:是否可以查看文件中的内容 --->cat file
对目录:是否可以查看目录中有什么子文件或子目录 ---- > ls dir
w ##表示可写,风险最高,只有有了r和x权限才能写,否则就算有w也没法真正写
对文件:是否可以改变文件里面记录i的字符
对目录:是否可以对目录中子目录或子文件的元素数据进行更改
x ##表示可执行,有了它就可以进入底下目录,有了r权限才能执行,不然都不可读又怎么执行
对文件:是否可以通过文件名称调用文件内记录的程序
对目录:是否可以进入目录
2.更改方式
chmod <u|g|o><+|-|=><r|w|x> file|dir ("<>"表示必须要有的内容,“|”表示或)
chmod u+x /mnt/file1
chmod g-r /mnt/file2
chmod ug-r /mnt/file3
chmod u-r,g+x /mnt/file4
chmod -r /mnt/file5 ##把ugo三个用户的r权限都去掉了
chmod o=r-x /mnt/file6
为了更加方便,系统把r看作2的2次方,把w看作2的1次方,把x看作2的0次方,所以r为4,w为2,x为1,和为7
之前权限为-rwxr--r--,可以直接执行chmod 744 /mnt/file1修改
在新建目录时,会默认减去02
在新建文件时,如果不专门设置,系统为了安全,会减去022(让组和其他人不能写),文件又会再减去111(去掉执行)。
###默认权限设定####
umask ##查看系统保留权限,默认为022
umask 077 ##修改系统保留权限,改为077,这是临时生效,之在当前shell有效,关闭后再打开就无效了
022前面那个0是特殊权限位,本文后面会讲
###永久设定系统默认保留权限##
vim /etc/bashrc ##设置shell中的权限,进去后用“/muask”找到默认保留权限位置,前一个umask是普通用户的muask,后一个是超级用户的muask
vim /etc/profile ##设置系统中的权限
以上俩个文件必须保持一致
source /etc/bashrc
source /etc/profile ##让更改立即生效
###特殊权限()###
1.sticky ##粘制位
作用:
只针对目录生效,当一个目录有sticky权限时
在这个目录中的文件只能被文件的所有者删除
设定方式:
chmod o+t dir
chmod 1xxx dir
2.sgid ##强制位
作用:
对文件:只针对与二进制可执行文件
当文件上有sgin时任何人执行此文件产成的进程都属于文件的组
对目录:当目录上有sgid权限时任何人在此目录中建立的文件都属于目录的所有组
设定方式:
chmod g+s file|dir
chmod 2xxx file|dir
3.suid ##冒险位
作用
只针对与2进制可执行文件,
当文件上有suid时任何人执行这个文件中记录的程序产生的进程都属于文件的所有人
设定方式
chmod u+s file
chmod 4xxx file
###acl权限列表###
1.作用
让特定的用户对特定的文件拥有特定权限
2.acl列表查看
drwxrwx—+ 2 root root 17 Jul 18 01:39 /westos/
有加号就说明权限列表开启了,拿ls看就不准确了,得拿getfacl命令看
getfacl
getfacl file ##查看acl开启的文件权限
#file:file ##文件名称
#owner:root ##文件拥有者
#group:root ##文件拥有组
user::rw- ##文件拥有人的权限
user:kiosk:rwx ##指定用户的权限
group::r-- ##文件拥有组的权限
mask::rwx ##能赋予用户的最大权力值
other::r-- ##其他人的权限
3.acl列表的管理
getfacl file
getfacl -m u:username:rwx file ##设定username对file用有rwx权限
getfacl -m g:group:rwx file ##设定group组成员对file拥有rwx权限
getfacl -x u:username file ##从acl列表中删除username
getfacl -b file ##关闭file上的acl列表
4.mask值
在权限列表中mask表示能生效的权力值
当用chmod减小开启acl的文件权限时mask值会发生变化
chmod g-w westos
5.acl的默认权限设定
acl默认权限设定只针对目录设定
注意:acl权限只针对设定完成之后新建立的文件或目录生效,而一存在恶毒文件是不会继承默认权限
setfacl -m d:u:student:rwx /mnt/westos
setfacl -k /mnt/westos
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。