国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 服務器 > Linux服務器 > 正文

Linux文件權限與目錄管理詳解

2024-09-05 23:02:32
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了Linux文件權限與目錄管理,感興趣的小伙伴們可以參考一下
 

一、Linux文件系統的三種身份

1)、文件所有者
2)、同組用戶 

同一個用戶組的用戶可以訪問該用戶組的文件; 
每個賬號可以加入多個用戶組。 
在同一個用戶組的文件也可以設置不同的權限,可以不讓本組用戶查看。
3)、其他人 
除了文件主、同組用戶以外的人就是其他人。 
PS: /etc/passwd 記錄所有用戶的賬號 
/etc/shadow 記錄所有用戶的密碼 
/etc/group 記錄所有的組名

二、文件屬性

ls -al 顯示所有的文件名和相關屬性(包括以.開頭的隱藏文件)

total 72drwxr-xr-x+ 28 chaibozhou staff  952 4 23 08:08 .drwxr-xr-x  5 root    admin  170 4 13 21:24 ..-r--------  1 chaibozhou staff   9 3 21 12:00 .CFUserTextEncoding-rw-r--r--@ 1 chaibozhou staff 10244 4 23 11:25 .DS_Storedrwx------  5 chaibozhou staff  170 4 23 14:13 .Trash-rw-------  1 chaibozhou staff  3205 4 23 16:37 .bash_historydrwxr-xr-x  6 chaibozhou staff  204 4 4 15:51 .config

第一列:文件的類型和權限 
d:目錄文件 
-:普通文件 
l:鏈接文件 
b:用于存儲數據的設備文件 
c:用于傳輸數據的設備文件:鼠標、鍵盤

接下來都是三個字符為一組,分別表示文件所有者的權限、同組用戶的權限、其他用戶的權限,而且r、w、x的順序是固定不變的。

第二列:有多少文件名連接到此節點

第三列:這個文件/目錄的所有者賬號
第四列:這個文件所屬的用戶組
第五列:這個文件的大小,單位是B
第六列:這個文件的創建日期或修改日期 
若想要現實完整的日期時間,可以在ls上加上參數:ls -l –full-time 
PS:在Linux的命令中,如果參數以-開頭,則表示后面的參數是簡寫;如果以--開頭,則表示后面的參數是完整的。這里的full-time就是一個完整的參數。 
PS:如果當初使用中文安裝Linux的話,顯示完整的日期應該會以中文顯示,但中文無法在命令窗口中顯示,此時就會出現亂碼,此時只能設置一下,讓日期用英文顯示:LANG=en_US
第七列:文件名

三、Linux權限的重要性

1、保護系統文件的功能 
通常系統文件只有root管理員才有讀、寫、執行的權限。
2、為團隊開發提供數據共享的功能 
同一個開發團隊可以設置成同組用戶,從而能夠共享文件。

四、改變文件屬性與權限的命令

1、chgrp:改變文件所屬的用戶組 
chgrp [-R] 新用戶組 目錄或文件 : 將這個路徑下的文件的用戶組改成“新用戶組“ 
PS:這個新用戶組一定得是/etc/group下有的,否則會報錯。 
PS:若最后一個參數是目錄,則表示只將這個目錄下的文件的用戶組改成這個。 
PS:-R表示若最后一個參數是目錄,則將當前目錄下的文件連同子目錄下的所有文件的用戶組都改成這個。
2、chown:改變文件主 
chown [-R] 用戶名 文件或目錄 : 將這個目錄下的所有文件的文件主都改成這個用戶名。 
PS:這個用戶名必須是/etc/passwd下有的才行。 
這個命令可以既修改文件主又修改用戶組:chown [-R] 用戶名:用戶組名 目錄/文件 
chown [-R] 用戶名.用戶組名 目錄/文件 
PS:由于用戶名可以存在小數點,當出現含有小數點的用戶名時,系統會發生誤判,所以我們一般都使用:來連接用戶名和用戶組名。 
還可以僅修改用戶組名:chown [-R] .用戶組名 目錄/文件
什么時候需要改變文件的文件主和用戶組? 
當我們把一個文件拷貝給別人的時候,假設這個文件只能文件主讀取,由于拷貝會把文件的權限和所有的屬性都一同復制,那么當另外一個人拿到拷貝后的文件后仍然無法訪問;所以在拷貝完成之后,第一個人應當修改文件的屬性和權限。

cp  原目錄/原文件  新目錄/新文件
1、chmod:改變文件的權限 
改變文件的權限有兩種辦法,分別是:用數字進行權限的修改、用符號進行權限的修改。 
a)用數字進行權限的修改 
前面我們已經知道,權限有9個字母組成,并且每三個為一組,分別表示:文件主的權限、同組用戶的權限、其他人的權限。在這種方式中,r=4、w=2、x=1,將每一組的三個值加起來,組成一個三位數即可。例如: 
文件主:rwx = 4+2+1=7; 
同組用戶:rwx=4+2+1=7; 
其他人:---=0+0+0=0; 
所以命令如下:

