linux有什麼文件權限操作?如何正确設置文件權限?
linux有3種人的權限,文件的所有者(屬主)、文件屬組用戶和其他人。
而root賬号有什麼權限呢?
root用戶可以查看、修改、删除所有人的文件。Root用戶還擁有控制一台計算機的完整權限。
文件和目錄用什麼來表示權限呢?
讀取(r)、寫入(w)和執行(x)
我們使用ls -l 命令來查看文件的屬性包括哪些權限?
#ls -l /bin/login
-rwxr-xr-x 1 root root 38096 2022-06-01 8:00 /bin/login
這條命令列出來了/bin/login文件的主要屬性信息。第一個字符表示文件類型,在上例中是“_”,表示是一個普通文件。接下來“rwxr-xr-x”就是3組權限位。這9個字符應該被這樣斷句:rwx、r-x、r-x, r表示可讀,w表示可寫,x表示可執行,分别表示屬主(擁有讀寫執行權限)、屬組和其他人所擁有(讀和執行)的權限。如果某個權限被禁用,那麼就用一個短畫線“_”代替。由上面例子可以看出login文件的屬主是root用戶,而屬組是root組。
文件權限後面的1表示的是該文件的鍊接數目。1表示該文件隻有一個硬鍊接。38096表示的是文件的大小(38096字節)2022-06-01 8:00指最後修改日期,/bin/login 表示文件的完整路徑。
查看目錄的屬性可以使用什麼參數呢?
可以用-ld
#ls -ld /etc/
不帶文件名有什麼參數呢?
ls -l命令可以列出當前目錄下所有文件(不包含隐藏文件)的屬性。
#ls -l
接下來我們來看一下八進制計法。每一組權限rwx在計算機中實際上占用了3位,每一位都有2種情況。例如對于寫入位,隻有“設置(r)”和“沒有設置(-)”兩種情況。這樣計算機就可以使用二進制0和1來表示每一個權限位,其中0表示沒有設置,而1表示設置。例如rwx就被表示為111,“-w-”表示為010等。在實際使用中,我們要記住1代表x、2代表w、4代表r,再進行加法。如rwx=4 2 1=7,r-x=4 0 1=5 --x=0 0 2=2 可以寫成752
我們可以使用chmod命令來修改文件的權限例如:
#chmod 711 cxw
#ls -l cxw
-rwx- -x- -x 1 root root 61 2022-06-01 8:30 cxw
用戶主包括了文件屬主(u)、文件屬組(g)、其他人(o)和所有人(a),而權限則包括了讀取(r)、寫入(w)和執行(x).
如何增加屬主對文件days的執行權限。
#chmod u x days
如何用chmod 同時指定所有人,删除所有人(屬主、屬組和其他人)對days的執行權限。
#chmod a-x days
如何通過“用戶組=權限”的規則直接設置文件權限。同樣應用于文件days,賦予屬主和屬主的讀取/寫入權限,其他用戶讀取權限。
#chmod ug=rw,o=r days
最後“用戶組1=用戶組2”,應用days文件,将其他人的權限設置為和屬主的權限一樣。
#chmod o=u days
最後,我們要記住隻有文件的屬主和root用戶才有權限修改文件的權限。
接下來我們來看一下更改文件的所有權chown和chgrp
#sudo chown cxw:root days //修改day的所有權
如果隻需要更改文件的屬主,那麼可以省略參數“group”把days文件的屬主更改為guest用戶,保留其屬組設置。
#sudo chown guest days
把days文件的屬組更改為nogroup組,而保留其屬主設置。
#sudo chown :nogroup days
改變一個目錄及其下所有文件(和子目錄)的所有權設置用-R參數
#sudo chown -R cxw iso/
#ls -l iso/
Linux還有另外一個命令chgrp用于設置文件的屬組。
#sudo chgrp nogrup days
chgrp也可以使用-R選項遞歸對一個目錄實施設置。
#sudo chgrp root iso/
Chgrp命令實現了chown的一部分功能,但更直觀告訴人們它要幹什麼。在實際工作中是否使用chgrp根據個人使用習慣。
,
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!