Linux基础三


六、权限管理

1.查看权限
查看文件属性(详细信息):ls-l     -rw-r--r-- 1 root root 0 Dec 30 21:43 hello
查看文件属性(详细信息):ls -ld  drwxr-xr-x 2 root root 6 Dec 30 21:44 test
1个字符代表文件类型:
• d
表示目录
• -
表示普通文件,
• l
表示链接文件(link file);
• b
表示设备文件,例如硬盘(可随机存取设备);
• c
表示为字符设备,例如键盘、鼠标(一次性读取设备)
   Linux
是个多用户多任务的系统,常常会有多人同时使用同一主机来进
 
行工作,为了考虑每个人的隐私权以及每个人喜好的工作环境,对用户进
 
行分类:
-
文件拥有者(user)
-
文件所属组(group)
-
其他人(other)
r(read):
读权限,用数字4表示
对于文件:cat
对于目录:ls
w(write):
写权限,用数字2表示
对于文件:vim,gedit
对于目录:touch/mkdir,rm/rmdir
x(exec):
执行权限,用数字1表示
对于文件:普通文件不需要执行权限;
对于目录:能否cd到该目录
24个字符代表文件所有人的权限;
57个字符代表文件所属组的权限;
812个字符代表其他人的权限。
第二栏表示有多少文件名链接到此节点(i-node)
第三栏代表文件所有人,第四栏代表文件所属组。
-rw-r--r-- 1 root root
代表文件所有人root对文件有读写的权限,
文件所属组root组成员对文件有读的权限。
第五栏代表文件的容量大小,默认单位为Bytes
第六栏表示文件的创建日期或者是最近的修改日期;
第七栏表示文件的文件名;文件所有人和所属组
chown
命令:修改文件的所有人或所属组
chown student
文件
chown student.student
文件
chown student
目录 -R
chown student:student
目录 -R
chown --reference=find.all file

2.文件所有人和所属组
chgrp
命令:修改文件的所属组
chgrp student
文件
chgrp student
目录 -R
chgrp --reference=find.all file
文件权限的修改
第一种方法:通过字符方式修改
格式:
chmod <u|g|o><+|-|=><r|w|x>
目标
实例:
chmod u+r,g-w,o=r /mnt/file
chmod u=rw,g=r,o-r /mnt/file


3.
文件权限的修改
第一种方法:通过数字方式修改
格式:
chmod
数字 目标
总结:
r:4 w:2 x:1
7:rwx 6:rw- 5:r-x 4:r--
3:-wx 2:-w- 1:--x 0:---
4.
系统默认权限
当你创建一个新的文件或目录时,该文件或目录有默认权限。
• umask
的分数指的是该默认值需要减掉的权限。
在默认权限的属性上,目录与文件是不一样的。
文件的最大权限为666,目录的最大权限为777
查看umask:
umask
修改umask:
umask 022 //
临时修改umask
vim /etc/bashrc //
永久修改bash里创建文件的umask
vim /etc/profile //
永久修改每个用户创建文件的umask
注意:想要永久性的修改umask值,一定要重新读取两个配置文件后,才能生
效。


5.
特殊权限
o+t
权限:sticky,粘制位
效果:
只针对于目录,当目录上有o+t的权限时,所有用户在该目录下均可
创建文件,但只有文件所有人和root用户可以删除该目录下的文件。
设定方式:
chmod o+t
目录
chmod 1777
目录
在系统中的应用:
[root@desktop126 ~]# ll -ld /tmp/
drwxrwxrwt. 28 root root 4096 Dec 31 01:39 /tmp/
u+s
权限:suid,冒险位
效果:
只针对于二进制可执行文件,该命令发起的程序是以该命令所有人的
身份去执行。
设定方式:
chmod u+s
二进制可执行文件
chmod 4755
二进制可执行文件
在系统中的应用:
[root@desktop126 ~]# ll /usr/bin/passwd
-rwsr-xr-x. 1 root root 27832 Jan 29 2014 /usr/bin/passwd
[root@desktop126 ~]# ll /etc/shadow
---------- 1 root root 1493 Dec 30 21:37 /etc/shadow
g+s
权限:强制位
效果:
针对二进制可执行文件:该命令发起的程序是以该命令所有组的
身份去执行;
针对目录:目录新建文件的所属组与该目录的所有组保持一致;
设定方式:
chmod g+s
文件|目录
chmod 2755
文件|目录
6.
文件访问控制列表ACL
setfacl
:设置文件或目录的ACL权限
格式:
setfacl -m <u|g|m>:<username|groupname>:rwx
文件名
//
添加或者修改acl权限
setfacl -m d:<u|g|m>:<username|groupname>:rwx
目录名
//
添加或者修改目录下新建文件默认acl权限
传统的权限仅有三种身份(owner,group, others) 搭配三种权限
(r,w,x),
并没有办法单纯的针对某一个使用者或某一个群组来设置特定
的权限需求,此时就得要使用ACL(文件访问控制列表,Access Control
List)
这个机制。
ACL
因此目前ACL几乎已经默认加入在所有常见的Linux文件
系统的挂载参数中(ext2/ext3/ext4/xfs等等),但rhel6.0版本默认不
支持acl的功能。


如何查看文件是否有acl权限?
ll /etc/passwd
-rw-r--r--. 1 root root 2173 Jan 6 21:08 /etc/passwd
//
注释:第11位为.时代表没有acl权限;为+时代表
acl权限。
setfacl
:设置文件或目录的ACL权限
格式:
setfacl -m <u|g|m>:<username|groupname>:rwx
文件名
//
添加或者修改acl权限
setfacl -m d:<u|g|m>:<username|groupname>:rwx
目录名
//
添加或者修改目录下新建文件默认acl权限
格式:
setfacl -x <u|g>:<username|groupname>
文件名
//
删除某一个acl权限
setfacl -x d:<u|g>:<username|groupname>
目录名
//
删除某目录下新建文件默认的一个acl权限
setfacl -b
文件名
//
删除该文件所有的acl权限
setfacl -b
目录名
//
删除某目录下新建文件默认的所有的acl权限
例子:
setfacl -m u:user2:rw hello
//
指定user2用户对hello文件有读写权限
setfacl -m g:user2:rw hello
//
指定user2用户组对hello文件有读写权限
setfacl -m m:r hello
//
指定该文件中最大生效的权限,但不稳定,会随
着其他的设定而修改
例子:
setfacl -x u:user2 hello
//
删除user2用户对hello文件的特殊权限
setfacl -x g:user2 hello
//
删除user2用户组对hello文件的特殊权限
setfacl -b hello
//
删除hello文件的acl权限
getfacl:
查看文件的ACL权限。
[root@foundation0 ~]# getfacl hello
# file: hello //
文件名
# owner: root //
文件所有人
# group: root //
文件所属组
user::rw- //
文件所有人对该文件的权限
user:user1:rw- //
特定用户user1对该文件的权限
user:user2:rwgroup::
r-- //
文件所属组成员对该文件的权限
group:user2:rw- //
特定用户组user2对该文件的权限
mask::rw- //
默认给最大的权限
other::r-- //
其他人对该文件的权限

     

  

  


 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值