chmod [-R] 770 文件/目錄

b)用符號進行權限的修改
chmod  u/g/o/a  +/-/=  r/w/x  文件/目錄
例子:文件主能夠讀、寫、執行;同組用戶和其他用戶能夠讀、執行。
chmod  u=rwx,go=rx  文件名
假設原先不知道文件的屬性,現在只想讓所有的人能夠執行這個文件,則:
chmod  a+x  文件/目錄
假設原先不知道文件的屬性,現在只想讓同組用戶和其他用戶無法寫,則:
chmod  go-w  文件/目錄
目錄與文件權限的意義

一個文件具有rwx,僅僅表示用戶可以對這個文件內容進行讀、寫、執行,即讀取文件內容、向文件中寫入內容、執行文件。但并不具備刪除這個文件的權限。

一個目錄具有rwx: 
r:表示具有讀取目錄結構的權限,也就是我可以通過ls這個命令來查看目錄的結構,但是,我是無法通過cd進入到這個目錄下的。 
w:表示具有更改目錄結構的權限,即能夠創建/刪除/重命名/移動文件/目錄。 
x:表示某一用戶能夠通過cd進入到這個目錄下。 
PS:一個目錄是否有x權限是非常重要的,如果沒有x權限,表示不能進入到這個目錄下,也就是不能執行這個目錄下的所有程序。例:有一個目錄文件如下

drwxr--r--  3  root  root  4096  日期  .ssh
這個目錄文件的同組用戶和其他用戶只能通過ls查看目錄的結構,不能cd到這個目錄中去,也不能執行這里面的所有程序。

在架站時,要將服務器中的一些資源給外界訪問,但如果一個目錄只開放了r權限,那么只能ls這個目錄的結構,卻不能進入到這個目錄中訪問里面的數據。若要把目錄中的數據開放給別人瀏覽的話,至少要開放r和x權限,但w權限不能輕易開放。例如:

假設有個賬號user1,她的主文件夾是:/home/user1,user1對此目錄文件具有rwx權限,在這個文件夾下有一個data文件,權限如下:-rwx—— 1 root root ……,則: 
user1對于這個文件來說屬于其他用戶,不具備任何權限;但是對于這個文件夾來說,具有rwx,能夠通過ls查看文件夾的目錄結構,能夠通過cd進入該文件夾,能夠在這個文件夾下創建、刪除、重命名、移動文件。

使用root賬號在/temp下創建一個目錄/dir,該目錄的權限為744;再在/dir下創建文件test。 
分析:對于dir這個目錄,文件主rwx,同組用戶和其他用戶只能r;即:文件主能夠ls這個目錄結構,能夠cd到這個目錄,能夠在這個目錄中創建、刪除、重命名、移動文件;而同組用戶和其他用戶只能ls這個目錄結構。 
PS:創建目錄:mkdir 目錄名 
PS:創建空文件:touch 文件名

#用root身份進行以下操作cd /tempmkdir dirchmod 744 dirtouch dir/testchmod 600 dir/test #對于這個文件,文件主4+2:讀和寫,同組用戶和其他用戶啥也不能干
#現在切換身份至chaisu - chai #切換身份的命令:su - 用戶名cd /templs -l dir #現在身份是chai,對于這個目錄來說,是其他用戶,那么只有r權限,也就是只能ls這個目錄的結構,無法cd到這個目錄中去cd dir #直接報錯:permission denied
exit #退出到剛才的身份chown chai /temp/dir #將dir這個目錄的文件主改為chai,此時chai具有rwx權限cd /temp/dir #此時chai可以cd到dir中,可以在dir中創建、刪除、重命名、移動文件rm test #刪除test文件

五、Linux文件種類

普通文件- 
1. 純文本文件 
可以通過cat /chai來查看chai這個普通文件。 
2. 二進制文件 
Linux中的可執行文件(scripts和文字批處理文件不算)。 
剛才的cat就是二進制文件。 
3. 數據格式文件 
就是程序運行時會被讀取的具有特定格式的文件,如配置文件。 
例如:用戶在登陸Linux時,登陸日志會被記錄在/var/log/wtmp這個文件中,這個文件就是一個數據格式文件。 
PS:數據格式文件要用last去讀,若用cat讀會出現亂碼。

目錄文件d

連接文件l 
就是Windows下的快捷方式。

設備文件 
1. 塊設備文件b 
用于存儲數據的設備文件,如:硬盤、軟盤。 
2. 字符設備文件c 
用于數據傳輸的設備文件,如:鍵盤、鼠標。 
3. 套接字s 
這個設備文件在/var/run中。 
4. 管道p 
用于解決多個程序同時訪問一個文件所造成的錯誤問題。

六、Linux擴展名

Linux并沒有擴展名,一個Linux的文件是否可以執行,取決于這個文件的屬性中是否有x這個權限。 
但是為了增強文件的可讀性,我們還是給文件增加了“擴展名“。 
*.sh表示腳本或批處理文件。 
*Z、*.tar、*.tar.gz、*.zip、*.tgz他們都是壓縮文件。 
PS:從網上下載的文件的權限是有可能發生改變的,所以當我們下載的文件無法運行時查看一下它的權限是否有x。

