• 幕客老师召集小伙伴
  • python自动化运维项目实战
  • nginx从入门到实战
  • 阿里云与Centos7实战

文件系统基本权限

知识点:
一、文件权限
二、文件权限管理之二: 特殊权限 
三、文件权限管理之三: umask
 
 

一、文件权限

文件权限管理之一: 基本权限(r、w、x)
rw-r–r–  alice hr  install.log

 

权限对象:

属主: u
属组: g
其他人: o

 

权限类型:

读:r 4
写:w 2
执行: x 1
 
二、设置权限
1. 更改文件的属主、属组
=chown:

 

2. 更改权限
=a. 使用字符
对象 赋值符 权限类型
u + r
chmod g – w
o = x
a
1
2
3
4
5
6
[root@jeson ~]# chmod u+x file1 //属主增加执行
[root@jeson ~]# chmod a=rwx file1   //所有人等于读写执行
[root@jeson ~]# chmod a=- file1 //所有人没有权限
[root@jeson ~]# chmod ug=rw,o=r file1//属主属组等于读写,其他人只读
[root@jeson ~]# ll file1 //以长模式方式查看文件权限
-rw-rw-r-- 1 alice it 17 10-25 16:45 file1  //显示的结果
 
=b. 数字
1
2
3
[root@jeson ~]# chmod 644 file1
[root@jeson ~]# ll file1
-rw-r--r-- 1 alice it 17 10-25 16:45 file1

 

 
===设置权限示例
针对hr部门的访问目录设置权限,要求如下:
1. root用户和hr组的员工可以读、写、执行
2. 其他用户没有任何权限
1
2
3
4
5
6
7
8
[root@jeson ~]# groupadd hr
[root@jeson ~]# useradd hr01 -G hr
[root@jeson ~]# useradd hr02 -G hr
[root@jeson ~]# mkdir /home/hr
[root@jeson ~]# chgrp hr /home/hr
[root@jeson ~]# chmod 770 /home/hr
[root@jeson ~]# ll -d /home/hr/
drwxrwx---. 2 root hr 4096 3月  13 14:26 /home/hr/

 

 
=================================================================
小知识: r、w、x权限对文件和目录的意义
 
==测试1:alice用户对目录没有写权限
1
2
3
4
5
6
[root@jeson ~]# mkdir /home/test
[root@jeson ~]# vim /home/test/file1
[root@jeson ~]# chmod 777 /home/test/file1
 
[alice@jeson ~]$ rm -rf file1
rm: cannot remove `file1': Permission denied

 

==测试2:alice用户对目录有写权限

1
2
3
4
5
6
7
8
9
10
11
[root@jeson ~]# chmod 777 /home/test
[root@jeson ~]# chmod 000 /home/test/file1
 
[alice@jeson ~]$ cd /home/test
[alice@jeson test]$ ll
----------. 1 root root 3 Mar 13 14:45 file1
[alice@jeson test]$ cat file1
cat: file1: Permission denied
[alice@jeson test]$ rm -rf file1
[alice@jeson test]$ touch file2
[alice@jeson test]$ mkdir dir2

二、文件权限管理之二: 特殊权限 

表示有相应的权限:

 

     11 10 9 8 7 6 5 4 3 2 1 0?S G T r w x r w x r w x

 

     第11位为SUID位,第10位为SGID位,第9位为sticky位,第8-0位对应于上面的三组rwx位。

 

 

suid 4    //其他用户能以执行文件所属的属主执行文件。
sgid 2   //其他用户继承组权限。
sticky   1  //只允许root用户或者创建文件的属主删除此文件。
 
设置特殊权限
a、字符
chmod u+s file
chmod g+s file
chmod g+s dir
chmod o+t dir
 
b、数字
chmod 7777 file
chmod 2770 dir
chmod 3770 dir
 
示例1:suid 普通用户通过suid提权
[root@jeson ~]# chmod u+s /bin/cat[alice@jeson ~]$ cat /root/install.log

 

 
示例2:sticky 用户只能删除自己的文件
[root@yangs ~]# groupadd sale
[root@yangs ~]# useradd sale01 -G sale
[root@yangs ~]# useradd sale02 -G sale
[root@yangs ~]# id sale01
uid=5006(sale01) gid=5006(sale01) groups=5006(sale01),508(sale)[root@yangs ~]# id sale02
uid=5007(sale02) gid=5007(sale02) groups=5007(sale02),508(sale)[root@yangs ~]# mkdir /home/sale[root@yangs ~]# chgrp sale /home/sale[root@yangs ~]# chmod 770 /home/sale
[root@yangs ~]# chmod o+t /home/sale[root@yangs ~]# ll -d /home/sale
drwxrwx--T 2 root sale 409609-0202:26/home/sale

示例3:普通用户启动1024下的端口

1
2
3
4
5
6
7
8
9
10
11
#ll /usr/bin/nc
-rwxr-xr-x 1 root root 25864 Jan  7  2007 /usr/bin/nc
 
#chmod u+s /usr/bin/nc
tty:[1] jobs:0] cwd:[~]
#su - jeson
tty:[1] jobs:0] cwd:[~]
$nc -l 40
 
#netstat -an|grep 40
tcp        0      0 0.0.0.0:40                  0.0.0.0:*                   LISTEN

  

 
示例4:sgid sticky 用户只能删除自己的文件、新建文件继承属组
[root@yangs ~]# chmod 3770 /home/sale[root@yangs ~]# ll -d /home/sale
drwxrws--T 2 root sale 409609-0202:26/home/sale

 

 
=================================================================
小知识:注意以下目录的正确权限,否则会导致程序不能正常运行
[root@wangcy ~]# ll -d /tmp /var/tmp/
drwxrwxrwt 14 root root 4096 07-26 10:15 /tmp
drwxrwxrwt  2 root root 4096 07-24 19:02 /var/tmp/
=================================================================
 

三、文件权限管理之三: umask

 

umask: 新建文件、目录的默认权限是由umask决定的
 
root: 文件 644=777-111-022  umask: 0022
        目录 755
 
普通用户:文件 664=777-111-002 umask: 0002
               目录 775
 
[root@jeson ~]# umask //查看当前用户的umask权限0022
[root@jeson ~]# umask -S
u=rwx,g=rx,o=rx

[root@jeson ~]# umask 000	//设置umask权限
[root@jeson ~]# umask 0000
[root@jeson ~]# touch file8	//创建file8文件
[root@jeson ~]# mkdir dir8	//创建目录
[root@jeson ~]# ll -d dir8 file8	//查看文件目录权限
drwxrwxrwx 2 root root 409610-2614:10 dir8
-rw-rw-rw-1 root root    010-2614:10 file8
[root@jeson ~]# umask 022
[root@jeson ~]# umask 0022

 

==============================================================
小知识:
[root@jeson ~]# umask 077; touch file60 //当前shell生效
[root@jeson ~]# (umask 077; touch file70) //()表示在子shell生效 sub shell
[root@jeson ~]# ll file70 
-rw——- 1 root root 0 10-26 14:31 file70
[root@jeson ~]# 
[root@jeson ~]# umask 
0022
 
==============================================================

文件系统基本权限

Pingbacks已打开。

引用地址

暂无评论

发表评论