Linux系統用戶與用戶組管理(一)

3.1 用戶配置文件和密碼配置文件

用戶配置文件:/etc/passwdlinux

以上圖root開頭行爲例咱們用「:」能夠劃分爲7個部分:shell

一、root:用戶名。用戶名中的字符能夠是大小寫字母、數字、減號、點或下劃線,不建議使用點、減號,容易形成混淆。安全

二、x:帳戶的密碼。此處基於安全因素,所有用x代替。bash

三、0:用戶標識號,即uid。ssh

四、0:組標識號,即gid。ui

五、root:註釋說明 ,一般記錄該用戶的一些屬性,例如姓名、電話、地址等 ,能夠用chfn命令來更改這些信息。加密

六、/root:用戶的家目錄,root用戶的家目錄就是/root,普通用戶的家目錄是/home/username。spa

七、/bin/bash:用戶的shell,默認是/bin/bash,若是想創建一個不容許登陸的帳號,能夠把該字段改成/sbin/nologin。3d

密碼配置文件:/etc/shadowblog

咱們仍是以上圖root開頭行爲例咱們用「:」能夠劃分爲7個部分:

一、用戶名。

二、用戶密碼,該密碼已經加密。

三、上次更改密碼的日期。

四、要過多少天才能夠更改密碼,默認爲0。

五、密碼多少天后到期,即在多少天內必須更改密碼,例如,當咱們設置爲10,則10天內必需要更改一次密碼,否則將登錄不了系統。默認爲99999,即永遠不須要更改。

六、即帳號的生命週期,表示帳號在這個日期前可使用,到期後帳號將做廢。

七、保留字段。


3.2 用戶組管理

groupadd:新增組,其格式爲:groupadd [ -g GID ] groupname。

若是不加參數-g,系統會以默認的gid建立組,gid從1000開始,若是加參數-g,則能夠自定義組的gid。

groupdel:刪除組,其格式爲:groupdel groupname。

若是一個組中有帳戶,則只有組成員爲空時,才能刪除組。


3.3 用戶管理

增長用戶的命令:useradd,其格式爲:useradd [ -u UID ] [ -g GID ] [ -d HOME ] [ -M ] [ -s ] username。

參數u表示自定義UID。

參數g表示使新增的用戶屬於已經存在的某個組,後面能夠跟組id,也能夠跟組名。

參數d表示自定義用戶的家目錄 。

參數M表示不創建家目錄。

注意:參數-M的做用只是不建立此用戶的家目錄,但/etc/passwd中仍有此用戶的家目錄字段,但用ls命令查看,會提示咱們目錄不存在。

參數s表示自定義shell。

刪除用戶的命令:userdel,其格式爲:userdel [ -r ] username。參數-r的做用是,當刪除用戶時,把用戶的家目錄也刪除掉。


3.4 usermod命令

id username 能夠查看用戶的屬性。

更改用戶屬性的命令:usermod,其格式爲usermod  [ -u UID ] [-g GID] [ -d HOME ] [ -s ] username。

其中,參數-u、-g、-d、-s的用戶跟命令useradd的用戶同樣。

此外,命令usermod還有一個參數-G,表示爲擴展組,此參數能夠給一個用戶設定多個組。

一個用戶能夠屬於多個組,但一個GID只能對應一個組。


3.5 用戶密碼管理

帳戶建立後,默認是沒有密碼的,密碼字段會以「!!」顯示,只有設置好密碼後,才能夠登陸系統。

密碼設定的一些規則:

(1)長度大於10個字符;

(2)密碼包含大小寫字母、數字、特殊字符*、&、%等;

(3)不規則性(不要出現linux、love、123456等相似的);

(4)密碼中不要帶有本身的名字、電話、生日等信息。

passwd,更改用戶密碼(爲用戶設置密碼),其格式爲passwd [ username ]。若是命令後面不加用戶名字,則是爲本身設定密碼。

密碼設定後,密碼字段則不會以「!!」顯示:

-l:鎖定用戶密碼。(usermod -L username 也能夠鎖定用戶密碼)

-u:解鎖用戶密碼。(usermod -U username 也能夠解鎖用戶密碼)

此外,passwd --stdin username 也能夠更改用戶的密碼:


3.6 mkpasswd命令

命令mkpasswd用於生成密碼。

Linux默認是沒有這個命令的,咱們需安裝一個expect軟件包:

mkpasswd默認生成9位數密碼,能夠經過參數-l n 來生成n位數密碼:


3.7 su命令

su命令,用於切換用戶。其格式爲:su [ - ] username。

加「-」後,會切換到切換用戶的家目錄下

而不加「-」,則路徑仍是在root家目錄下。

su還能夠以指定用戶的身份去執行一條命令:su - -c "touch /tmp/zhangjin.py" zhangjin


3.8 sudo命令

su命令切換到其餘用戶,前提是咱們要知道root的密碼。那麼,既然咱們已經知道了root用戶的密碼,也就能夠直接用root用戶的密碼去登陸root了,這就存在很大的安全隱患。爲了解決這個問題,因而又有了sudo命令。使用sudo命令的做用在於執行一個只有root才能執行的命令,可是須要須要輸入用戶本身的密碼。

普通用戶想要使用sudo命令,須要root預先設定,咱們可使用visudo命令編輯配置文件 /etc/sudoers。

上圖中的root (指定哪一個用戶擁有sudo權限)    ALL(全部的主機)=(ALL)(獲取哪一個用戶的身份)   ALL(可使用的sudo的命令有哪些)

如圖,增長93行

而後咱們驗證下zhangjin賬戶的權限:

若是想把不少用戶都設置爲具備sudo權限,能夠這樣設置:

把# %wheel  ALL=(ALL)  ALL前面的註釋#去掉,讓這一行生效便可。而後把須要設置sudo權限的全部用戶都加入到wheel組中。


3.9 限制root遠程登陸

sshd服務的配置文件爲 /etc/ssh/sshd_config ,在Linux中是默認容許root用戶經過ssh遠程登陸的,若是咱們想不容許root用戶遠程登陸Linux,能夠經過修改配置文件 /etc/sshsshd_config 來實現,具體方法是,在此文件中查找#PermitRootLogin yes 修改成PermitRootLogin no,保存好配置文件後,再重啓ssh服務便可:

相關文章
相關標籤/搜索