溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Linux文件權(quán)限與目錄管理的知識點(diǎn)有哪些

發(fā)布時(shí)間:2022-03-23 15:53:51 來源:億速云 閱讀:302 作者:iii 欄目:web開發(fā)

這篇文章主要介紹“Linux文件權(quán)限與目錄管理的知識點(diǎn)有哪些”,在日常操作中,相信很多人在Linux文件權(quán)限與目錄管理的知識點(diǎn)有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Linux文件權(quán)限與目錄管理的知識點(diǎn)有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

一、linux文件系統(tǒng)的三種身份

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

二、文件屬性

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

total 72
drwxr-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_store
drwx------  5 chaibozhou staff  170 4 23 14:13 .trash
-rw-------  1 chaibozhou staff  3205 4 23 16:37 .bash_history
drwxr-xr-x  6 chaibozhou staff  204 4 4 15:51 .config

第一列:文件的類型和權(quán)限
d:目錄文件
-:普通文件
l:鏈接文件
b:用于存儲(chǔ)數(shù)據(jù)的設(shè)備文件
c:用于傳輸數(shù)據(jù)的設(shè)備文件:鼠標(biāo)、鍵盤

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

第二列:有多少文件名連接到此節(jié)點(diǎn)

第三列:這個(gè)文件/目錄的所有者賬號
第四列:這個(gè)文件所屬的用戶組
第五列:這個(gè)文件的大小,單位是b
第六列:這個(gè)文件的創(chuàng)建日期或修改日期
若想要現(xiàn)實(shí)完整的日期時(shí)間,可以在ls上加上參數(shù):ls -l –full-time
ps:在linux的命令中,如果參數(shù)以-開頭,則表示后面的參數(shù)是簡寫;如果以--開頭,則表示后面的參數(shù)是完整的。這里的full-time就是一個(gè)完整的參數(shù)。
ps:如果當(dāng)初使用中文安裝linux的話,顯示完整的日期應(yīng)該會(huì)以中文顯示,但中文無法在命令窗口中顯示,此時(shí)就會(huì)出現(xiàn)亂碼,此時(shí)只能設(shè)置一下,讓日期用英文顯示:lang=en_us
第七列:文件名

三、linux權(quán)限的重要性

1、保護(hù)系統(tǒng)文件的功能
通常系統(tǒng)文件只有root管理員才有讀、寫、執(zhí)行的權(quán)限。
2、為團(tuán)隊(duì)開發(fā)提供數(shù)據(jù)共享的功能
同一個(gè)開發(fā)團(tuán)隊(duì)可以設(shè)置成同組用戶,從而能夠共享文件。

四、改變文件屬性與權(quán)限的命令

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

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

chmod [-r] 770 文件/目錄

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

一個(gè)文件具有rwx,僅僅表示用戶可以對這個(gè)文件內(nèi)容進(jìn)行讀、寫、執(zhí)行,即讀取文件內(nèi)容、向文件中寫入內(nèi)容、執(zhí)行文件。但并不具備刪除這個(gè)文件的權(quán)限。

一個(gè)目錄具有rwx:
r:表示具有讀取目錄結(jié)構(gòu)的權(quán)限,也就是我可以通過ls這個(gè)命令來查看目錄的結(jié)構(gòu),但是,我是無法通過cd進(jìn)入到這個(gè)目錄下的。
w:表示具有更改目錄結(jié)構(gòu)的權(quán)限,即能夠創(chuàng)建/刪除/重命名/移動(dòng)文件/目錄。
x:表示某一用戶能夠通過cd進(jìn)入到這個(gè)目錄下。
ps:一個(gè)目錄是否有x權(quán)限是非常重要的,如果沒有x權(quán)限,表示不能進(jìn)入到這個(gè)目錄下,也就是不能執(zhí)行這個(gè)目錄下的所有程序。例:有一個(gè)目錄文件如下

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

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

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

使用root賬號在/temp下創(chuàng)建一個(gè)目錄/dir,該目錄的權(quán)限為744;再在/dir下創(chuàng)建文件test。
分析:對于dir這個(gè)目錄,文件主rwx,同組用戶和其他用戶只能r;即:文件主能夠ls這個(gè)目錄結(jié)構(gòu),能夠cd到這個(gè)目錄,能夠在這個(gè)目錄中創(chuàng)建、刪除、重命名、移動(dòng)文件;而同組用戶和其他用戶只能ls這個(gè)目錄結(jié)構(gòu)。
ps:創(chuàng)建目錄:mkdir 目錄名
ps:創(chuàng)建空文件:touch 文件名

