Linux入門教程 檔案許可權 使用者 使用者組

2021-06-23 09:46:37 字數 4265 閱讀 3891

單個檔名或目錄名長度不超過255字元;檔案或目錄的絕對路徑長度不超過4096字元。

一、檔案所有者與使用者組

乙個檔案有很多屬性,包括檔案型別、檔案許可權、檔案隱藏許可權、檔案所有者、使用者組、檔案大小、建立日期、修改日期、訪問日期等。

1.檔案型別

(1)d:目錄;find / -type d 查詢;

(2)-:一般檔案;find / -type f 查詢;

(3)l:鏈結檔案;find / -type l 查詢;

(4)b:塊裝置,即儲存裝置,比如/dev/sda;find / -type b 查詢;

(5)c:字元裝置,即串列埠裝置,如鍵盤,比如/dev/zero;find / -type c 查詢;

(6)s:socket,比如/var/run/acpid.socket;find / -type s 查詢;

(7)p:pipe檔案,比如我們可以通過mknod mypipe p 建立pipe檔案;find / -type p 查詢;

2.檔案所有者與使用者組

首先說明一點:檔案所有者與使用者組本身沒有什麼關係,比如使用者組可以是root,但是檔案所有者為xiazdong;

案例分析:

(1)乙個檔案的檔案所有者為xiazdong,使用者組為root,當前登入使用者為xiazdong,如果想要讓檔案的所有者變成root,能成功嗎?不能;

(2)乙個檔案的檔案所有者為xiazdong,使用者組為root,當前登入使用者為root,如果想要讓檔案的所有者變成root,能成功嗎?能;

總結一點:改檔案的所有者、使用者組應該是root的職責;

再說明一點:乙個使用者總會歸屬於乙個或多個使用者組,乙個使用者組裡可以有多個使用者,比如root使用者歸屬於root使用者組,但是我們也可以建立乙個使用者xzdong,及歸屬於group1使用者組,又歸屬於group2使用者組;

3.檔案的mtime、atime、ctime

mtime:檔案內容修改時間;

atime:檔案訪問時間;

ctime:檔案許可權、所有者被修改的時間;

ls --time=atime/ctime

命令chgrp、chown命令用來設定檔案的所有者、使用者組;

(1)chgrp xiazdong test.txt:將test.txt的檔案使用者組設定為xiazdong;

(2)chgrp xiazdong dir:將dir的檔案使用者組設定為xiazdong;

(3)chown xiazdong test.txt:將test.txt的檔案所有者設定為xiazdong;

(4)chown xiazdong:root test.txt:將test.txt的檔案所有者設定為xiazdong,使用者組設定為root;

二、檔案許可權

檔案許可權規定了檔案所有者對檔案/目錄的許可權、檔案所屬使用者組的成員對檔案/目錄的許可權、其他人對於檔案/目錄的許可權;

(1)r:可讀許可權;

(2)w:可寫許可權;

(3)x:可執行許可權;

對於目錄和檔案來說,這些許可權代表的意義是不同的。

對於檔案來說:

(1)r:可以讀取檔案的內容;

(2)w:可以寫入檔案內容,但是不能刪除檔案,如果要賦予刪除檔案的許可權,則需要指定目錄許可權;

(3)x:執行檔案,不是每個檔案都需要這個許可權的,比如txt檔案不需要;

對於目錄來說:

(1)r:可以讀取目錄下的目錄結構,即能夠執行ls檢視目錄下的檔名;

(2)w:能夠改變目錄的結構,即新增、刪除目錄下的檔案、對檔案重新命名;

(3)x:能夠進入目錄,即cd到該目錄;

但是請注意:如果目錄只有r,但沒有x許可權,則只能ls出檔名,而不能顯示檔案屬性。

注:如果dir目錄下存在test.txt檔案,如果xiazdong使用者沒有dir的寫許可權,則就算對test.txt有rwx許可權,也不能刪除test.txt;

最要注意的是:不管檔案許可權設定成什麼樣了(此處只討論一般的許可權,特殊許可權不算),root都能夠對檔案或目錄rwx;

案例:-rwxr--r-- 表示(1)檔案所有者能夠對該檔案可讀、可寫、可執行;(2)所屬使用者組能夠對該檔案可讀;(3)其他人能夠對該檔案可讀;

命令chmod命令可以設定檔案的許可權;

注意:我們可以通過數字或符號設定許可權;

如果是數字,則4代表r,2代表w,1代表x,如果是5代表r-x,6代表rw-,7代表rwx;

如果是符號,則a代表全部人,u代表owner,g代表group,o代表others,r就是r,w就是w,x就是x,什麼都不寫表示乙個許可權都沒有;

