1. 程式人生 > >(第二章)基於Linux平臺的檔案操作、使用者管理、使用者許可權下放

(第二章)基於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  (跳轉到普通使用者)

許可權下放成功。