0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Linux文件“哲學(xué)”是否與Windows相同呢?

AGk5_ZLG_zhiyua ? 來源:互聯(lián)網(wǎng) ? 作者:佚名 ? 2018-06-28 09:43 ? 次閱讀

本文導(dǎo)讀

“一切皆是文件”是Unix/Linux的基本哲學(xué)之一,目錄、字符設(shè)備、塊設(shè)備、套接字等在Unix/Linux都是以文件的形式存在。面對眾多的文件,如何理解和管理他們的讀、寫、執(zhí)行權(quán)限呢?

在Windows下,可以通過鼠標右擊文件,在屬性欄查看文件的權(quán)限。Linux下的文件“哲學(xué)”是否與Windows相同呢?我們從以下幾點分析。

一、文件權(quán)限設(shè)定的作用

文件權(quán)限的設(shè)定是為了保護系統(tǒng)及用戶數(shù)據(jù)的安全性。對于用戶來說,最重要的事情就是數(shù)據(jù)、文件的私密性及安全性。從系統(tǒng)管理員到普通用戶,從文件屬性到文件特殊加密 ,無不圍繞著一個主題:權(quán)限管理。若一個關(guān)鍵文件被意外寫入,輕則數(shù)據(jù)丟失,重則系統(tǒng)崩潰。

以根目錄下的/proc目錄文件為例,該文件是linux內(nèi)核提供的一種虛擬文件系統(tǒng),可訪問內(nèi)核內(nèi)部數(shù)據(jù)結(jié)構(gòu)、改變內(nèi)核設(shè)置的機制。其中swaps 為交換空間的使用情況,tty 保存tty設(shè)備信息,version Linux內(nèi)核版本和gcc版本。我們可以發(fā)現(xiàn),這些與系統(tǒng)緊密關(guān)聯(lián)的文件全部為只讀,即使對于root用戶。

圖1 /proc下的部分文件

二、文件權(quán)限的劃分

Linux下的權(quán)限管理從訪問者方面來看大致可分為三塊,分別是用戶、用戶組、管理員。如圖2,打開當前用戶目錄下的文件列表細節(jié)。大部分時候我們使用此命令僅僅是關(guān)注右半部分的信息,比如文件名、日期、大小等。左半部分展現(xiàn)的就是對應(yīng)文件的權(quán)限信息了。

圖2 文件屬性細節(jié)

Linux系統(tǒng)對用戶的權(quán)限有著嚴格的管理。如圖3,可將一個文件的權(quán)限分為三部分:對文件所有者權(quán)限、對所有者所在用戶組權(quán)限、對其他用戶權(quán)限。其中,用戶組(group)就是具有相同特征的用戶的集合體。

圖3 文件權(quán)限

用戶和用戶組的信息分別在/etc目錄下的passwd、group文件內(nèi),可以使用cat命令直接讀取。

圖4 用戶/用戶組信息

三、文件權(quán)限更改方法

Linux提供chmod命令用于改變或者設(shè)置文件的權(quán)限。命令格式如圖5,將hello 文件的其它用戶權(quán)限可執(zhí)行屬性去掉:vmuser@Linux-host: hello$ chmod o-x hello。如果同時設(shè)置 u/g/o,可用 a 表示,例如為 hello 增加全部用戶可執(zhí)行權(quán)限:vmuser@Linux-host: ~$ chmoda+x hello。

圖5 文件權(quán)限更改(一)

前面我們說到,linux的文件權(quán)限管理是一種“哲學(xué)美”,chmod命令還提供更間接的使用方式。如圖6,分別將r、w、x對應(yīng)為數(shù)字4、2、1,用數(shù)字之和代表該組權(quán)限值,比如rwx可用 7 表示, r-x 可用 5 表示。若想將hello文件設(shè)置為最寬松的權(quán)限,可直接使用命令chmod 777 hello。

圖6 文件權(quán)限更改(二)

