用戶的創建
useradd usermod userdel
useradd:創建用戶 create a new user or update default new user information
useradd [options]… LOGIN
-u,–uid:指定新用戶的UID
-o,配合-u使用,不檢測用戶UID的唯一性(可創建2個相同UID的帳號)
-g,–gid:指定新建用戶的GID
-G,–group:指定新建用戶的附加組,若指定多個組可用,分割
-d,–home:指定用戶的家目錄
但是其指定目錄的父目錄必須存在,否則無法創建其家目錄
每個用戶家目錄都有其配置文件,所有新建用戶的家目錄中的文件均來自/etc/skel/文件中
若其指定的家目錄已經存在,則不會復制/etc/skel/文件中的內容
-s,–shell;指定用戶的默認shell
當前系統所有可用shell保存在/etc/shells文件中
-c,指定用戶信息的注釋信息
-r,–system:指定其創建的用戶為系統用戶,系統用戶不會為其創建家目錄
-N,不為用戶創建同名的組作為用戶基本組,而是使用users作為基本組
[root@CentOS6 ~]# id gao
uid=500(gao) gid=500(gao) groups=500(gao),0(root)
[root@CentOS6 ~]# useradd -ou 500 gaomeng1
[root@CentOS6 ~]# id gaomeng1
uid=500(gao) gid=5004(gaomeng1) groups=500(gao)
[root@CentOS6 ~]# useradd -g gao -G gaomeng1 gaomeng2
[root@CentOS6 ~]# id gaomeng2
uid=4015(gaomeng2) gid=500(gao) groups=500(gao),5004(gaomeng1)
[root@CentOS6 ~]# useradd -d /testdir/gaomeng3 -s /bin/csh -c "This is haha" gaomeng3
[root@CentOS6 ~]# getent passwd gaomeng3
gaomeng3:x:4016:4016:This is haha:/testdir/gaomeng3:/bin/csh
[root@CentOS6 ~]# useradd -r gaomeng4
[root@CentOS6 ~]# getent passwd gaomeng4
gaomeng4:x:496:492::/home/gaomeng4:/bin/bash
[root@CentOS6 ~]# ls -d /home/gao*
/home/gao /home/gao1 /home/gao4 /home/gaomeng1 /home/gaomeng2
[root@CentOS6 ~]# useradd -N gaomeng5
[root@CentOS6 ~]# getent passwd gaomeng5
gaomeng5:x:4017:100::/home/gaomeng5:/bin/bash
[root@CentOS6 ~]# groups gaomeng5
gaomeng5 : users
useradd -D
顯示創建用戶的默認信息
useradd -D [options]
修改創建用戶的默認信息,其本質是修改的/etc/default/useradd文件的內容
[root@CentOS6 testdir]# useradd -D
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
[root@CentOS6 testdir]# useradd -D -s /bin/csh
[root@CentOS6 testdir]# cat /etc/default/useradd
# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/csh
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
usermod:修改用戶屬性 modify a user account
usermod [options]… LOGIN
-u,修改用戶的ID,為用戶指定行的UID
-g,修改用戶的基本組
-G,修改用戶的附加組,若指定多個組可用,分割
-a,與-G結合使用,追加用戶的附加組,可以在修改附加組的時候,不覆蓋當前用戶附加組
-d,修改用戶的家目錄,但不會負責當前目錄文件在指定目錄中
-m,與-d結合使用,在修改用戶家目錄時候,會轉移家目錄下的文件,-md其實完成的工作是移動和重命名
-c,修改用戶的注釋信息
-s,修改用戶的默認shell
-l,修改當前用戶的用戶名
-L:–lock:鎖定用戶密碼,被鎖定用戶,cat /etc/shadow查看密碼時,其密碼前面有一個!
-U:–unlock:解鎖用戶密碼
-c:YYYY-mm-dd:指定用戶帳號過期時間
-f day:指定用戶非活動時間
[root@CentOS6 testdir]# usermod -g gentoo -aG gaomeng3,gaomeng4 gaomeng1
[root@CentOS6 testdir]# id gaomeng1
uid=500(gao) gid=4006(gentoo) groups=500(gao),4016(gaomeng3),492(gaomeng4)
[root@CentOS6 testdir]# usermod -u 3000 -md /testdir/gaomeng2 -s /bin/csh gaomeng2
[root@CentOS6 testdir]# id gaomeng2
uid=3000(gaomeng2) gid=500(gao) groups=500(gao),5004(gaomeng1)
[root@CentOS6 testdir]# getent passwd gaomeng2
gaomeng2:x:3000:500::/testdir/gaomeng2:/bin/csh
[root@CentOS6 testdir]# ls -a /testdir/gaomeng2
. .. .bash_logout .bash_profile .bashrc .gnome2 .mozilla
[root@CentOS6 testdir]# usermod -c "big smile" -l gm3 gaomeng3
[root@CentOS6 testdir]# getent passwd gm3
gm3:x:4016:4016:big smile:/testdir/gaomeng3:/bin/csh
[root@CentOS6 testdir]# usermod -L gao
[root@CentOS6 testdir]# getent shadow gao
gao:!$6$13tm7S5i$22vbEKEMLPu6zr.Egl8yH/eA78lCk.tnxAw5AQZ2dEVZAXRiukgLXGw62euhDQM5zVDLgZWXw8nYiOkWixVAT1:17011:0:99999:7:3::
[root@CentOS6 testdir]# usermod -U gao
[root@CentOS6 testdir]# getent shadow gao
gao:$6$13tm7S5i$22vbEKEMLPu6zr.Egl8yH/eA78lCk.tnxAw5AQZ2dEVZAXRiukgLXGw62euhDQM5zVDLgZWXw8nYiOkWixVAT1:17011:0:99999:7:3::
userdel:delete a user account and related files 刪除用戶
userdel [options] LOGIN
-r:刪除用戶時一并刪除其家目錄
[root@CentOS6 testdir]# userdel -r gaomeng2
[root@CentOS6 testdir]# id gaomeng2
id: gaomeng2: No such user
[root@CentOS6 testdir]# ls -d /home/gaomeng*
/home/gaomeng1 /home/gaomeng5
id:顯示用戶的真實有效的UID和GID
id [OPTION]… [USERNAME]
-u:僅顯示用戶的UID
-g:僅顯示用戶的GID
-G:僅顯示用戶的附加組ID
-n:與-u -g -G結合使用,不顯示用戶的ID信息,而顯示ID所對于的用戶名或組名
[root@CentOS6 ~]# id -u gao
500
[root@CentOS6 ~]# id -nu gao
gao
[root@CentOS6 ~]# id -g gao
500
[root@CentOS6 ~]# id -ng gao
gao
[root@CentOS6 ~]# id -G gao
500 0
[root@CentOS6 ~]# id -nG gao
gao root
su:切換用戶或以其他用戶身份執行命令
su [OPTION]… [-] [USER [ARG]…]
非登錄式切換,即不會讀取目標用戶的配置文件,不改變當前工作目錄
su username
登錄式切換,會讀取目標用戶的配置文件,模擬重新登錄,切換至家目錄,完全切換
su – username
su -l username
-c 'COMMAND' :不切換用戶的前提下,以su命令后面的用戶的身份-c后面的命令
passwd:修改用戶的密碼,僅root用戶有權限運行此命令
id [OPTION]… [USERNAME]
-l,-u:鎖定和解鎖用戶,用passwd給用戶家的鎖,其密碼前面有2個!!
-d:清除用戶密碼串,并且強制用戶下次登錄時修改密碼
-e:強制用戶下次登錄修改密密碼
-n:指定最短使用期限
-x:指定最多使用期限
-w:指定警告期限
-i:指定非活動期限(密碼過期后必須修改密碼才能登錄的時間)
-uf:可以強制新創建的無密碼的用戶中的鎖強制消除,即該用戶可以直接登錄
–stdin:從標準接收用戶的密碼
#echo "centos" | passwd –stdin username
組的創建
groupadd groupmod groupdel
groupadd:添加組
-g:指定新建組的GID
-r:指定新建組為系統組
[root@CentOS6 ~]# groupadd -g 3500 test
[root@CentOS6 ~]# getent group test
test:x:3500:
[root@CentOS6 ~]# groupadd -r test1
[root@CentOS6 ~]# getent group test1
test1:x:491:
groupmod:修改組屬性
-g:修改組的GID
-n new_name:修改組的名字
[root@CentOS6 ~]# groupmod -g 3600 -n txt test
[root@CentOS6 ~]# getent group txt
txt:x:3600:
groupdel:刪除組
[root@CentOS6 ~]# groups txt
[root@CentOS6 ~]# groupmems -l -g txt
groupmems: group 'txt' does not exist in /etc/group
gpasswd:修改組密碼
gpasswd [OPTION] GROUP
gpasswd GROUP :給GROUP組設置密碼,不能像passwd可以從標準輸入捕捉數據,避免交互
-A user1,user2,…:設置GROUP組的管理者
-a user :把user添加進入GROUP組
-d user:把user從組GROUP中移除
newgrp 命令:
臨時切換基本組;
如果用戶本不屬于此組,則需要組密碼
groupmems:更改和查看組成員
groupmems [options] [action]
-a, –add username 指定用戶加入組
-d, –delete username 從組中刪除用戶
-p, –purge 從組中清除所有成員
-l, –list 顯示組成員列表
-g, –group groupname 更改為指定組,與-p-l選擇組合使用完成特定組的操作(只有root)
groupmems -l -g GROUPNAME 查看組所屬的用戶列表
groups [OPTION].[USERNAME]… 查看用戶所屬組列表
原創文章,作者:megedugao,如若轉載,請注明出處:http://www.www58058.com/27501