首頁 > 軟體

Linux基礎教學學習筆記6——管理檔案和目錄

2020-06-16 18:05:13

Linux基礎教學學習筆記6——管理檔案和目錄

1、檔案的型別
    -:普通檔案
    L:連結檔案;
    D:目錄檔案;
    b:塊檔案;/dev/sda1
    c:字元檔案:/dev/tty1
[root@linuxidc ~]# 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@linuxidc tmp]# chown RedHat.redhat a1

    chown加-R選項表示遞回修改目錄下的檔案的屬組屬主

3.chgrp修改檔案目錄的屬組
[root@linuxidc tmp]# chgrp -R redhat aa1

    同理chgrp加-R選項表示遞回修改目錄下的檔案的屬組;
4、檔案和目錄的許可權ugo
    rwx分別對應的許可權數位為:421
rwxr-xr-x

    u    g    o

5、chmod修改檔案目錄的許可權
    可以使用以下幾種方式來修改許可權
[root@linuxidc tmp]# #chmod 755 a1 
[root@linuxidc tmp]# #chmod a+x a1    a代表ugo,所有;
[root@linuxidc tmp]# #chmod u=rwx,g=rw-,o=--- a1  給ugo分別賦權;
[root@linuxidc tmp]# #chmod u-w,g+x,o+x a1    在原來的基礎上加減許可權;
[root@linuxidc 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@linuxidc ~]# ls -l `which passwd`
-rwsr-xr-x. 1 root root 27832 Jan 30  2014 /usr/bin/pass

應用於目錄所屬組:如果一個目錄的組加了s位,那麼在這個目錄下面所建立的子目錄或者檔案會繼承目錄的所屬組;

[root@linuxidc tmp]# mkdir xx
[root@linuxidc tmp]# chgrp xx redhat

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

[root@linuxidc tmp]# cd xx
[root@linuxidc xx]# mkdir xx1
[root@linuxidc xx]# mkdir xx2
[root@linuxidc 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@linuxidc tmp]# mkdir yy

[root@linuxidc tmp]# touch yy1
[root@linuxidc tmp]# touch yy2

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

[root@linuxidc 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@linuxidc tmp]# chmod -R 777 yy

    在yy檔案沒有加t位時,切換到tom使用者,進入到yy目錄下面,可以刪除yy1:
[tom@linuxidc yy]$ rm -rf yy1

    yy檔案新增t位後,tom使用者無法刪除yy2檔案:
[root@linuxidc tmp]# chmod o+t yy
[tom@linuxidc 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 檔案不允許改變;
    減少相應的屬性,只需要減少即可


IT145.com E-mail:sddin#qq.com