linux:文件屬性詳細說明
在Linux系統下,使用權限來保護資源的安全將是一種不錯的選擇,系統中每個文件的權限都有可讀r、可寫w和可執行x這三種權限,它們分別對應權限數值4、2 和1,系統爲每個文件和目錄都設有默認的權限
什麼是屬主、屬組、其他用戶
屬主: 用戶信息 文件數據創造者
屬組: 用戶組信息 給一個組賦予相應權限
其他用戶: 不是屬主 不屬於屬組成員的用戶信息
系統用戶分類 | ||
---|---|---|
超級管理員 | 皇帝 | root uid: 0 |
虛擬用戶 | 傀儡 | nobody uid: 1-999 centos7 特點: 不能登錄系統 管理服務進程信息 沒有家目錄 |
普通用戶 | 平民 | oldboy uid: 1000+ centos7 |
用戶和用戶組的關係
一個用戶組中可以只有一個用戶,也可以一個用戶可以屬於多個用戶組,還可以一個用戶組中有多個用戶
文件時間信息
訪問時間: access time | atime 查看文件時間 |
修改時間: modify time | mtime 文件內容被修改編輯時間 |
改變時間: change time - ctime | 修改文件屬性信息 |
[root@yu zy]# stat /etc/hosts
File: ‘/etc/hosts’
Size: 158 Blocks: 8 IO Block: 4096 regular file
Device: 803h/2051d Inode: 16829814 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Context: system_u:object_r:net_conf_t:s0
Access: 2019-10-31 11:22:14.975281834 +0800
Modify: 2013-06-07 22:31:32.000000000 +0800
Change: 2019-10-15 16:51:58.974995874 +0800
Birth: -
文件索引信息
inode:文件索引信息,目錄
特點: 1、存儲着數據屬性信息(文件類型、權限、硬鏈接、屬主、屬組、大小、時間)2、存儲指向相應block指針信息 3、數據存儲會佔用一個inode
誕生過程:操作磁盤進行格式化–> 創建文件系統–> inode
查看方法:
[root@yu zy]# df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda3 9436672 60414 9376258 1% /
devtmpfs 121762 374 121388 1% /dev
tmpfs 124487 1 124486 1% /dev/shm
tmpfs 124487 706 123781 1% /run
tmpfs 124487 16 124471 1% /sys/fs/cgroup
/dev/sda1 524288 326 523962 1% /boot
tmpfs 124487 1 124486 1% /run/user/0
block:文件數據信息,內容
特點:1、存儲文件數據真實內容(文件) 2、存儲目錄下面文件名稱(目錄) 3、數據存儲會佔用多個block
誕生過程:操作磁盤進行格式化–> 創建文件系統–> block
查看方法:
[root@yu zy]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda3 18863104 1670704 17192400 9% /
devtmpfs 487048 0 487048 0% /dev
tmpfs 497948 0 497948 0% /dev/shm
tmpfs 497948 7780 490168 2% /run
tmpfs 497948 0 497948 0% /sys/fs/cgroup
/dev/sda1 1038336 129608 908728 13% /boot
tmpfs 99592 0 99592 0% /run/user/0
block大小調整方案
xfs文件系統默認block=4k
根據應用場景而定:
假設1:調整大一些 都是大文件數據10G --> block 8k 節省IO, 提升數據存儲/讀取效率
假設2:調整小一些 都是小文件數據1K --> block 2K 提高磁盤存儲利用率,,避免磁盤空間浪費
文件鏈接信息
軟鏈接:相當於文件數據快捷方式
特點:1、 軟鏈接文件會指向到源文件 2、源文件刪除鏈接文件失效 3、可以給目錄創建軟鏈接
如何操作:
[root@yu zy]# ln -s 源文件 鏈接文件
作用:操作方便
硬鏈接:查看數據內容多個門/inode號碼相同文件數據稱爲硬鏈接
特點:1、硬鏈接文件指向相同inode 2、源文件刪除不會影響硬鏈接文件 3、只能給普通文件創建硬鏈接
如何操作:
[root@yu zy]# ln 源文件 鏈接文件
作用:防止文件誤刪除
補:硬鏈接與cp備份的不同:cp命令不僅能防止文件誤刪除,也可以防止文件誤修改
思考問題:目錄的硬鏈接爲什麼是兩個
[root@yu /]# ll
16777827 drwxr-xr-x. 2 root root 6 Oct 31 22:47 yu
因爲本體目錄是一個,在目錄中的隱藏文件 .
[root@yu yu]# ll -ai
total 4
16777827 drwxr-xr-x. 2 root root 6 Oct 31 22:47 .
64 dr-xr-xr-x. 22 root root 4096 Oct 31 21:35 ..
系統常見權限信息:
- r 讀權限:
· 文件信息: 內容信息可以讀取
· 目錄信息: 查看目錄數據信息 - w 寫權限
· 文件信息: 內容信息可以編輯
· 目錄信息: 操作目錄數據信息(刪除數據/創建數據/移動數據/修改數據名稱) - x 執行權限:
· 文件信息: 文件可以進行執行 /etc/rc.local
· 目錄信息: 目錄可以進行切換
系統常用權限位: 9位權限位 實際是爲12位
讀寫執行權應用於目錄的區別
- 文件權限總結:
1、文件如果想正常編寫, 必須要有讀權限
2、文件如果想正常執行, 必須要有讀權限
3、文件如果擁有執行權限, 管理員用戶擁有文件絕對權限
總結: 對於文件來說, 讀取權限是最重要, 可以讓寫和執行權限有意義 - 目錄權限總結:
1、目錄如何想正常查看, 必須要有執行權限
2、目錄如何想正常操作, 必須要有執行權限
3、目錄沒有任何權限信息, 管理員用戶擁有目錄絕對權限
總結: 對於目錄來說, 執行權限是最重要, 可以讓讀和寫權限有意義
系統數據默認權限
文件默認權限: 644(root)
目錄默認權限: 755(root)
如何修改默認權限:
umask: 0022
umask是奇數信息
文件默認權限: 666 - umask(033) = 63(+1)3(+1) == 644 文件做奇數運算位, 做完運算還需要在加1
目錄默認權限: 777 - umask(033) = 744
umask是偶數信息
文件默認權限: 666 - umask(022) = 644
目錄默認權限: 777 - umask(022) = 755
臨時修改:
文件默認權限:需求 600 666 - umask(066) = 600
需求 611 666 - umask(055) = 61(+1)1(+1) = 622
目錄默認權限: 需求 700 777 - umask(077) = 700
永久修改:
[root@yu zy]# vim /etc/profile
if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then
umask 002
else
umask 022
fi
系統用戶提權方法(讓普通用戶可以獲得管理員部分或者全部權利)
[root@yu zy]# vim /etc/sudoers
···100行···
ayu ALL=(ALL) /usr/bin/*
ayu:是管理員權限賦予的用戶(用戶需存在)
all:進行權限統一集中管理(稍後解釋)
最後部分:賦予普通用戶權限信息,用逗號分割