七、Linux對文件的限制

Linxu默認采用Ext2/Ext3文件系統,對文件名的長度限制為: 
單個文件名或目錄名最大長度255個字符; 
完整的文件或目錄名最大長度為4096個字符。 
文件命名時要避免一些特殊字符。

八、Linux目錄配置標準

由于開發Linux distribution的廠商非常多,所以要對這些廠商開發的文件系統規范化,因此就出現了文件系統配置規范:Filesystem Hierarchy Standard=FHS。

FHS對目錄規范的四種類型:

1、可分享的目錄 
表示這個目錄可以分享給網絡上的其他主機掛載使用。
2、不可分享的目錄 
只能在自己機器上運行的設備文件或者與程序有關的socket文件,由于只與自己的機器有關,所以自然就不能分享給其他主機了。
3、不變的目錄 
不管什么樣的distributions,這些目錄是固定不變的,而且目錄里面的文件數據基本不發生變化。一般這些目錄中存放函數庫、系統配置文件等。
4、可變的目錄 
這些目錄中文件的數據一直會發生變化,如日志文件。
根目錄是整個系統最重要的目錄,其他所有的餓目錄都是由根目錄衍生而來的,同時根目錄也與開機、還原、系統修復等操作有關。

FHS建議:根目錄要足夠的小,而且應用程序不要和根目錄放在同一個分區中。

FHS建議根目錄下必須要有這些目錄: 
- /bin:在bin目錄下的命令可以被所有賬號使用,一般的命令是:cat、chmod、chown、date、mv、mkdir、cp、bash 
- /boot:放開機會用到的文件 
- /dev:任何設備都是以文件的形式存放在這個目錄當中 
- /etc:系統主要的配置文件都放在這個目錄中。這個目錄下的文件屬性是可以給一般用戶查閱的,但只有root才可以修改,FHS建議:這個目錄下不要放置可執行文件。 
- /home:系統默認的用戶主文件夾。 
~表示當前登陸用戶的主文件夾 
~chai表示指定用戶的主文件夾 
- /lib:存放開機時用到的庫函數及/bin、/sbin目錄下的命令會使用到的庫函數。 
- /media:放置可刪除的設備文件。如:軟盤、光盤。 
- /mnt:如果要臨時掛載一些額外的設備就放在這個文件夾下。 
- /opt:放置第三方軟件的目錄 
- /root:系統管理員的主文件夾 
- /sbin:放置開機過程中需要的,包括開機、修復、還原系統所需要的命令 
- /srv:是service的縮寫,存放網絡服務所需的一些數據。 
- /tmp:一般用戶執行程序暫時存放數據的地方。任何人都可以訪問,所以要定時清理一下。FHS建議distributions開機時要將這個目錄清空。

其他重要的目錄: 
- /lost+found:使用ext2/ext3文件系統才會產生的一個目錄。當文件系統發生錯誤時,一些丟失的片段就會放在這個目錄中。 
- /proc:是一個虛擬文件系統,也就是它的數據都是存放在內存中的,不占用硬盤空間。 
- /sys:也是一個虛擬文件系統,記錄內核相關信息。

開機的時候只有根目錄被掛載了,其他的目錄所在的分區都是在系統啟動完成之后才被掛載的。因此與開機過程有關的目錄就必須要和根目錄放在同一個分區中。必須與根目錄放在同一個分區中的目錄有:

/etc:配置文件
/bin:重要的執行文件
/dev:所需要的設備文件
/lib:執行文件所需要的庫函數與內核所需要的模塊
/sbin:重要的系統執行文件

/usr目錄 
=UNIX Software Resource,是操作系統關鍵資源放置的目錄。 
FHS建議:所有軟件開發者都應將數據放置在這個目錄的子目錄下,而不要自行創建獨立的目錄。 
這個目錄就相當于Windows下的c:/program files。

/var目錄 
/usr放置安裝程序時所需要的較大容量的文件,而/var下存放在程序執行過程中漸漸才會占用硬盤的目錄。如:緩存、日志等。

每一個目錄不只能掛載本地的文件系統,還可以使用網絡上的文件系統。可以利用Network File System服務器=NFS服務器來掛載網絡山的指定目錄。

以上就是本文的全部內容,希望對大家的學習有所幫助。



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 广灵县| 育儿| 黑河市| 桐庐县| 南投市| 山东| 扶绥县| 宁城县| 博爱县| 阿拉尔市| 叙永县| 峨眉山市| 安化县| 中西区| 乳山市| 平利县| 内乡县| 康保县| 合作市| 凯里市| 贵阳市| 天镇县| 邵武市| 旅游| 土默特右旗| 巴彦淖尔市| 平南县| 响水县| 普定县| 雷山县| 丘北县| 观塘区| 鲜城| 府谷县| 两当县| 淅川县| 喀什市| 万州区| 大同市| 西和县| 岗巴县|