(1)chmod 755 test.txt:賦予test.txt rwxr-xr-x

(2)chmod u=rwx,go=r test.txt:賦予test.txt  rwxr--r--

(3)chmod a=r test.txt:賦予test.txt  r--r--r--

(4)chmod a+x test.txt:給test.txt全部的人新增x許可權;

(5)chmod a-x test.txt:給test.txt全部的人刪除x許可權;

(6)chmod u=rwx,go= test.txt:賦予test.txt  rwx------

以下的部分均為ext檔案系統專屬特性

三、檔案隱藏屬性

(1)a:檔案只能新增,不能修改、刪除;常用於日誌檔案;

(2) i:檔案不能修改、刪除,即使root也不行,用於固定不變的檔案;

命令1、lsattr

list attribute,即列出檔案或目錄的隱藏屬性;

lsattr file:列出檔案的隱藏屬性;

lsattr -d dir:列出目錄的隱藏屬性;

2、chattr

change attribute,即修改檔案或目錄的隱藏屬性;

(1)i:如果設定了此屬性,則目錄或檔案不能被修改(即使root也不能修改或刪除他)。

(2)a:如果設定了此屬性,只能新增內容,而不能修改或刪除內容;

chattr +ai file:新增屬性;

chattr -ai file:刪除屬性;

chattr =a file:設定屬性;

四、檔案特殊許可權

檔案有3個特殊屬性:

(1)suid:在使用者所有者的x許可權位置為「s」,如/usr/bin/passwd;

(2)sgid:在使用者組的x許可權位置為「s」,如/usr/bin/locate;

(3)sbit:在其他的x許可權位置為「t」,如/tmp;

suid

suid只能賦予二進位制檔案,並且使用者對該檔案具有x許可權時,賦予suid才有效果;

suid效果:當一般使用者對二進位制檔案b有x許可權,並且b檔案已經設有suid許可權,當一般使用者執行b時,則此使用者會具有檔案所有者的許可權;

sgid

sgid能夠賦予目錄或檔案,執行者必須具備x許可權;

sgid用途:團隊開發,並且乙個目錄是團隊的共享目錄,任何人在此目錄中建立檔案,檔案的使用者組都是團隊,而不是個人使用者組;

sgid效果:

(1)當賦予檔案sgid時:當執行者執行時,此執行者會有使用者組的許可權;

(2)當賦予目錄sgid時:執行者進入目錄後,有效使用者組為目錄的使用者組,比如使用者建立乙個檔案,則此檔案的使用者組為目錄的使用者組;

比如建立chmodtest目錄,許可權為drwxrwsrwx,則用xiazdong進入該目錄後建立test.txt,則test.txt的檔案所有者為xiazdong,但是使用者組為root;

sbit

只能賦予目錄,如果對目錄賦予sbit之後,則使用者a在此目錄下建立的檔案或目錄只有root和使用者a能刪除,其他人不能刪除;

命令設定suid、sgid、sbit,通過chmod設定;

suid:4

sgid:2

sbit:1

(1)-rwsrw-r--:

數字表示 :chmod 4764 file,第乙個數字4就是設定了suid;

符號表示:chmod u=rwxs,g=rw,o=r file

(2)-rwxrwsr--:

數字表示 :chmod 2764 file,第乙個數字2就是設定了sgid;

符號表示:chmod u=rwx,g=rwxs,o=r file

(3)-rwxrwxr-t:

數字表示 :chmod 1764 file,第乙個數字1就是設定了sbit;

符號表示:chmod u=rwx,g=rwx,o=rt file

u+s:加上suid;

g+s:加上sgid;

o+t:加上sbit;

Linux入門教程 Linux許可權管理

在學習linux的許可權之前,我們先來理解幾個概念 可讀,可寫 可執行 linux的檔案和目錄有以下三種方式 r w x 可讀,可寫 可執行 r 可讀 read w 可寫 write x 可執行 execute 所有者 所屬組 其他人 linux的檔案和目錄又可以有三個所有者概念 u g o 所有者...

Linux入門教程

linux下有兩種使用者 1.root使用者,提示符 2.普通使用者,提示符 在 etc目錄下有乙個inittab檔案,其中有一行配置 id 3 defualt 其中,數字3就代表一啟動進入字元終端,如果改為5則代表一啟動進入x window 修改口令 passwd 退出登入 exit 關閉機器 只...

Linux入門教程

xshell 6 ssh遠端終端工具 sftp工具 常用命令 軟體安裝 還有好多其他的都可以看看。我的環境 vmware15 linux centos6 32位 具體安裝過程看這裡 可能會遇到這個問題 用ifconfig命令,只有lo,沒有eth0的解決方案 winscp 是乙個 windows 環...