#用root身份進(jìn)行以下操作
cd /temp
mkdir dir
chmod 744 dir
touch dir/test
chmod 600 dir/test #對于這個(gè)文件,文件主4+2:讀和寫,同組用戶和其他用戶啥也不能干
?,F(xiàn)在切換身份至chai
su - chai #切換身份的命令:su - 用戶名
cd /temp
ls -l dir #現(xiàn)在身份是chai,對于這個(gè)目錄來說,是其他用戶,那么只有r權(quán)限,也就是只能ls這個(gè)目錄的結(jié)構(gòu),無法cd到這個(gè)目錄中去
cd dir #直接報(bào)錯(cuò):permission denied
exit #退出到剛才的身份
chown chai /temp/dir #將dir這個(gè)目錄的文件主改為chai,此時(shí)chai具有rwx權(quán)限
cd /temp/dir #此時(shí)chai可以cd到dir中,可以在dir中創(chuàng)建、刪除、重命名、移動(dòng)文件
rm test #刪除test文件

五、linux文件種類

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

目錄文件d

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

設(shè)備文件
1. 塊設(shè)備文件b
用于存儲(chǔ)數(shù)據(jù)的設(shè)備文件,如:硬盤、軟盤。
2. 字符設(shè)備文件c
用于數(shù)據(jù)傳輸?shù)脑O(shè)備文件,如:鍵盤、鼠標(biāo)。
3. 套接字s
這個(gè)設(shè)備文件在/var/run中。
4. 管道p
用于解決多個(gè)程序同時(shí)訪問一個(gè)文件所造成的錯(cuò)誤問題。

六、linux擴(kuò)展名

linux并沒有擴(kuò)展名,一個(gè)linux的文件是否可以執(zhí)行,取決于這個(gè)文件的屬性中是否有x這個(gè)權(quán)限。
但是為了增強(qiáng)文件的可讀性,我們還是給文件增加了“擴(kuò)展名“。
*.sh表示腳本或批處理文件。
*z、*.tar、*.tar.gz、*.zip、*.tgz他們都是壓縮文件。
ps:從網(wǎng)上下載的文件的權(quán)限是有可能發(fā)生改變的,所以當(dāng)我們下載的文件無法運(yùn)行時(shí)查看一下它的權(quán)限是否有x。

七、linux對文件的限制

linxu默認(rèn)采用ext2/ext3文件系統(tǒng),對文件名的長度限制為:
單個(gè)文件名或目錄名最大長度255個(gè)字符;
完整的文件或目錄名最大長度為4096個(gè)字符。
文件命名時(shí)要避免一些特殊字符。

八、linux目錄配置標(biāo)準(zhǔn)

由于開發(fā)linux distribution的廠商非常多,所以要對這些廠商開發(fā)的文件系統(tǒng)規(guī)范化,因此就出現(xiàn)了文件系統(tǒng)配置規(guī)范:filesystem hierarchy standard=fhs。

fhs對目錄規(guī)范的四種類型:

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

fhs建議:根目錄要足夠的小,而且應(yīng)用程序不要和根目錄放在同一個(gè)分區(qū)中。

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

其他重要的目錄:
- /lost+found:使用ext2/ext3文件系統(tǒng)才會(huì)產(chǎn)生的一個(gè)目錄。當(dāng)文件系統(tǒng)發(fā)生錯(cuò)誤時(shí),一些丟失的片段就會(huì)放在這個(gè)目錄中。
- /proc:是一個(gè)虛擬文件系統(tǒng),也就是它的數(shù)據(jù)都是存放在內(nèi)存中的,不占用硬盤空間。
- /sys:也是一個(gè)虛擬文件系統(tǒng),記錄內(nèi)核相關(guān)信息。

開機(jī)的時(shí)候只有根目錄被掛載了,其他的目錄所在的分區(qū)都是在系統(tǒng)啟動(dòng)完成之后才被掛載的。因此與開機(jī)過程有關(guān)的目錄就必須要和根目錄放在同一個(gè)分區(qū)中。必須與根目錄放在同一個(gè)分區(qū)中的目錄有:

/etc:配置文件
/bin:重要的執(zhí)行文件
/dev:所需要的設(shè)備文件
/lib:執(zhí)行文件所需要的庫函數(shù)與內(nèi)核所需要的模塊
/sbin:重要的系統(tǒng)執(zhí)行文件

/usr目錄
=unix software resource,是操作系統(tǒng)關(guān)鍵資源放置的目錄。
fhs建議:所有軟件開發(fā)者都應(yīng)將數(shù)據(jù)放置在這個(gè)目錄的子目錄下,而不要自行創(chuàng)建獨(dú)立的目錄。
這個(gè)目錄就相當(dāng)于windows下的c:\program files。

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

每一個(gè)目錄不只能掛載本地的文件系統(tǒng),還可以使用網(wǎng)絡(luò)上的文件系統(tǒng)??梢岳胣etwork file system服務(wù)器=nfs服務(wù)器來掛載網(wǎng)絡(luò)山的指定目錄。

到此,關(guān)于“Linux文件權(quán)限與目錄管理的知識點(diǎn)有哪些”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI