用戶管理
1、用戶管理配置文件
用戶數據文件:/etc/passwd
[root@CentOS-Test software]# grep test /etc/passwd
test:x:500:500:test:/home/test:/bin/bash
用戶賬號包含的信息:
test:用戶名,用戶登錄時使用的用戶名 x:密碼位 500:UID,用戶標識號 500:缺省組標識號
test:註釋性描述,例如存放用戶全名等信息
/home/test:用戶的宿主目錄
/bin/bash:用戶使用的shell,默認爲bash
linux用戶賬號的分類:
分爲三種:超級用戶(root,UID=0) 具有一切操作權限
普通用戶(UID500-65536) 操作權限受到限制
僞用戶(缺省用戶):(UID 1-499)假用戶或虛擬用戶
注意:用戶的UID的取值,除0外,其它值不允許用戶取相同的值,僞用戶與系統和程序服務相關:bin、daemon、shutdown、halt等,任何Linux系統默認都有這些僞用戶,僞用戶沒有登錄密碼和宿主目錄
每個用戶都至少屬於一個用戶組,每個用戶組可以包括多個用戶,同一用戶組的用戶享有該組共有的權限
用戶口令文件:/etc/shadow
保存了用戶口令等重要信息,該文件只有root用戶可以讀寫
用戶組文件:/etc/group
用戶組密碼文件:/etc/gshadow
用戶配置文件:/etc/login.defs /etc/default/useradd
新用戶信息文件:/etc/skel
登錄信息:/etc/motd
2、用戶賬號維護命令
創建用戶(到指定組)並設定密碼:
[root@CentOS-Test ~]# useradd -g operator user3 //創建user3用戶,並將其加入到operator組
[root@CentOS-Test ~]# passwd user3 //設定user3的密碼
更改用戶 user3 的密碼 。
新的 密碼:
重新輸入新的 密碼:
passwd: 所有的身份驗證令牌已經成功更新。
顯示useradd命令的默認值:當我們使用useradd命令添加用戶時,若未指定參數將使用useradd的默認值,此默認值文件在/etc/default/useradd中,可以編輯此文件來修改useradd命令的默認參數;用命令顯示爲useradd -D
usermod用於設置已有賬號的登錄屬性,包括用戶的宿主目錄、私有組、登錄的shell等內容
改變用戶賬號名:user -l newname oldname
//此命令是修改用戶的登錄名稱,但是宿主目錄並未更新,還需要修改新的宿主目錄
[root@CentOS-Test ~]# usermod -l user5 user1
修改宿主目錄
[root@CentOS-Test ~]# usermod -d /home/user5 user5
修改用戶的所屬組信息
[root@CentOS-Test home]# usermod -g operator ciscoserver
鎖定用戶賬號及接觸鎖定
[root@CentOS-Test ~]# usermod -L user8 鎖定的是密碼
[root@CentOS-Test ~]# passwd -l user8 鎖定的是密碼
[root@CentOS-Test ~]# usermod -U user8 解鎖的是密碼
[root@CentOS-Test ~]# passwd -u user8 解鎖的是密碼
刪除用戶賬號
[root@CentOS-Test ~]# userdel user3 刪除用戶user3 但是其宿主目錄並沒有刪除 /home/user3仍然存在
[root@CentOS-Test ~]# userdel -r user3 將user3用戶刪除後其宿主目錄也一起刪除
刪除用戶口令
[root@CentOS-Test default]# passwd -d yangweiwei 刪除的只是用的口令,如若恢復需使用passwd username重新設定密碼
清除用戶的密碼 yangweiwei。
passwd: 操作成功
設定用戶的finger信息
[root@CentOS-Test default]# chfn fangguo
Changing finger information for fangguo.
Name []: 張搜索
Office []: 銷售部
Office Phone []: 025689
Home Phone []: 15455155
3、組賬號維護命令
創建組:groupadd 組名 用於在系統中添加組賬號,該組賬號的GID大於500
[root@CentOS-Test home]# groupadd ZBS
刪除組:groupdel 組名 用於刪除組,刪除組之前必須先刪除該組下的用戶,即不能刪除含有用戶的組
[root@CentOS-Test ~]# groupdel operator
組重命名:groupmod -n newgroupname oldgroupname 此組下面由用戶的話,修改後用戶也隸屬於新的組名下
[root@CentOS-Test default]# groupmod -n yizhidui ZHBA
添加用戶到組:gpasswd -a 用戶賬號名 組賬號名 此用戶賬號名必須先存在
[root@CentOS-Test default]# useradd sunzhaohui
[root@CentOS-Test default]# gpasswd -a sunzhaohui yizhidui
Adding user sunzhaohui to group yizhidui
當然此上述兩條命令可以直接用useradd命令完成 useradd -g yizhidui sunzhaohui 前提是組賬號必須存在,且創建的用戶只屬於yizhidui,而是用useradd sunzhaohui創建的用戶還屬於自己的私有組
從組中刪除用戶:gpasswd -d 用戶賬號名 組賬號名
設置用戶爲組管理員:gpasswd -A 用戶名 所屬組
[root@CentOS-Test default]# gpasswd -A sunzhaohui yizhidui
4、維護命令
顯示系統可用的shell
[root@CentOS-Test default]# chsh -l
/bin/sh
/bin/bash
/sbin/nologin
/bin/tcsh
/bin/csh
設置用戶登錄的shell
[root@CentOS-Test default]# chsh -s /bin/bash root
5、用戶和組狀態命令
id:用於顯示當前用戶所屬的uid、gid、和用戶所屬的組列表
[root@CentOS-Test default]# id
uid=0(root) gid=0(root) 組=0(root) 環境=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
顯示當前用戶的名稱
[root@CentOS-Test default]# whoami
root
將當前用戶轉換爲其它用戶 su 用戶名
[root@CentOS-Test default]# su sunzhaohui
如果轉換爲root用戶:su - root
用於顯示指定用戶所屬組信息:groups 用戶名
[root@CentOS-Test ~]# groups sunzhaohui
sunzhaohui : yizhidui
使用RedHat用戶管理器來管理用戶:system-config-users