天天看點

linux上的使用者管理

作為一個專業的伺服器發行版,CentOS上存在着n多個使用者,作為一個專業的運維工程師,linux的使用者管理和使用者組的管理是做為一個SA必不可少的工作. 下面我們就先來談談linux中的使用者管理:

useradd可以在系統中建立一個使用者

用法如下: useradd [選項] 使用者名
常用選項:
    -u      指定使用者的UID
    -g      指定使用者的初始組ID
    -G      指定使用者的附加組
    -c      為使用者添加注釋
    -d      指定使用者的家目錄
    -m      為使用者添加家目錄
    -M      添加使用者時不添加家目錄
    -s      為使用者指定shell
    -N      為使用者設定特定的初始組,不建立與使用者同名的初始組
    -p      直接為使用者定密碼
    -o      為使用者建立的UID允許是已經存在的UID
    -U      為使用者建立一個跟使用者名同名的組
    -r      建立一個系統使用者(UID在1到499之間)
    -b      為使用者指定特殊的家目錄(未加這個選項的話,則在/home目錄上為使用者添加家目錄)
    -e      指定使用者密碼過期的時間(格式為YYYY-MM-DD)
    -f      指定使用者密碼過期後等待的天數(0為密碼過期後立即失效,-1為永不失效)           

passwd可以設定使用者的密碼資訊

任何使用者輸入這個指令都可以隻可以更改自己的密碼密碼

隻有管理者可以用這個指令接上别的使用者名來更改别的使用者的密碼

指令如下: passwd [選項] [使用者]

常用選項:
    -l          鎖定使用者
    -u          解鎖使用者
    --stdin     用标準輸入的方式為使用者添加密碼(腳本批量添加使用者經常使用)
    -d          快速删除指定使用者的密碼(隻有root可以使用)
    -e          強迫使用者下次登陸的時候必需修改密碼
    -n          指定密碼最短有效期限
    -x          指定密碼最大使用期限
    -w          指定密碼失效前多少天開始警告
    -i          指定密碼過期之後還能使用多少天
    -S          輸出指定使用者的密碼狀态           

系統中/etc/passwd和/etc/shadow這兩個檔案儲存了該系統上的所有的使用者資訊.

/etc/passwd檔案格式說明:
    root:x:0:0:root:/root:/bin/bash 
    bin:x:1:1:bin:/bin:/sbin/nologin
    adm:x:3:4:adm:/var/adm:/sbin/nologin
    lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

這個檔案共分為七段,相隔兩段之間用“:”隔開,
    第一段為使用者的使用者名,
    第二段為使用者的密碼占位符,在這個檔案裡以"*"代替,
    第三段為使用者的UID,
    第四段為使用者的确GID,
    第五段為使用者的注釋資訊,
    第六段為使用者的家目錄,
    第七段為使用者的SHELL。           
/etc/shadow檔案格式說明:
    bin:*:15980:0:99999:7:::
    daemon:*:15980:0:99999:7:::
    adm:*:15980:0:99999:7:::
    lp:*:15980:0:99999:7:::
    sync:*:15980:0:99999:7::: 
這個檔案共分為九段,相隔兩段也是用":“隔開,
    第一段為使用者名,
    第二段為加密後的密碼存放位置,
    第三段為上次修改密碼的時間(從1970年1月1日起的天數),
    第四段為距離上次修改密碼後多少天才可以再次修改密碼
    第五段為密碼過期的時間
    第六段為密碼過期前,提前警告的天數
    第七段為密碼失效日期之後多少天這個帳号将被鎖定
    第八段為帳号失效日期
    第九段為保留字段
    ```
這兩個檔案是系統安全方面很重要的檔案,尤其是/etc/shadow這個檔案,我們可以看到系統上這個檔案的權限:

    [root@localhost ~]# ls -lah /etc/passwd /etc/shadow
    -rw-r--r-- 1 root root 1.2K Mar 19 16:30 /etc/passwd
    ---------- 1 root root  782 Mar 19 16:30 /etc/shadow

所有的使用者都沒有權限讀取到這個檔案(當然root可以讀取滴),是以管理者必須要小心保護好這個檔案,以免這台伺服器淪為不法分子的“殭屍電腦”。

說完了添加使用者,再來說說使用者管理方面的那些事。

usermod用來來更改使用者的某些資訊

指令如下: usermod [選項] 使用者名           

常用選項:

-a 為使用者添加附加組

-c 為使用者添加注釋

-d 為使用者指定家目錄

-e 指定密碼過期時間

-f 指定密碼失效日期

-g 更改使用者GID

-G 為使用者添加附加組

-L 鎖定使用者密碼

-m 移動使用者家目錄到新的目錄

-p 為使用者指定新的密碼

-s 更改使用者的SHELL

-u 更改使用者的UID

-U 解鎖使用者的密碼

####userdel用來删除某個使用者。

用法如下: userdel [選項] 使用者

常用選項:

    -f          強制删除使用者
    -r          删除使用者家目錄(删除前請再三确認這個使用者家目錄裡沒有很重要的檔案,否則。。。。。)
####chage指令:這個指令可以用來修改帳号和密碼的有效期限。

用法如下: chage [選項] 使用者名           

常用選項

-m 密碼可更改的最小天數,即為上次修改密碼之後過多久使用者可以再次修改自己的密碼,為0則代表任何時候都可以更改密碼

-M 密碼最大有效天數

-w 密碼到期前的警告天數

-E 帳号到期的天數

-d 上一次更改密碼的時間,從1970年1月1日到今天的總共天數

-I 密碼失效日期,密碼過期之後的多少天帳号将被鎖定而不能登陸

這些資訊儲存在/etc/login.defs中

PASS_MAX_DAYS 99999 密碼最大有效天數

PASS_MIN_DAYS 0 密碼可更改的最小天數

PASS_MIN_LEN 5 密碼最小長度

PASS_WARN_AGE 7 密碼過期前的警告天數

```

管理者可以修改這個配置檔案中的這部分來為新增加的使用者增強帳号的安全級别.

祝大家工作學習愉快!!

繼續閱讀