Linux是一个多用户、多任务的系统,往往有多人同时使用一台机工作,为了保护每位人的隐私权,“文件所有者”的角色就变得相当重要了。当Linux用户登入系统以后,还会携带一个用户身分(UserID,UID)和一个用户组身分(GroupID,GID),相当于自己的名片。当须要访问文件或程序时,刷一下名片能够晓得是否能读、写、执行了。。
在根目录下输入ls-l可见到如下信息:
每条记录由7部份组成linux 文件授权给用户,以lrwxrwxrwx.1rootroot7Aug1821:27bin->usr/bin为例,根据次序,具体代表的涵义是:
lrwxrwxrwx.代表的是文件类型和权限
1代表文件联接数
root代表拥有者
root代表所属用户组
7代表文件大小(以K为单位)
Aug1821:27代表文件最后更改时间
bin->usr/bin文件名
先来分拆下lrwxrwxrwx.这串字符,其中第一个字符拿来描述文件的类型,可选值为:
–代表普通文件
d代表目录
l代表这个是软联接或硬联接
b代表块设备,如c盘等保存大块数据的设备
c代表字符设备,如键盘、键盘等须要连续串行读写的设备
s代表套嵌字(socket)文件
p代表命名管线文件
这个文件l,则代表是一个软联接或硬联接。紧接的9个字符,须要三个三个的看,分别代表着:
拥有者的权限
所属组的权限
其他用户的权限
次序为rwx,对应的是Read(读)、Write(写)、eXcute(执行)的权限,假若不具有某项权限,则使用-表示。
最后一个.可能让人很困惑,是拿来做哪些的,查询了下,资料显示这个点表示的是存在“SELinux的安全标签”!,假如关掉了selinux,则不过出现该点。
另外注意到最后的此次演示的最后的文件名,存在着一个->代表则软联接或硬联接,接出来就来学习下软联接和硬联接的区别。
軟體連接(也叫做符號連結-symboliclink,symlinkorsoftlink),是一類特殊的文件,其包含有一條以絕對路徑或則相對路徑的方式指向其它文件或則目錄的引用。有點類似windows的快捷方法。建立方法是:ln-ssourcedist
#硬聯接,指透過索引節點來進行聯接。在Linux的檔案系統中redhat linux 9.0,儲存在c盤分區中的檔案不管是哪些類型都給它一個編號,稱為索引節點號(InodeIndex)。在Linux中,多個檔案名稱指向同一索引節點是存在的。通常這些聯結就是硬聯接。硬聯接的作用是容許一個文件擁有多個有效路徑名,這樣用戶就可以建立硬聯接到重要文件,以避免「誤刪」的功能。其緣由如上所述,由於對應當目錄的索引節點有一個以上的聯結。只刪掉一個聯接並不影響索引節點本身和其它的聯接,只有當最後一個聯接被刪掉後,檔案的資料塊及目錄的聯接才能被釋放。也就是說,檔案真正刪掉的條件是與之相關的所有硬聯檔都被刪掉。建立方法是:lnsourcedist
透過一些梳理,可以曉得軟聯結與硬聯接的一些優缺:
使用時差異不大,都相當於一個檔案有不同的路徑或檔案名稱
輸入刪掉文件聯接的目標文件,軟聯會失效,硬聯接僅是「連接數-1」
軟體連結可以建立在任何位置,包括網路,而硬聯接必須在同一c碟上
關於軟聯接和硬聯接的詳盡介紹到整理inode相關知識點的時侯再做介紹。
接出來學習的是更改檔案的屬性和權限,首先學習的是更改所屬使用者或使用者群組。指令格式:chown[-R]username:groupfilename(其中-R在更改資料夾的時侯使用,代表的是遞歸更改。)
更改讀寫權限共有兩種方式:
#1、數字法
權限rwx對應的是4,2,1,可以理解為3位的二補碼linux 檔案授權給用戶,倘若只要讀權限就是4,假如用戶有讀寫權限,這麼就是4+2=6,以這種推。
chmod700filename執行的是設定使用者有讀寫執行的權限,使用者群組、其他使用者都沒有權限。
2、文字法
文字法首先要引入四個字母:u、g、o、a,其中u代表user深度linux,g代表group,o代表other,a代表all。另外須要學習三個符號:+、-、=,分別代表降低、減去和設定,如:chmodug+wfilename,意味著在filename的使用者及使用者群組中加入寫入權限。
補充內容:
1、掩藏檔案
剛開始的ls-l似乎沒有把目錄下的所有檔案都顯示下來,可以使用ls-al將所有的資訊顯示下來:
可以看见root的home目录下有好多后面带.的文件,这种文件就是Linux中的潜藏文件,在Linux上将文件在文件名后面加一.即可将文件埋藏。
2、特殊目录
Linux下有几个特殊的目录:“.”、“..”、“-”、“~”
“.”当前目录
“..”上层目录
“-”上一个工作目录
“~”当前用户的home目录
3、特殊文件权限
Linux的文件不仅rwx以外,还有s、t这两个特殊的权限。平常用的不多,不做深入学习。
以上是Linux 文件所有者角色的重要性及权限解析的详细内容。更多信息请关注PHP中文网其他相关文章!