> RedHat >

RHCE7认证学习笔记6——管理文件和目录


RHCE7认证学习笔记6——管理文件和目录

1、文件的类型
    -:普通文件
    L:链接文件;
    D:目录文件;
    b:块文件;/dev/sda1
    c:字符文件:/dev/tty1
[root@it.net.cn ~]# ls -l 
-rw-------. 1 root root 1205 Dec 24 17:59 anaconda-ks.cfg 
drwxr-xr-x. 2 root root    6 Dec 24 10:19 Desktop

    从左到右:文件类型+所有者权限+所有组权限+其他的权限+(有点代表selinux控制)+文件硬链接数+所有者+所有组 文件节点 文件时间戳属性

2、chown改变文件目录的属主属组
[root@it.net.cn tmp]# chown RedHat.redhat a1

    chown加-R选项表示递归修改目录下的文件的属组属主

3.chgrp修改文件目录的属组
[root@it.net.cn tmp]# chgrp -R redhat aa1

    同理chgrp加-R选项表示递归修改目录下的文件的属组;
4、文件和目录的权限ugo
    rwx分别对应的权限数字为:421
rwxr-xr-x

    u    g    o

5、chmod修改文件目录的权限
    可以使用以下几种方式来修改权限
[root@it.net.cn tmp]# #chmod 755 a1  
[root@it.net.cn tmp]# #chmod a+x a1    a代表ugo,所有; 
[root@it.net.cn tmp]# #chmod u=rwx,g=rw-,o=--- a1  给ugo分别赋权; 
[root@it.net.cn tmp]# #chmod u-w,g+x,o+x a1    在原来的基础上加减权限; 
[root@it.net.cn tmp]# #chmod a=rw- a1    给ugo同时赋权;

6.umask权限的过滤符
    文件的默认权限为:666

    目录的默认权限为:777

    创建文件目录时,经过umask的过滤之后,才是实际的权限,umask默认的值为0022

    6      6    6              7        7      7
    rw-  rw-  rw-            rwx    rwx    rwx

---------------------------------------------------------
    0      2      2              0        2      2

    ---  -w-  -w-            ----      -w-    -w-

--------------------------------------------------------umask过滤之后的权限
    rw-  r--    r--            rwx    r-x    r-x

    6    4      4                  7      5        5

 

7、文件的特殊权限位:s和t
    s一般用于可执行命令的所属者或目录的所属组位置:可执行命令,其他人执行这个命令的时候,也将具有所 有者的权限;比如passwd命令,普通用户是无法修改/etc/shadow的内容,但是普通用户执行passwd命令修改自己的密码,这就意味着直接修改了shadow文件的内容,
[root@it.net.cn ~]# ls -l `which passwd` 
-rwsr-xr-x. 1 root root 27832 Jan 30  2014 /usr/bin/pass

应用于目录所属组:如果一个目录的组加了s位,那么在这个目录下面所创建的子目录或者文件会继承目录的所属组;

[root@it.net.cn tmp]# mkdir xx 
[root@it.net.cn tmp]# chgrp xx redhat

[root@it.net.cn tmp]# ls -ld xx 
drwxr-xr-x. 2 root redhat 6 Jan  2 17:36 xx

[root@it.net.cn tmp]# cd xx 
[root@it.net.cn xx]# mkdir xx1 
[root@it.net.cn xx]# mkdir xx2 
[root@it.net.cn xx]# ls -l 
drwxr-sr-x. 2 root redhat 6 Jan  2 17:38 xx1 
drwxr-sr-x. 2 root redhat 6 Jan  2 17:38 xx2

    t属性位一般用于目录的o位置:如果一个目录的o位置有t属性的话,那么这个目录里面所有的东西,除了所有者和root,任何人即使有权限也无法删除目录下面的东西;
[root@it.net.cn tmp]# mkdir yy

[root@it.net.cn tmp]# touch yy1 
[root@it.net.cn tmp]# touch yy2

[root@it.net.cn tmp]# chown -R redhat.redhat yy 
[root@it.net.cn tmp]# ls -ld yy 
drwxr-xr-x. 2 redhat redhat 26 Jan  2 17:45 yy

[root@it.net.cn tmp]# ls -l yy 
-rwxrwxrwx. 1 redhat redhat 0 Jan  2 17:45 yy1 
-rwxrwxrwx. 1 redhat redhat 0 Jan  2 17:45 yy2

[root@it.net.cn tmp]# chmod -R 777 yy

    在yy文件没有加t位时,切换到tom用户,进入到yy目录下面,可以删除yy1:
[tom@it.net.cn yy]$ rm -rf yy1

    yy文件添加t位后,tom用户无法删除yy2文件:
[root@it.net.cn tmp]# chmod o+t yy 
[tom@it.net.cn yy]$ rm -rf yy2  
rm: cannot remove ‘yy2’: Operation not permitted 
  
    如果文件的权限位是四位,比如1755,这里首先要明确的是,在u位上加s权限数字为4,在g位上加s权限数字为2,o位上加t权限值为1: 
    u+s=4 
    g+s=2 
    o+t=1 
      
    chattr对文件特殊的操作: 
    lsattr查看文件的属性 
    chattr +a file 只允许文件增加内容,不能减少; 
    chattr +i file 文件不允许改变; 
    减少相应的属性,只需要减少即可


(责任编辑:IT)