权限管理
Posted skyzy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了权限管理相关的知识,希望对你有一定的参考价值。
权限管理: 普通权限、默认权限、特殊权限、acl访问控制策略 普通权限:查看:ls -l eg:-rw-r--r--. 1 root root 0 Apr 6 17:09 file1 第一段: 第1个字符:文件的类型 -:普通文件 d:目录 l:链接文件 c:字符设备 b:块设备 s:socket文件,套接字文件:网络间进程通信相关的文件 p:管道文件 第2-11个字符:文件的权限 第二段:目录的子目录个数或者文件的硬链接数 磁盘读取数据的最小单位:1个扇区=512字节 系统读取数据的最小单位:一次性读取连续8个扇区=512字节x8=4096字节=4kb 块 创建硬链接: ln 源文件 链接文件 (说明:只能是文件,不能对目录创建硬链接;删除其中任何一个,对另一个文件没影响;相同的inode) 创建软链接:(相当于快捷方式) ln -s 源文件 链接文件 第三段:文件的拥有者(创建者)或者属主 第四段:文件的属组 第五段:文件的大小 第6-8段:文件的最后一次的修改时间 第九段:文件名 普通权限:rwx 对文件:r:查看文件内容 w:可以修改文件内容 x:文件可以被执行 对目录:r:可以列出目录里的内容 w:在该目录下创建、删除、重命名等文件---->必须要先能进入该目录 x:可以切换到该目录(cd) 更改文件权限: chmod: -R 递归修改 # chmod u=rx,g+w,o-r file2 # chmod a+x file3 # chmod a-x file3 # chmod +x file3 # chmod a=rwx file3 # chmod 635 file4 修改文件的属主和属组: chown:修改属主和属组 chgrp:修改用户的属组 -R 递归修改(连同目录下的文件也修改) # chown stu2.admin file1 # chown stu2:admin file1 # chown stu2. file1 # chown stu2 file1 # chown .admin file1 # chown :admin file1 chgrp admin file1 默认权限(遮罩权限):创建文件的默认权限,由umask决定默认权限 root用户: 创建目录的默认权限:755 创建文件的默认权限:644 普通用户: 创建目录的默认权限:775 创建文件的默认权限:664 目录最大权限:777 文件最大权限:666 umask:查看当前用户的umask root:umask:0022 普通:umask:0002 修改用户的umask: 1.临时修改 umask xxxx 只对当前用户当前终端生效 2.永久修改 (1):针对某个用户生效 # vim ~/.bashrc --->umask 0005---># source ~/.bashrc (2):针对所有用户生效 # vim /etc/bashrc--->umask 0003---># source /etc/bashrc /etc/bashrc:每次运行的bash信息,系统的别名,函数,默认权限等,当打开shell时读取该文件 /etc/profile:系统和用户的环境变量信息,用户第一次登录时被读取 ~/.bashrc:当前用户的bash shell 信息,当用户登录和打开新的shell时读取该文件 ~/.bash_profile:当前用户的环境变量信息,当用户登录时该文件被读取 ~/.bash_logout:当用户退出shell时首先会读取该文件然后再退出 用户登录后所读取的文件顺序: /etc/profile ---> ~/.bash_profile ---> ~/.bashrc ---> /etc/bashrc ---> ~/.bash_logout 特殊权限: 冒险位:setuid:4000 临时拥有文件拥有者的权限,作用在属主身上,一般针对命令 eg:# chmod u+s filename # chmod 4xxx filename # -rwSr--r-- 1 clouder clouder 1.9K Jun 16 23:02 filename # -rwsr--r-- 1 clouder clouder 1.9K Jun 16 23:02 filename 强制位:setgid:2000 针对目录,任何人在该目录下创建的文件强制继承该目录的属组 eg:# chmod g+s filename # chmod 2xxx filename # -rwxr-sr-x 1 clouder clouder 1898 Jun 16 23:02 filename 粘制位:stick:1000 针对公共目录 该目录下的文件只有root和文件的创建者可以删除, 其他人不能够删除不属于自己的文件 自己管理自己 eg:# chmod o+t filename # chmod 1xxx filename ACL访问控制策略: setfacl :设置acl策略 -m:修改acl策略 -R:递归修改,针对目录,目录下的老文件会有acl策略,新建的文件没有 -d:递归修改,默认acl策略,针对目录; 该目录本身和目录下的老 文件不会有acl策略,新建的文件有acl策略 -x:删除某个用户或某个组的acl策略 -b:删除所有acl策略 mask:定义除了拥有者和其他人以外的最大权限 eg:# setfacl -m u:harry:rw file1 setfacl -m g:admin:rwx file2 setfacl -x u:harry file1 setfacl -x g:admin file1 setfacl -b file2 setfacl -x m:: file1 --->删除mask setfacl -R -m u:u1:rwx kk setfacl -d -m u:u1:rwx kk -R和-d一起使用:该目录本身和该目录下的普通文件不会继承acl策略; 该目录下新创建的文件和目录以及老的目录会继承acl策略。 getfacl dirname:查看ACL策略 给文件添加a属性,这样就只能往文件尾部追加数据,而不能修改已有的数据,也不能删除文件。 添加a属性: chattr +a filename 删除a属性: chattr -a filename 查看隐藏属性: lsattr filename以上是关于权限管理的主要内容,如果未能解决你的问题,请参考以下文章