Linux學習筆記 2021 01 21

2021-10-17 08:54:49 字數 3273 閱讀 1697

linux系統中,目錄、字元裝置、塊裝置、套接字、印表機等都被抽象成了檔案。linux系統中的一切檔案都是從根(/)目錄開始,並且按照檔案系統層次化標準(fhs)採用樹形結構來存放檔案,以及定義了常見目錄的用途。linux系統中的檔案和目錄名稱嚴格區分大小寫,並且檔名稱中不得包含斜桿(/)。

檔案系統層次化標準fhs是根據以往無數linux系統使用者和開發者的經驗總結而來,是使用者在linux系統中儲存檔案時需要遵循的規則,對使用者來說是一種約束。

liunx系統常見目錄及相應內容

目錄名稱 應放置檔案內容

/boot 開機所需檔案(核心、開機選單以及配置檔案等)

/dev 以檔案形式存放任何裝置與介面

/etc 配置檔案

/home 使用者家目錄

/bin 存放單使用者模式下還可以操作的命令

/lib 開機時用到的函式庫,/bin與/sbin下面的命令要呼叫的函式

/sbin 開機過程中需要的命令

/media 用於掛載裝置檔案的目錄

/opt 放置第三方的軟體

/root 系統管理員的家目錄

/srv 網路服務的資料檔案目錄

/tmp 任何人可使用的共享臨時目錄

/proc 虛擬檔案系統(系統核心、程序、外部裝置)

/usr/local 使用者自行安裝的軟體

/usr/sbin linux開機時不會用到的軟體/命令/指令碼

/usr/share 幫助與說明文件,可放置共享檔案

/var 主要存放經常變化的檔案

/lost+found

當檔案系統發生錯誤時,將一些丟失的檔案片段存放這裡

路徑指的是如何定位到某個檔案,分絕對路徑和相對路徑。絕對路徑指的是從根目錄開始寫起的檔案或目錄名稱,相對路徑值得是相對於當前路徑的寫法。

使用者身份與檔案許可權

linux是乙個多使用者、多工的作業系統。

帶著問題:

檔案的所有者、所屬組以及其他人如何對檔案進行讀r、寫w、執行x等操作?

linux系統中如何新增、刪除、修改使用者賬戶資訊?

suid、sgid與sbit特殊許可權用法、場景、作用?

檔案的訪問控制列表是什麼?

su命令與sudo服務作用。

使用者身份與能力

系統管理員root賬戶uid數值為0.uid不能重複,為了方便管理同一組的使用者,linux系統中存在使用者組。通過使用使用者組號碼可以把多個使用者加入乙個組中進行統一規劃許可權或指定任務。linux中建立每個使用者時,自動建立乙個與其同名的基本使用者組,基本使用者組只有該使用者乙個人。如果該使用者以後被納入其他使用者組,則這個其他使用者組稱之為擴充套件使用者組。乙個使用者只有乙個基本使用者組多個擴充套件使用者組。

useradd 命令用於建立新的使用者 格式為useradd [選項] 使用者名稱 使用該命令建立賬戶時,預設的使用者家目錄會被存放在/home目錄中,預設的shell直譯器為/bin/bash

groupadd 命令用於建立使用者組 格式為 groupadd [選項] 群組名

usermod 命令用於修改使用者的屬性 usermod [選項] 使用者名稱 使用者的資訊存放在/etc/passwd檔案中,可以直接用文字編輯器修改使用者引數專案

passwd 命令用於修改使用者密碼、過期時間、認證資訊等 格式為passwd [選項] [使用者名稱] 注意:root有許可權修改其他人的密碼 普通使用者只能修改自身密碼

userdel 命令用於刪除使用者 格式為 userdel [選項] 使用者名稱 -f引數可以將使用者夾目錄刪除

檔案許可權與歸屬

linux系統中,每個檔案都有所屬的所有者和所有組,並規定了檔案的所有者、所有組以及其他人對檔案的讀、寫、執行許可權(簡寫為rwx)。

linux中檔案型別字元:

