相關文件:
/etc/passwd 用戶帳戶信息。shell
/etc/shadow 安全用戶帳戶密碼信息。安全
/etc/shadow- /etc/shadow 的備份文件。注意,此文件由 shadow 工具集使用,而不是全部的用戶和密碼管理工具都會使用bash
經常使用場景
[root@vms001 ~]# id abc #使用id命令,能夠查看系統中是否存在此用戶,也能夠用來查看存在用戶的ID
ide
[root@vms002 桌面]# system-config-users #圖形界面下打開用戶管理界面,打開的界面只能管理咱們的普通用戶,不能管理root用戶。
工具
[root@vms002 ~]# useradd bob -c 'bob ftp user' -s /sbin/nologin -d /bob -G users -G root -u 3000 #添加bob用戶。-c 指定註釋信息;-s 指定用戶shell;-d 指定用戶家目錄,若是不指定的話默認是/home/bob;-g 指定用戶加入組,用戶必需要屬於某一個組,若是不指定默認就會建立一個與用戶同名的組;-G指定用戶附屬組;-u 指定用戶ID
加密
[root@vms002 ~]# echo redhat | passwd --stdin bob #給bob用戶設置密碼。--stdin從標準輸入讀取令牌(只有根用戶才能進行此操做);當咱們建立用戶時候,若是沒有指定密碼,此時這個用戶建立好以後是處於鎖定狀態的,沒法登錄用戶,因此這裏要使用passwd來設置密碼。
code
[root@vms002 ~]# getent passwd bob #此命令與「cat /etc/passwd | grep bob」命令的輸出是同樣的
get
[root@vms002 ~]# passwd -S bob # -S報告已命名賬號的密碼狀態(只有根用戶才能進行此操做)
it
[root@vms002 ~]# usermod -c 'ftp ftp user bob' bob #修改用戶屬性。修改bob用戶的註釋信息
class
[root@vms002 ~]# usermod -s /sbin/bash bob #修改用戶屬性。修改bob用戶的默認登陸shell
[root@vms002 ~]# usermod -d /home/abc/bob bob #修改用戶屬性。修改bob用戶的家目錄;要確保被修改的家目錄存在,且之前家目錄的文件都要copy到新的家目錄中,才能保證該變了家目錄的用戶正常使用,由於被拷貝的文件裏包含了環境變量等信息
[root@vms002 home]# groups bob #查看bob用戶屬於哪些用戶組
[root@vms002 bob]# gpasswd -a bob bin #使用此命令能夠將bob用戶添加到 bin組
[root@vms002 bob]# gpasswd -d bob root #將bob用戶從root組裏邊刪除
[root@vms002 bob]# usermod -g root bob #g, --gid GROUP 制使用 GROUP 爲新主組
[root@vms002 bob]# usermod -L bob #鎖定用戶bob,不影響root用戶su到bob用戶
[root@vms002 bob]# usermod -U bob #解鎖bob用戶
[root@vms002 bob]# chage -E 2019-12-21 bob #bob用戶到2019年12月21日的時候會自動鎖定
[root@vms002 bob]# chage -E 99999 bob #連續設置5個9,密碼則永不過時
[root@vms002 bob]# chage -d 2018-11-12 bob #此命令用來修改一個時間,修改什麼時間呢?修改的就是上次密碼修改的時間值
[root@vms002 bob]# chage -m 10 -M 40 -W 7 -I 3 -d 2018-09-21 bob
-m 最小天數,兩次改變密碼之間相距的最小天數設爲「最小天數」 -M 最大天數,將兩次改變密碼之間相距的最大天數設爲「最大天數」 -W 警告天數,將過時警告天數設爲「警告天數」 -I 過時多少每天數後,設定密碼爲失效狀態 -d 最近日期,將最近一次密碼設置時間設爲「最近日期」
[root@vms002 bob]# chage -d 0 bob#強制修改密碼。設置bob用戶下次登陸必須修改密碼
[root@vms002 tmp]# chgrp users rh124/ #改變rh124目錄的所屬組爲users組
[root@vms002 bob]# groupadd testg #添加用戶組
[root@vms002 bob]# groupdel testg #刪除用戶組
[root@vms002 bob]# userdel -r 用戶名 #刪除用戶。用戶主目錄中的文件將隨用戶主目錄和用戶郵箱一塊兒刪除。在其它文件系統中的文件必須手動搜索並刪除。郵箱在 login.defs 文件中的 MAIL_DIR 變量中定義。
/etc/passwd詳解
格式以下:(使用 :分隔)jerry:x:1000:1000:jerry:/home/jerry:/bin/bash
第一列:用戶名
第二列:密碼,之前這裏是直接存儲密碼的,可是問了安全如今把密碼存放到/etc/shadow文件裏了
第三列:UID,用戶ID,普通用戶RHEL7的範圍爲1000-60000,RHEL6的是從500開始的;root用戶的UID爲0;爲何普通用戶的UID是從1000-60000的一個範圍呢?這是由/etc/login.defs 這個文件決定的,文件中有「UID_MIN 」和「UID_MAX」的設置,這個文件你若是修改的話,它將影響咱們新建的用戶。
第四列:GID,用戶ID,每一個用戶都要屬於一個組
第五列:註釋
第七列:家目錄
第八列:用戶使用的shell。若是用戶的shell是/sbin/nologin,這表示這個用戶不能登陸系統,這個匿名用戶,通常用於登陸某服務,好比說:用戶能夠登陸郵箱,可是不能登陸系統。若是你想修改用戶默認登陸的shell,不建議直接修改/etc/passwd這個文件。
/etc/shadow詳解
格式以下:(使用 :分隔)jerry:$6$YrQoJHcd/Ok4Qnur$1F3HbZoTn0re5xGROIYswItAuZEoLbjUwDCpwdxMc/OYveyJ4hbkUCotJ2jFgLRyDPN7roy6Phs3GsnNni6cj0:17756:0:99999:7:::
第一列:用戶名第二列:加密的密碼信息第三列:17756指的是從1970年1月1日到如今爲止,總共經歷了多少天第四列:密碼最小使用天數,0的話是不作限制。做用:好比咱們設置的策略是密碼使用30天要求更換密碼,好了到了30天,密碼你修改了,可是你把密碼改爲了和原來同樣的,這樣是沒意義的,因此這裏有了密碼最小使用天數的設置第五列:密碼最大使用天數,碼永不過時第六列:密碼更換前警告的天數。密碼過時前提早幾天給用戶警告第七列:帳號被取消前的天數,密碼過時以後,有幾天的緩衝期?好比用戶30天過時,已通過期了,這時候用戶是無法登陸系統的,你在緩衝期期間登陸系統就會強制你修改密碼,若是過了緩衝期你尚未修改,帳號就會被鎖定。若是值是0的話就是沒有緩衝期;果值是-1,表示你的緩衝期爲永久。