一: 权限的查看
1:查看目录的权限 [root@desktop5 Desktop]# ls -ld /tmp/
drwxrwxrwt. 15 root root 4096 Oct 15 11:28 /tmp
2:查看文件的权限 [root@desktop5 Desktop]# ls -l /tmp/file
-rw-r--r--. 1 root root 0 Oct 15 13:03 /tmp/file
二:权限的基本概念
例如:drwxrwxrwx
分析:一共九位:第一位是文件类型,第二位至第四位是拥有者的权限,第五位至第八位是所属组的权限,最后三位是指其他人的权限。
1.文件类型:- --普通文件, d --目录, b --块设备文件, s --套接字文件, p --管道文件, l --软链接文件, c --符号文件
2.权限说明:1>.对于文件: r --读权限, w --写权限, x --执行权限, - --没有此权限
2>.对于目录: r --可以读,查看(可执行ls命令), w --写权限,能够创建删除重命名他的文件及子目录, x --可cd,且可以ll, - --没有此权限
三:权限的设置
1:修改所有人、所属组 命令为chown和chgrp。
eg:chown student /tmp/file (将/tmp/file所有人改为student)
chown .whell /tmp/file (将/tmp/file所属组改为whell)
chgrp whell /tmp/file (将/tmp/file所属组改为whell)
chown student.whell /tmp/file (将/tmp/file所有人改为student,所属组改为whell)
chown student.whell /tmp/dir -R (将/tmp/dir目录下的所有文件目录的所有人改为student,所属组改为whell)
chown student:whell /tmp/file (将/tmp/file所有人改为student,所属组改为whell)
2:修改权限:chmod命令
1>.使用u,g,o,a,r,w,x,-
格式:chmod u|g|o|a +|- r|w|x dir名字|file名字
eg:chmod g+wx file1 (给file1文件的所属组加上wx权限)
chmod a-x file1 (给file1文件的所属组减去x权限)
2>.使用数字方式
格式:r=4, w=2, x=1, -=0
eg: chmod 750 file (把file设为rwxr-x---)
chmod 644 /tmp/dir -R (把/tmp/dir 目录下的文件全部设为644权限 -R 递归)
四:特殊权限:
1:基本概念:
1>.suid (u+s) 只能设置在可执行文件上面,效果为:任何人在执行该文件时暂时拥有文件所有人的权限
2>.sgid (g+s) 既可以作用在可执行文件上面,也可以作用在目录。效果为:a. 任何人在执行该文件时暂时拥有文件所属组的权限 b.任何人在该目录下新建的子文件和子目录其所属组将被继承
3>.sticky (o+t) 只能设置在目录上。效果为:任何人在此目录下创建的文件和目录只能由创建者和root可以删除
2:设置特殊权限
1>.使用u+s,g+s,o+t方式
格式:chmod u+s 文件名
chmod g+s 文件名/目录
chmod o+t 目录
2>.使用数字方式
格式:suid=4,sgid=2,sticky=1 ,与设置普通权限相同,只是在数字前面加一位来表示特殊权限
eg:chmod 1755 /tmp/dir (设置为rwxr-xr-t)
五:默认权限(遮罩权限)
1:基本概念
1>.Linux默认文件最大权限为666,目录权限为777
2>.root用户创建的文件权限默认为644,目录权限默认为755,umask=022
3>.root用户创建的文件权限默认为664,目录权限默认为775,umask=002
2:配置文件
1>./etc/bashrc 可以修改umask值
2>.普通用户家目录下的.bashrc 可以修改umask
六:ACL访问控制列表 在默认权限、特殊权限无法实现的时候才考虑设置ACL
1:基本概念: linux系统里面,并不是只能为所有者,同组用户和其他用户这三类人分配一个文件(目录)的权限,你还可以指定其他的用户或者组,不过有个前提,就是给其加上ACL权限
2:设置ACL
eg:/tmp/items/目录的权限为rwxr-x---,要求boos用户对其有rwx权限,client组对其有rwx权限
解决办法:setfacl –m u:boos:rwx/tmp/items/
setfacl –m g:client:rwx /tmp/items/
getfacl /tmp/items/ (查看acl权限)
3:acl操作
1>.删除当个的acl权限 (-x参数)
setfacl –x u:boos /tmp/items/
setfacl –x g:client /tmp/items/
2>. 清空所有的alc设置
setfacl –b /tmp/items/
3>.旧的子目录或子文件也将拥有权限
setfacl –R u:boos:rwx /tmp/items/
4>.新建的子目录或子文件也将拥有权限
setfacl –R –m d:u:boos:rwx /tmp/items/
七:文件的特殊属性
1:查看 lsattr文件名 默认为e
eg:lsattr /etc/passwd
2:修改 chattr man chattr
常用的参数 –a 仅追加,只能增加内容,不能删除
-A 不更新时间戳(并发访问的文件)
-i文件完全不可改变
eg: chattr +a file (将文件属性改为仅追加)<br