- :普通文科                d:目錄檔案                l:鏈結檔案                b:塊裝置檔案                c:字元裝置檔案                p:管道檔案

rwxrw-r-- 數字表示法 764 表示 檔案所有者可讀可寫可執行,所有組可讀可寫,其他人可讀

rw--w--wx 數字表示 623 表示 檔案所有者可讀可寫,所有組寫可寫,其他人可寫可執行

rw-r--r-- 數字表示644 表示檔案所有者可讀可寫,所有組可讀,其他人可讀

檔案的特殊許可權

suid、sgid、sbit特殊許可權位,對檔案許可權進行設定的特殊功能,可以與一般許可權同時使用。

suid 是一種對二進位制程式進行設定的特殊許可權,可以讓二進位制程式的執行者臨時擁有屬主的許可權。一種有條件、臨時的特殊許可權授權方法。

sgid主要實現以下兩種功能:

讓執行者臨時擁有陣列的許可權(對擁有執行許可權的二進位制程式進行設定)與suid區別在於執行程式的使用者獲取的不是檔案所有者的臨時許可權,而是獲取檔案所屬組的許可權。

在某個目錄中建立的檔案自動繼承該目錄的使用者組(只可以對目錄進行設定)

chmod命令用來設定檔案或目錄的許可權 格式為 chmod [引數] 許可權 檔案或目錄名稱

chown命令用來設定檔案或目錄的所有者和所屬組 格式為 chown [引數] 所有者:所屬組 檔案或目錄名稱

這倆個命令有乙個共性,針對目錄進行操作時加上大寫引數-r表示遞迴操作,對目錄內的所有檔案進行操作。

sbit特殊許可權可確保使用者只能刪除自己的檔案,而不能刪除其他使用者的檔案。

檔案的隱藏許可權

linux系統中的檔案除了具備一般許可權和特殊許可權之外,還有一種隱藏許可權。

chattr 命令用於設定檔案的隱藏許可權 格式為 chattr [引數] 檔案

lsattr 命令用於顯示檔案的隱藏格式 格式為 lsattr [引數] 檔案

檔案訪問控制列表

一般許可權、特殊許可權、隱藏許可權共性,許可權是針對某一類使用者設定。對單個指定使用者進行許可權控制需要用到檔案的訪問控制列表(acl)

基於普通檔案或目錄設定acl就是針對指定的使用者或使用者組設定目錄的操作許可權。若針對目錄進行設定,目錄下的檔案會繼承acl,若檔案設定了acl,其目錄的許可權失效。(向下相容)

setfacl命令 用於管理檔案的acl規則 格式為setfacl [引數] 檔名稱 檔案的acl提供的是在所有者、所屬組、其他人的讀寫執行許可權之外的特殊許可權控制,使用這個命令可以針對單一使用者或使用者組、單一檔案或目錄來進行讀寫執行的控制。針對目錄需要使用-r遞迴引數,普通檔案-m引數,刪除某個檔案acl則用-b引數。

getfacl命令 用於顯示檔案上設定的acl資訊

su命令與sodo服務

su命令用來解決切換使用者身份需求。

sudo命令用於給普通使用者提供額外的許可權來完成原本管理員才能完成的任務。

學習筆記 Linux學習

echo i am whoami 反引號裡的內容會被當做命令執行 echo the cpu in my pc has cat proc cpuinfo grep c processor cores 等價於反引號 a 10 定義乙個變數,等號兩邊不能有空格 echo a的值為 a a的值為10 ech...

linux學習筆記

開機流程簡介 1 載入 bios 的硬體資訊,並取得第乙個開機裝置的代號 2 讀取第乙個開機裝置的 mbr 的 boot loader 亦即是 lilo,grub,spfdisk 等等 的開機資訊 3 載入 kernel 作業系統核心資訊,kernel 開始解壓縮,並且嘗試驅動所有硬體裝置 4 ke...

Linux 學習筆記

配置 telnet 服務 vi etc hosts.deny 在all all 行前加 號注釋,登出該行。新增一行all all 用 登出disable yes,或者修改為 disble no vi etc pam.d login 在auth required lib security pam se...