那么除了先創(chuàng)建文件再修改權(quán)限,是否可直接創(chuàng)建特定權(quán)限的文件呢?答案是肯定的,我們可以通過修改umask的值管理對應(yīng)用戶默認權(quán)限??梢灾苯虞斎雞mask獲取當前用戶的權(quán)限默認值,當然也可以使用umask=xxx去修改它。此外,若想永久設(shè)置umask的值,可以修改~/.bashrc或者./bash_profile。Umask的值與文件的權(quán)限并不是一一對應(yīng)的,感興趣到的讀者可以查閱相關(guān)資料。

圖7 用戶默認權(quán)限更改

四、如何保護重要文件

文件的保護可以從量方面入手:文件的權(quán)限管理、文件及時備份。

權(quán)限管理方面,在更改文件權(quán)限時不可隨意,比如直接chmod 777 filename。以系統(tǒng)或APP的工作日志文件為例,它對絕大部分可登錄用戶僅可讀,若對其覆蓋寫入將永久丟失日志信息。在復(fù)雜的多用戶協(xié)同系統(tǒng)中,要嚴格管理單用戶權(quán)限、組用戶權(quán)限,慎用root用戶權(quán)限。

圖8 只讀日志文件

對于標準的rootfs,不建議普通用戶直接去更改它,在uboot掛載該文件系統(tǒng)時直接賦予它只讀權(quán)限。將bootargs的最后一項賦值為“ro”即為read only。若需臨時修改為讀寫模式,可使用mount -o remount,rw /,用于臨時修改為可讀寫模式,盡量避免修改uboot代碼。

圖9 文件系統(tǒng)權(quán)限更改

文件備份時保護重要文件的另一種手段,在嚴格的權(quán)限管理機制也不能保證萬無一失。重要文件可使用腳本自動化、定時備份,必要時還可以將文件保存到其他物理存儲介質(zhì)或云盤中。在涉及到扣費、計費時,數(shù)據(jù)及文件的安全性顯得尤為重要。ZLG致遠電子“公共交通的移動支付—公交POS”方案中使用的ARM9核心板采用雙備份文件系統(tǒng)及UPS掉電保護設(shè)計來保證扣費數(shù)據(jù)的可靠。

圖10 文件系統(tǒng)雙備份


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11171

    瀏覽量

    208474
  • 致遠電子
    +關(guān)注

    關(guān)注

    13

    文章

    403

    瀏覽量

    31246

原文標題:淺析linux權(quán)限管理

