(第二章)基於Linux平臺的檔案操作、使用者管理、使用者許可權下放
一、Linux基礎的檔案操作命令
1、ls ###顯示檔案資訊
-l ##長列表顯示檔案資訊
-a ##顯示所有檔案
-s ##顯示檔案大小
-S ##檔案大小排序
-d ##顯示目錄
-dl ##顯示目錄屬性
-R ##遞迴顯示
2、##萬用字元##(先建立一些特殊的檔案,方便做實驗)
* ##匹配0~任意字元
? ##匹配單個字元
[[:alpha:]] ##單個字母
[[:upper:]] ##單個大寫字母
[[:lower:]] ##單個小寫字母
[[:digit:]] ##單個數字
[[:alnum:]] ##單個數字或字母
[[:space:]] ##單個空格
[[:punct:]] ##單個符號
{1..3} ##1 2 3 精確匹配
{a..c} ##a b c
[1-3] ##1或2或3 模糊匹配
[ac] ##a或c
[^ac] ##除了a和c
[!ac] ##不是a也不c
剩下的這些比較簡單,大家可以自己在虛擬機器上練習。
二、使用者管理
# 1.系統中為什麼要有使用者?
使用者是系統最底層的安全設定,為了限制權力,也就是回收權力和支配權力的。
# 2.系統中為什麼要有組?
為了共享權力。
# 3.可以決定的組成為附加組。不能決定的組稱為初始組。(初始組無法更改,所有使用者都有初始組,附加組是超級使用者給其他組附加的)
# 4.使用者和組在系統中以什麼形態存在?
系統中的文字,配置檔案中以行的形式存在,用來記錄資訊
#5.使用者配置檔案
/etc/passwd ##使用者資訊檔案
使用者名稱稱:密碼:使用者id:組id 使用者說明:使用者家目錄:使用者預設使用的shell
/etc/group ##使用者組資訊
組名稱:組密碼:組id :附加組成員
/home/username ##使用者家目錄
/etc/skel.* ##使用者骨檔案(使用者環境配置模板,在使用者建立時會自動複製到家目錄中)
#6使用者的檢視
whoami #檢視當前使用者名稱稱
id username ##檢視使用者的id資訊
id -u username ##檢視使用者的uid
-g username ##檢視使用者的gid
-G username ##檢視使用者所在的所有的組的id
-n username ##以名稱顯示資訊
三、使用者的建立和刪除和修改
userdel username ##刪除使用者身份
userdel -r username ##刪除使用者身份及使用者的系統配置檔案
useradd username ##使用預設規則建立使用者(規則檢視/etc/login.defs)
useradd -u username ##指定使用者的uid
useradd -g username ##指定使用者的初始組id
useradd -G username ##指定使用者的附加組id
useradd -c username ##指定使用者的說明文字
useradd -d username ##指定使用者的家目錄
useradd -s username ##指定使用者的shell(系統可以用shell可在/etc/shells中檢視)
groupadd -g gid groupname 建立組並給出組id
#6.使用者的管理
usermod -l linux(新使用者名稱稱) westos(舊使用者名稱稱) ##改變使用者名稱稱
usermod -u uid username ##修改使用者uid
usermod -g 21 westos ##修改初始組id
usermod -G 25 westos ##更改附加組
usermod -aG ##增加附加組
usermod -G "" westos ##清除所有附加組
usermod -c test westos ##改變使用者說明文字
usermod -d /home/username ##改變使用者存放的位置
usermod -md /home/其他名稱 ##連同 家目錄一起改變
usermod -s ##改變使用者shell
7.使用者切換
su - username ##切換使用者,高階使用者切換到低階使用者不需要密碼
##低階使用者切換到高階使用者或者切換到平級使用者需要後者密碼
“注意:”
1、使用者切換後及時退出再切換到下一個使用者,不退出來回切會使shell出問題
2、su - 表示切換使用者身份及使用者環境(不加“-”會不改變環境變數,會出錯)
echo $PATH
#8.使用者的認證資訊
/etc/shadow ##記錄使用者的認證資訊
使用者名稱稱:
使用者密碼:
@@md5(對稱加密) sha512
(passwd username 是root 使用者修改密碼)
密碼最後一次被修改的時間:
@@當此位數字為0的使用者,在登陸系統時會被強制性修改密碼。
change -d 0 westos
passwd -e westos
密碼最短有效期:
chage -m 1 westos
passwd -n 3 westos
密碼最長有效期:
chage -M 40 westos
passwd -x 40 westos
密碼過期警告:(密碼過期前幾日進行提醒)
chage -W 2 westos
密碼非活躍期:(密碼過期前幾日進行提醒)
chage -I 2 westos
passwd -i 0 westos
帳號到期日:
chage -E "2018-11-11" westos
未設定使用者自定義:
四、使用者權力的下放
1.配置檔案
/etc/sudoers
2.配置命令
visudo ## 此命令提供語法檢測
在/etc/sudoers的第100行左右,加入下列程式碼
使用者名稱稱 主機名稱=(執行程式身份)命令 ##當執行命令時需要使用者驗證
linux11 dns-server.example.com = (root) /usr/sbin/useradd
使用者名稱稱 主機名稱=(執行程式身份)NOPASSWD: 命令1,命令2 ##當執行命令時不要使用者驗證
linux11 dns-server.example.com=(root) /usr/sbin/useradd,/usr/sbin/userdel
情況1、如果有錯誤,則“e” 繼續編輯
情況2、su -l linux11 (跳轉到普通使用者)
許可權下放成功。