文件基本权限
分类:linux基础 热度:

文件权限管理之一: 基本权限(r、w、x)
rw-r--r--  alice hr  install.log
权限对象:
属主:      u
属组:      g
其他人:      o
 
权限类型:
读:  r 4
写:  w        2
执行: x        1
 
===设置权限===
1. 更改文件的属主、属组
=chown:
[root@yunwei  ~]# chown alice.hr file1  //改属主、属组
[root@yunwei  ~]# chown alice      file1  //只改属主
[root@yunwei  ~]# chown        .hr  file1     //只改属组
=chgrp:
[root@yunwei  ~]# chgrp it file1     //改文件属组
[root@yunwei  ~]# chgrp -R it dir1     //改文件属组
 
2. 更改权限
=a. 使用字符
对象 赋值符 权限类型
u    + r
chmod               g     - w
o    = x
a
[root@yunwei  ~]# chmod u+x file1   //属主增加执行
[root@yunwei  ~]# chmod a=rwx file1         //所有人等于读写执行
[root@yunwei  ~]# chmod a=- file1  //所有人没有权限
[root@yunwei  ~]# chmod ug=rw,o=r file1       //属主属组等于读写,其他人只读
[root@yunwei  ~]# ll file1    //以长模式方式查看文件权限
-rw-rw-r-- 1 alice it 17 10-25 16:45 file1          //显示的结果
 
=b. 数字
[root@yunwei  ~]# chmod 644 file1
[root@yunwei  ~]# ll file1
-rw-r--r-- 1 alice it 17 10-25 16:45 file1
 
===设置权限示例
针对hr部门的访问目录设置权限,要求如下:
1. root用户和hr组的员工可以读、写、执行
2. 其他用户没有任何权限
[root@yunwei  ~]# groupadd hr
[root@yunwei  ~]# useradd hr01 -G hr
[root@yunwei  ~]# useradd hr02 -G hr
[root@yunwei  ~]# mkdir /home/hr
[root@yunwei  ~]# chgrp hr /home/hr
[root@yunwei  ~]# chmod 770 /home/hr
[root@yunwei  ~]# ll -d /home/hr/
drwxrwx---. 2 root hr 4096 3月  13 14:26 /home/hr/
=================================================================
小知识: r、w、x权限对文件和目录的意义
==测试1:alice用户对目录没有写权限
[root@yunwei  ~]# mkdir /home/test
[root@yunwei  ~]# vim /home/test/file1
[root@yunwei  ~]# chmod 777 /home/test/file1 
 
[alice@yunwei  ~]$ rm -rf file1 
rm: cannot remove `file1': Permission denied
 
==测试2:alice用户对目录有写权限
[root@yunwei  ~]# chmod 777 /home/test
[root@yunwei  ~]# chmod 000 /home/test/file1 
 
[alice@yunwei  ~]$ cd /home/test
[alice@yunwei  test]$ ll
----------. 1 root root 3 Mar 13 14:45 file1
[alice@yunwei  test]$ cat file1 
cat: file1: Permission denied
[alice@yunwei  test]$ rm -rf file1 
[alice@yunwei  test]$ touch file2
[alice@yunwei  test]$ mkdir dir2
 
=================================================================
文件权限管理之二: 特殊权限
 
1 0 0    4
0 1 0    2 
0 0 1    1
 
                    数值            作用                            文件                                    目录
suid           4          给普通用户提权         可执行的二进制文件                      没用
sgid           2          继承文件所属组                                                              有用
sticky           1          仅允许删除自己的文件                                                    有用
 
suid      正对文件(可执行文件),当可执行文件具有SUID权限的时候,用户执行这个文件会具有该文件的所有者权限.
 
els.start(SUID)     所有者:root      705                               
TOP.txt      所有者:els        700
 
设置特殊权限
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@yunwei  ~]# chmod u+s /bin/cat
[alice@yunwei  ~]$ cat /root/install.log
 
示例2:sticky 用户只能删除自己的文件
[root@yunwei  ~]# groupadd sale
[root@yunwei  ~]# useradd sale01 -G sale
[root@yunwei  ~]# useradd sale02 -G sale
 
[root@yunwei  ~]# id sale01
uid=5006(sale01) gid=5006(sale01) groups=5006(sale01),508(sale)
[root@yunwei  ~]# id sale02
uid=5007(sale02) gid=5007(sale02) groups=5007(sale02),508(sale)
 
[root@yunwei  ~]# mkdir /home/sale
[root@yunwei  ~]# chgrp sale /home/sale
[root@yunwei  ~]# chmod 770 /home/sale
 
[root@yunwei  ~]# chmod o+t /home/sale
[root@yunwei  ~]# ll -d /home/sale
drwxrwx--T 2 root sale 4096 09-02 02:26 /home/sale
 
示例3:sgid sticky 用户只能删除自己的文件、新建文件继承属组
[root@yunwei  ~]# chmod 3770 /home/sale
[root@yunwei  ~]# ll -d /home/sale
drwxrws--T 2 root sale 4096 09-02 02: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 umask: 0022
         目录 755
 
普通用户:文件 664 umask: 0002
                目录 775
初始权限去掉umask得到的值叫mask
[root@yunwei  ~]# umask  //查看当前用户的umask权限
0022
[root@yunwei  ~]# umask -S          //查看更改后的文件权限
u=rwx,g=rx,o=rx
 
[root@yunwei  ~]# umask 000 //设置umask权限
[root@yunwei  ~]# umask 
0000
[root@yunwei  ~]# touch file8 //创建file8文件
[root@yunwei  ~]# mkdir dir8 //创建目录
[root@yunwei  ~]# ll -d dir8 file8 //查看文件目录权限
drwxrwxrwx 2 root root 4096 10-26 14:10 dir8
-rw-rw-rw- 1 root root    0 10-26 14:10 file8
[root@yunwei  ~]# umask 022
[root@yunwei  ~]# umask 
0022
==============================================================
小知识:
[root@yunwei  ~]# umask 077; touch file60 //当前shell生效
600
[root@yunwei  ~]# (umask 077; touch file70) //()表示在子shell生效 sub shell
[root@yunwei  ~]# ll file70 
-rw------- 1 root root 0 10-26 14:31 file70
[root@yunwei  ~]# 
[root@yunwei  ~]# umask 
0022
==============================================================
上一篇:用户管理 下一篇:文件高级权限
猜你喜欢
各种观点
热门排行
精彩图文