权限管理+chmod+chown+chgrp

权限的作用

通过对文件设定权限可以达到以下三种访问限制权限:
只允许用户自己访问;
允许一个预先指定的用户组中的用户访问;
允许系统中的任何用户访问。

权限的查看和解释

[root@break ~]# ll /etc/passwd
-rw-r--r--. 1 root root 2221 3月  22 21:28 /etc/passwd
以上代表的是:/etc/passwd这个文件,属组和属主都是root,文件类型为一般文件,所有者可以对其进行读写,组内人和其他人可以对其进行读操作。

在这里插入图片描述

其中:文件类型,可以为p、d、l、s、c、b和 –
p表示命名管道文件
d表示目录文件
l表示符号连接文件
-表示普通文件
s表示socket套接口文件,比如我们启用mysql时,会产生一个mysql.sock文件
c表示字符设备文件,例: 虚拟控制台 或tty0
b表示块设备文件   例: sda, cdrom

权限说明

文件:
r:读
w:写
x:执行
目录:
r:读(看到目录里面有什么) ls
w:在目录里面建文件,删除,移动 touch mkdir rm mv cp
x:进入 cd cat
UGO:所有者——用户组——其他

文件权限例子:

- rwx --- ---:文件所有者对文件具有读取、写入和执行的权限。
- rwx r-- r--: 文件所有者具有读、写与执行的权限,用户组里用户及其他用户则具有读取的权限
- rw- rw- r-x:文件所有者与同组用户对文件具有读写的权限,而其他用户仅具有读取和执行的权限。
drwx--x—x: 目录所有者具有读写与进入目录的权限,其他用户近能进入该目录,却无法读取任何数据。
drwx------: 除了目录所有者具有完整的权限之外,其他用户对该目录完全没有任何权限。

命令

chown:可以改变文件(目录)的属主
chgrp: 可以改变文件(目录)的属组
chmod : 可以修改文件(目录)的权限
例子

chown du 1.txt     #修改1.txt的属主为du
chown du:ma   2.txt     #修改2.txt的属主为du,属组为ma
chown :du  3.txt         #修改3.txt的属组为du
[root@break test1]# touch {1..3}.txt
[root@break test1]# chown du 1.txt
[root@break test1]# chown du:ma 2.txt
[root@break test1]# chown :du 3.txt 
[root@break test1]# ll
总用量 0
-rw-r--r--. 1 du   root 0 3月  25 16:04 1.txt
-rw-r--r--. 1 du   ma   0 3月  25 16:04 2.txt
-rw-r--r--. 1 root du   0 3月  25 16:04 3.txt

文件权限的属主一定拥有对文件的写文件。

[root@break test1]# touch 4.txt
[root@break test1]# chmod 000 4.txt 
[root@break test1]# echo "afasdf" >> 4.txt
[root@break test1]# cat 4.txt 
afasdf

chmod

使用字符来设定权限
u:属主
g:属组
o:其他人
a:所有人
+增加权限,-代表减少权限,=代表给定权限
例子:

[root@break test1]# ls -al
总用量 4
drwxr-xr-x. 2 root root   71 3月  25 19:05 .
dr-xr-x---. 9 root root 4096 3月  25 16:09 ..
-rw-r--r--. 1 root root    0 3月  25 19:05 1.txt
-rw-r--r--. 1 root root    0 3月  25 19:05 2.txt
-rw-r--r--. 1 root root    0 3月  25 19:05 3.txt
-rw-r--r--. 1 root root    0 3月  25 19:05 4.txt
-rw-r--r--. 1 root root    0 3月  25 19:05 5.txt
[root@break test1]# chmod a+x 1.txt
[root@break test1]# ll 1.txt 
-rwxr-xr-x. 1 root root 0 3月  25 19:05 1.txt
[root@break test1]# chmod u-w 2.txt 
[root@break test1]# ll 2.txt 
-r--r--r--. 1 root root 0 3月  25 19:05 2.txt
[root@break test1]# chmod o=rwx 3.txt 
[root@break test1]# ll 3.txt 
-rw-r--rwx. 1 root root 0 3月  25 19:05 3.txt

使用数字来设定权限
r:4
w:2
x:1

[root@break test1]# ll
总用量 0
-rw-r--r--. 1 root root 0 3月  25 19:05 4.txt
-rw-r--r--. 1 root root 0 3月  25 19:05 5.txt
[root@break test1]# chmod 000 4.txt
[root@break test1]# ll 4.txt 
----------. 1 root root 0 3月  25 19:05 4.txt
[root@break test1]# chmod 555 5.txt
[root@break test1]# ll 5.txt 
-r-xr-xr-x. 1 root root 0 3月  25 19:05 5.txt

umask——补码
文件默认权限:666
目录的默认权限:777
文件的默认权限在/etc/profile中,可以查看。
如果UID大于199,并且属组和属主的名字相同,文件就设置为666,目录为777.
在这里插入图片描述

简便的计算方式:使用默认的权限减去umask的值.
一个文件的umask为044
则权限为666-044=622
更加精准的计算方式:
对umask取反后和默认的权限值进行与运算。
一个文件的umask为033,按照简便运算为:633.是错误的。
1umask去反: 744
2与运算:644
3权限值为644

特殊权限

3种特殊权限
SUID:只能设置在2进制程序上,对目录无效——用户
作用:程序运行时的权限变成了所有者的权限
例子:设置passwd时。/usr/bin/passwd的文件权限为s
SGID:可以对二进制程序设置,也可以对目录设置——组
作用:在SGID下的目录下创建文件,会继承上级目录的组
Stickybit:防删除位,目录设置。文件无效。
功能:目录下创建的文件只有root、文件创建者、目录所有者才能删除。

SUID:查看文件passwd的权限
[root@break ~]# cd /usr/bin
[root@break bin]# ll passwd 
-rwsr-xr-x. 1 root root 27832 6月  10 2014 passwd
SGID:设置一个属组为bin目录,在该目录下,一切的创建属组为bin
[root@break ~]# mkdir test
[root@break ~]# chmod g+s test/
[root@break ~]# chown :bin test/
[root@break ~]# cd test/
[root@break test]# ll
总用量 0
[root@break test]# cd 
[root@break ~]# ll -d test/
drwxr-sr-x. 2 root bin 6 3月  25 20:01 test/
[root@break ~]# cd test/
[root@break test]# mkdir test1
[root@break test]# touch 1.txt
[root@break test]# ll
总用量 0
-rw-r--r--. 1 root bin 0 3月  25 20:02 1.txt
drwxr-sr-x. 2 root bin 6 3月  25 20:02 test1
Stickybit:
[root@break ~]# ll -d /tmp/
drwxrwxrwt. 15 root root 4096 3月  25 20:08 /tmp/

文件的扩展权限

acl:设置额外的权限。

例子:设置一个文件a.txt,,他的属组和属组为du,但是ss不是du的属组,ss想要对a.txt进行7的权限
[root@break test]# touch a.txt
[root@break test]# chmod 700 a.txt 
[root@break test]# chown du:du a.txt 
[root@break test]# useradd ss 
[root@break test]# setfacl -m u:ss:rwx
[root@break test]# setfacl -m u:ss:rwx a.txt 
[root@break test]# su ss
[ss@break test]$ ll
总用量 0
-rwxrwx---+ 1 du du 0 3月  25 20:10 a.txt
去掉这种权限:
setfacl -b /test/a.txt
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值