文章出處:【微信號:ZLG_zhiyuan,微信公眾號:ZLG致遠電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    LinuxWindows文件系統(tǒng)的不同之處

    Linux文件系統(tǒng)與 Windows 文件系統(tǒng)有很多不同之處。您不會找到任何驅(qū)動器號或反斜杠,但您會發(fā)現(xiàn)一個看起來很陌生的布局,其中文件
    的頭像 發(fā)表于 03-15 10:23 ?1762次閱讀

    基于linux的ise和基于windows的ise之間的區(qū)別

    ISE14.7)。相同的設(shè)計,相同的約束文件,相同的一切。窗口ISE工具沒有生成任何錯誤消息,并且制作了FPGA。但是,在放入硬件時,設(shè)計不起作用。通過
    發(fā)表于 11-06 11:41

    linuxwindows的傳輸文件

    本文介紹一種可以在linuxwindows之間傳輸文件很方便的一個輔助程序
    發(fā)表于 07-23 08:39

    Windowslinux權(quán)限管理問題解析

    Windows下,可以通過鼠標右擊文件,在屬性欄查看文件的權(quán)限。Linux下的文件哲學(xué)
    的頭像 發(fā)表于 06-27 17:24 ?6727次閱讀
    <b class='flag-5'>Windows</b>下<b class='flag-5'>linux</b>權(quán)限管理問題解析

    怎么樣在LinuxWindows之間共享文件?應(yīng)該使用什么樣的工具

    用一些來自 Linux 社區(qū)的工具,在 LinuxWindows 之間共享文件是超容易的。讓我們看看可以做這件事的兩種不同方法。
    的頭像 發(fā)表于 07-09 10:57 ?5109次閱讀

    Linux里面如何理解和管理他們的讀、寫、執(zhí)行權(quán)限?

    、執(zhí)行權(quán)限? 在Windows下,可以通過鼠標右擊文件,在屬性欄查看文件的權(quán)限。Linux下的文件
    發(fā)表于 09-22 00:55 ?613次閱讀

    Linux中如何判斷文件是否存在并新建文件

    本文檔的主要內(nèi)容詳細介紹的是Linux中如何判斷文件是否存在并新建文件夾vi文件免費下載。
    發(fā)表于 01-17 08:00 ?8次下載
    <b class='flag-5'>Linux</b>中如何判斷<b class='flag-5'>文件</b>夾<b class='flag-5'>是否</b>存在并新建<b class='flag-5'>文件</b>夾

    如何區(qū)別Linux文件系統(tǒng)?

    虛擬文件系統(tǒng)是一種神奇的抽象,它使得 “一切皆文件哲學(xué)Linux 中成為了可能。
    的頭像 發(fā)表于 08-09 18:00 ?3632次閱讀

    判斷Linux文件編譯時是否運用-g選項的方法

    判斷Linux文件編譯時是否運用-g選項的方法
    的頭像 發(fā)表于 06-22 08:40 ?3358次閱讀
    判斷<b class='flag-5'>Linux</b>庫<b class='flag-5'>文件</b>編譯時<b class='flag-5'>是否</b>運用-g選項的方法

    WindowsLinux之間相互傳輸文件的方法

    WindowsLinux之間相互傳輸文件,最常用的工具是使用winscp,它的原理是使用ssh協(xié)議傳輸文件,即通過ssh的端口傳輸,支持相向傳輸,即支持
    的頭像 發(fā)表于 02-11 16:25 ?4867次閱讀

    Linux文件哲學(xué)是否Windows相同?

    若需臨時修改為讀寫模式,可使用mount -o remount,rw /,用于臨時修改為可讀寫模式,盡量避免修改uboot代碼。
    的頭像 發(fā)表于 07-11 15:37 ?1748次閱讀
    <b class='flag-5'>Linux</b>下<b class='flag-5'>文件</b>“<b class='flag-5'>哲學(xué)</b>”<b class='flag-5'>是否</b>與<b class='flag-5'>Windows</b><b class='flag-5'>相同</b>?

    如何從Windows上載數(shù)據(jù)至Linux

    早前《何從Linux下載數(shù)據(jù)至Windows?》指引已說明如何下載數(shù)據(jù)至Windows, 但Linux系統(tǒng)真的發(fā)生故障時, 是怎樣將Windows
    的頭像 發(fā)表于 08-28 11:44 ?2065次閱讀
    如何從<b class='flag-5'>Windows</b>上載數(shù)據(jù)至<b class='flag-5'>Linux</b>

    linux誤刪文件后的恢復(fù)方法

    對于linux下誤刪的文件,我們是否真的無法通過軟件進行恢復(fù)?
    的頭像 發(fā)表于 02-09 09:51 ?2298次閱讀

    WindowsLinux為什么可以彼此ping的通?

    為什么 VMware 會給我多創(chuàng)建了兩個網(wǎng)絡(luò)?WindowsLinux 為什么可以彼此 ping 的通
    的頭像 發(fā)表于 07-07 09:39 ?1276次閱讀
    <b class='flag-5'>Windows</b>和<b class='flag-5'>Linux</b>為什么可以彼此ping的通<b class='flag-5'>呢</b>?

    Linux系統(tǒng)文件比較工具集合

    Linux系統(tǒng)中,文件比較是一種常見的任務(wù),用于比較兩個文件之間的差異。文件比較可以幫助我們找出兩個文件的不同之處,或者確定它們
    的頭像 發(fā)表于 01-02 13:53 ?615次閱讀