轉載: blog.csdn.net/qq1603013767/article/details/8192221
如何來管理用戶和用戶組。
相關的管理命令匯總
用戶管理相關命令
useradd??????? 添加用戶
adduser??????? 添加用戶
userdel??????? ?刪除用戶
passwd??????? ?為用戶設置密碼
usermod?????? 修改用戶命令,可以通過usermod 來修改登錄名、用戶的家目錄等等
用戶組管理相關命令
groupadd???? 添加用戶組
groupdel????? 刪除用戶組
groupmod??? 修改用戶組信息
groups??????? ?顯示用戶所屬的用戶組
newgrp?????? ?切換到相應用用戶組
大家看了這么多的命令,可能會很頭暈,其實在日常使用和維護中,我們常用的并不是很多,下面我們就把他們重新拆分組合,讓學習變的很容易。
命令的具體使用
1、增加新用戶、編輯用戶與刪除用戶
相關命令:useradd, passwd, usermod, userdel
新增用戶useradd/adduser
語法:useradd [options] LOGIN
options有很多(可以用useradd –hlep 或者man useradd查看),我們簡單介紹幾個。
-d 目錄????? ?指定用戶主目錄,(默認是在/home目錄下創建和用戶名一樣的目錄)
-g 用戶組?? ?指定用戶所屬的用戶組(主組)
-G 用戶組?? 指定用戶所屬的附加組(這些組必需事先已經增加過了或者是系統中已經存在)
-s Shell??????指定用戶的登錄Shell
-u UID????? ? 指定用戶的用戶號,如果同時有-o選項,則可以重復使用其他用戶的標識號
-c 描述??????? 指定一段注釋性描述
-m??????????? ? 使用者目錄若不存在則自動建立(默認選項)
我們來看幾個實例
實例1,最簡單的新增用戶
[root@yufei ~]# useradd opser_1
[root@yufei ~]# passwd opser_1
Changing password for user opser_1.
New password:
BAD PASSWORD: it is too simplistic/systematic
BAD PASSWORD: is too simple
Retype new password:
passwd: all authentication tokens updated successfully.
注:如果設置的密碼過于簡單的話,系統會給出上面的提示,其實密碼已經設定了。這只是針對root來說的,如果是用戶自己設置了過于簡單的密碼,系統是不會接收的。
[root@yufei ~]# grep opser_1 /etc/passwd
opser_1:x:501:501::/home/opser_1:/bin/bash
用戶和組的ID都是501,家目錄和使用的SHELL都給出來了。注意,這兩個ID可以是不同的。
[root@yufei ~]# grep opser_1 /etc/shadow
opser_1:$6$cIFPSKDr$rQV1fCHYfpUBSqgtpUGcO5A.Wp0feoaMxAQn9QgBWTW7outyIsSN6baVCxhlfAnCZD0GDfDWiaV/UWHFgKuqx/:14981:0:99999:7:::
用戶的密碼和關于密碼的一些限制也很明白(不明白看上面的例子)
[root@yufei ~]# grep opser_1 /etc/group /etc/gshadow
/etc/group:opser_1:x:501:
/etc/gshadow:opser_1:!::
我們可以看到,在建立用戶的同時,也建立了一個和用戶同名的用戶組
[root@yufei ~]# ls -a /home/opser_1/
.? ..? .bash_logout? .bash_profile? .bashrc? .gnome2? .mozilla
用戶家目錄下的內容
[root@yufei ~]# ls -ld /home/opser_1/
drwx——. 4 opser_1 opser_1 4096 Jan? 7 14:41 /home/opser_1/
實例2,新增用戶,并設置UID、組以及附加組并指定一個不可登陸的SHELL
[root@yufei ~]# groupadd -g 600 opser.org
[root@yufei ~]# groupadd user_group
[root@yufei ~]# tail -n 4 /etc/group
yufei:x:500:
opser_1:x:501:
opser.org:x:600:
user_group:x:601:
我們看到,增加的第一個opser.org用戶組的時候,我限制了他的GID是600,而第二個沒有限制就變成了601了。
[root@yufei ~]# useradd -g user_group -G opser.org -u 580 -s /sbin/nologin opser_2
[root@yufei ~]# passwd opser_2
Changing password for user opser_2.
New password:
BAD PASSWORD: it is too simplistic/systematic
BAD PASSWORD: is too simple
Retype new password:
passwd: all authentication tokens updated successfully.
我對增加的用戶opser_2做了一些限制,而且也對他設置了與opser_1一樣的密碼(其實這個密碼設置了也沒有什么用,因為我后面限制了他所使用的SHELL是/sbin/nologin,同樣是無法登陸系統),我們來對比
opser_1與opser_2這兩個用戶的相關文件
[root@yufei ~]# tail -n 2 /etc/passwd
opser_1:x:501:501::/home/opser_1:/bin/bash
opser_2:x:580:601::/home/opser_2:/sbin/nologin[root@yufei ~]# tail -n 2 /etc/shadow
opser_1:$6$cIFPSKDr$rQV1fCHYfpUBSqgtpUGcO5A.Wp0feoaMxAQn9QgBWTW7outyIsSN6baVCxhlfAnCZD0GDfDWiaV/UWHFgKuqx/:14981:0:99999:7:::
opser_2:$6$VZTnZmFj$hayn6ycBCy9Mnfpwi13pAUOquwOVTmC/NiUuBViMnCp4PhowNBeYuFsYZGe3flfYhH2GVJhimbDF5o9pn6E5h0:14981:0:99999:7:::[root@yufei ~]# tail -n 2 /etc/group
opser.org:x:600:opser_2
user_group:x:601:
注:
1、opser_1和opser_2這兩個用戶雖然密碼都是一樣,但經過加密后,在shadow中顯示的依然是不同的。
2、opser_2這個用戶的UID和GID不再是用系統默認的,而是我們指定的。
3、opser_2他的主組的GID是601,也就是user_gruop,同時在opser.org這個組中,也有opser_2這個成員。
4、opser_2這個用戶雖然指定了SHELL,但這個SHELL是個特殊的SHELL,是不能登陸系統的。這個(/sbin/nologin)SHELL一般是在增加系統帳戶的時候常用。
5、在建立用戶的時候會以最后建立的用戶UID為參考。如opser_2的UID是580,那么再建立一個用戶的時候,就變成581了,而502~579這些就沒有用戶在使用,那么我想從503開始的話,要怎么來實現?可以通過加上-r參數或者是自己指定。
關于其他的參數,請各位看官自己看幫助來研究。
和用戶相關的其他調用文件
通過上面的兩個例子,有沒有朋友會有這樣的疑問,在增加用戶的時候,家目錄里面的文件是從哪里來的?UID和GID參考了什么?還有shell是根據什么來的?
想知道這些問題,可以用man useradd來查看,你會發現,在這個幫助文件中,會有FILES那一段,除了我們上一節講的四個文件外,還有
/etc/default/useradd
Default values for account creation.
/etc/skel/
Directory containing default files.
/etc/login.defs
Shadow password suite configuration.
看到了上面的這三個文件的說明,上面的問題是不是已經找到答案了!
想看看是如何規劃的,那么就打開文件看看吧。
/etc/default/useradd 通過useradd 添加用戶時的規則文件
[root@yufei ~]# vim /etc/default/useradd
# useradd defaults file
GROUP=100??????????????? ?#主組的GID也是從100開始的
HOME=/home?????????? ????#把用戶的家目錄建在/home中,這個目錄也可以自己設定
INACTIVE=-1??????????????? #是否啟用密碼過期后是否會失效,-1表示密碼永遠不會失效。如10,則代表過期10天后才失效。
EXPIRE=???????????????????? ? #帳號終止日期,不設置表示不啟用
SHELL=/bin/bash????????? #所用SHELL的類型
SKEL=/etc/skel??????????? ? #用戶家目錄里面文件的參照位置。也就是說,當我們用adduser添加用戶時,用戶家目錄下的文件,都是從這個目錄中復制過去的;
CREATE_MAIL_SPOOL=yes??? #創建用戶的郵件池。相當于一個用戶的郵箱
/etc/skel/ 增加用戶時候,用戶家目錄下的文件來源。此目錄下的文件都是隱藏文件。
[root@yufei ~]# ls -la /etc/skel/
total 36
drwxr-xr-x.? 4 root root? 4096 Dec 15 22:41 .
drwxr-xr-x. 96 root root 12288 Jan? 7 13:40 ..
-rw-r–r–.? 1 root root??? 18 Jun 22? 2010 .bash_logout
-rw-r–r–.? 1 root root?? 176 Jun 22? 2010 .bash_profile
-rw-r–r–.? 1 root root?? 124 Jun 22? 2010 .bashrc
drwxr-xr-x.? 2 root root? 4096 Jul 14 23:55 .gnome2
drwxr-xr-x.? 4 root root? 4096 Dec 15 22:35 .mozilla
/etc/login.defs 創建用戶時的一些規劃。比如創建用戶時,是否需要家目錄,UID和GID的范圍,用戶的期限等等。
[root@yufei ~]# vim /etc/login.defs
MAIL_DIR??????? /var/spool/mail #創建用戶時,要在目錄/var/spool/mail中創建一個用戶mail文件
PASS_MAX_DAYS?? 99999??????? #用戶的密碼不過期最多的天數
PASS_MIN_DAYS?? 0??????????? #密碼修改之間最小的天數
PASS_MIN_LEN??? 5??????????? #密碼最小長度
PASS_WARN_AGE?? 7??????????? #警告時間
UID_MIN?????????????????? 500??? #UID從500開始
UID_MAX???????????????? 60000??? #最大UID為60000
GID_MIN?????????????????? 500??? #GID從500開始
GID_MAX???????????????? 60000??? #最大GID為60000
CREATE_HOME???? yes??????????? #是否創用戶家目錄
UMASK?????????? 077??????????? #創建用戶家目錄時候的默認權限限制
USERGROUPS_ENAB yes??????????? #用userdel刪除用戶的時候,如果這個主組中沒有其他用戶,那么也把這個組給刪除
ENCRYPT_METHOD SHA512??????? #用戶密碼的加密方式為SHA512
通過上面的講解,我想你已經深入了解了在linux系統中增加用戶的過程了吧,這個過程就是:
在 /etc/passwd 里面建立一行與賬號相關的數據,包括建立 UID/GID/家目錄等;
在 /etc/shadow 里面將此賬號的密碼相關參數填入,但是尚未有密碼;
在 /etc/group 里面加入一個與賬號名稱一模一樣的組名;
在 /home 底下建立一個與賬號同名的目錄作為用戶家目錄,且權限為 700
從/etc/skel/中COPY相應的文件到用戶的家目錄
最后通過passwd命令,把密碼加密后寫到/etc/shadow中
用戶密碼設置
上面我們著重講了用戶創建,沒有太多的講用戶的密碼設置。
其實在Linux系統中,命令的作用就是改配置文件,而這個passwd命令就是把密碼加密后寫入/etc/shadow(二欄)中,我們也知道這個文件中的欄位有9欄,那么其它欄要如何通過passwd這個命令來改呢?
看幫助吧
passwd –help
格式:passwd [OPTION...]
-l? :是Lock的意思,會將 /etc/shadow 第二欄最前面加上”!”使密碼失效
-u :與-l相對,是Unlock的意思
-S :列出密碼相關參數,即shadow文件的大部分信息
-n?:后面接天數,shadow的第4字段,不可修改密碼天數
-x :后面接天數,shadow的第5字段,多長時間內必須要修改密碼
-w :后面接天數,shadow的第6字段,密碼過期前的警告天數
-i? :后面接日期,shadow 的第7字段,密碼失效日期
這些大家自己來實驗吧,我除了密碼用passwd設置外,其它的相關限制,我更習慣直接在/etc/shadow中修改。
還有一個和passwd相似的命令,那就是chage大家也是自己研究吧!
在這里順便也說一個技巧,就是我們常常會遇到這樣一種情況:比如我下載了某個應用,但這個應該是人家集成好的,這時候別人會給你一個默認的用戶和密碼,第一次登陸的時候,只有重新設置密碼后才登陸。其實這個功能的實現,就是改我們shadow中的第三欄,把這個數值改成0就OK了!有興趣的朋友可以試試。
編輯用戶usermod
新增用戶已經搞定,但要是對用戶的相關信息進行一下修改,除了通過改文件外,還有沒有其他的方法了?當然有啊,命令啊,命令的最終目的也是改配置文件。那么下面就來看看如何通過usermod來修改用戶的相關0信息。
[root@yufei ~]# usermod -h
Usage: usermod [options] LOGIN
-c :后面接賬號的說明,即/etc/passwd第五欄的說明欄,可以加入一些賬號的說明
-d :后面接賬號的家目錄,即修改/etc/passwd的第六欄
-e :后面接日期,格式是YYYY-MM-DD也就是在/etc/shadow內的第八欄
-f? :后面接天數,修改shadow的第七欄
-g :后面接主群組,修改/etc/passwd的第四個字段,即是GID的字段
-G:后面接附加群組,修改這個使用者能夠支持的群組,修改的是/etc/group
-a :與 -G 合用,可增加附加群組的支持而非設定
-l? :后面接賬號名稱。修改賬號名稱,/etc/passwd的第一欄
-s :后面接Shell的文件,例如/bin/bash或/bin/csh等等
-u :后面接 UID 數字,修改用戶的UID /etc/passwd第三欄
-L :暫時將用戶的密碼凍結,讓他無法登入。其實就是在/etc/shadow的密碼欄前面加上了“!”
-U:將/etc/shadow 密碼欄的“!”去掉
其實,這個usermod和useradd的用法非常相似,只是增加了用戶鎖定與解鎖。
我們看幾個例子
修改用戶的說明信息
[root@yufei ~]# grep opser_1 /etc/passwd
opser_1:x:501:501::/home/opser_1:/bin/bash
[root@yufei ~]# usermod -c “opser.org exmple” opser_1
[root@yufei ~]# grep opser_1 /etc/passwd
opser_1:x:501:501:opser.org exmple:/home/opser_1:/bin/bash
設置用戶的過期日期
[root@yufei ~]# grep opser_1 /etc/shadow
opser_1:$6$cIFPSKDr$rQV1fCHYfpUBSqgtpUGcO5A.Wp0feoaMxAQn9QgBWTW7outyIsSN6baVCxhlfAnCZD0GDfDWiaV/UWHFgKuqx/:14981:0:99999:7:::[root@yufei ~]# usermod -e “2011-02-01″ opser_1
[root@yufei ~]# grep opser_1 /etc/shadow
opser_1:$6$cIFPSKDr$rQV1fCHYfpUBSqgtpUGcO5A.Wp0feoaMxAQn9QgBWTW7outyIsSN6baVCxhlfAnCZD0GDfDWiaV/UWHFgKuqx/:14981:0:99999:7::15006:
我們就簡單的給大家介紹這兩個參數,其他的自己研究吧!
刪除用戶userdel
這個命令很簡單,
[root@yufei ~]# userdel -h
Usage: userdel [options] LOGIN
-f :強制刪除,包括用戶的一切相關內容,這個參數是危險的參數,不建議大家使用。詳細說明看MAN
-r :刪除用戶的家目錄和用戶的郵件池
其實這個-r參數就是刪除用戶的相關配置文件中的信息
用戶賬號/密碼相關參數:/etc/passwd, /etc/shadow
用戶相關參數:/etc/group, /etc/gshadow
用戶個人文件數據: /home/username, /var/spool/mail/username
不給大家演示了,自己動手實踐吧!
注:
1、userdel -r 這個命令使用的時候,一定要確認這個用戶的所有數據真的不再使用了。
2、建議在使用這個命令之前,查找出這個帳戶的所有數據(find / -user username),確認后再進行操作。
2、用戶組管理
這也和上面的用戶管理差不多,只是修改的文件(/etc/group, /etc/gshadow)不同
增加用戶組groupadd
[root@yufei ~]# groupadd -h
Usage: groupadd [options] GROUP
-g gid :設置用戶組,并指定相應的GID
-r :這個參數和我們的useradd -r 是一樣的道理
這個命令的使用,我們前面已經涉及到了,也很簡單。
[root@yufei ~]# tail -n 4 /etc/group /etc/gshadow
==> /etc/group <==
yufei:x:500:
opser_1:x:501:
opser.org:x:600:
user_group:x:601:
==> /etc/gshadow <==
yufei:!!::
opser_1:!::
opser.org:!::
user_group:!::
[root@yufei ~]# groupadd new_group_1
[root@yufei ~]# groupadd -r new_group_2
[root@yufei ~]# tail -n 4 /etc/group /etc/gshadow
==> /etc/group <==
opser.org:x:600:
user_group:x:601:
new_group_1:x:602:
new_group_2:x:489:
==> /etc/gshadow <==
opser.org:!::
user_group:!::
new_group_1:!::
new_group_2:!::編輯用戶組groupmod
與usermod也是類似的
[root@yufei ~]# groupmod -h
Usage: groupmod [options] GROUP
-g :修改既有的 GID 數字;
-n :修改既有的組名
看個例子
將剛剛上個指令建立的new_group_2名稱改為mygroup,GID為666
[root@yufei ~]# groupmod -g 666 -n mygroup new_group_2
[root@yufei ~]# tail -n 4 /etc/group /etc/gshadow
==> /etc/group <==
opser.org:x:600:
user_group:x:601:
new_group_1:x:602:
mygroup:x:666:
==> /etc/gshadow <==
opser.org:!::
user_group:!::
new_group_1:!::
mygroup:!::
注:這個GID建議還是不要隨意更改,防止造成系統的GID混亂。
刪除用戶組groupdel
這個命令更簡單,沒有任何的參數,后面直接跟上想刪除的用戶組名
注:不能用groupdel -h 或 groupdel –help來查看幫助,只能用man groupdel
[root@yufei ~]# tail -n 2 /etc/passwd /etc/shadow
==> /etc/passwd <==
yufei:x:500:500:yufei:/home/yufei:/bin/bash
opser_1:x:501:501:opser.org exmple:/home/opser_1:/bin/bash
==> /etc/shadow <==
yufei:$6$VdpG9FMuvcR49tD2$zhfYkufmtPd5jjzYG/lSvErSWPusnrqv52ikQxsRs0sYCBwLOakw8v/cz3nksC6p7l8MhePXC7FCXDhv1YbTM/:14958:0:99999:7:::
opser_1:$6$cIFPSKDr$rQV1fCHYfpUBSqgtpUGcO5A.Wp0feoaMxAQn9QgBWTW7outyIsSN6baVCxhlfAnCZD0GDfDWiaV/UWHFgKuqx/:14981:0:99999:7::15006:
[root@yufei ~]# tail -n 5 /etc/group /etc/gshadow
==> /etc/group <==
opser_1:x:501:
opser.org:x:600:
user_group:x:601:
new_group_1:x:602:
mygroup:x:666:
==> /etc/gshadow <==
opser_1:!::
opser.org:!::
user_group:!::
new_group_1:!::
mygroup:!::
我們把前面建立和幾個用戶組給刪除
[root@yufei ~]# groupdel mygroup
[root@yufei ~]# groupdel new_group_1
[root@yufei ~]# groupdel opser.org
[root@yufei ~]# groupdel opser_1
groupdel: cannot remove the primary group of user ‘opser_1′
為什么刪除不了opser_1用戶組呢?因為這個組里面還有用戶。所以在刪除用戶組前,一定要查看這個組中還有沒有成員了。
[root@yufei ~]# tail -n 3 /etc/group /etc/gshadow
==> /etc/group <==
yufei:x:500:
opser_1:x:501:
user_group:x:601:
==> /etc/gshadow <==
yufei:!!::
opser_1:!::
user_group:!::
用戶組的管理員設置gpasswd
[root@yufei ~]# gpasswd
Usage: gpasswd [option] GROUP
:沒有參數,設置用戶組密碼
-a : 增加用戶到用戶組中
-d :從用戶組中刪除用戶
-r :刪除用戶組的密碼
-M :設置用戶組成員(多成員)
-A :設置用戶組管理員(列表)
我們來看個例子
先建立兩個用戶,并為其設置密碼
[root@yufei ~]# useradd test_user1
[root@yufei ~]# passwd test_user1
Changing password for user test_user1.
New password:
BAD PASSWORD: it is too simplistic/systematic
BAD PASSWORD: is too simple
Retype new password:
passwd: all authentication tokens updated successfully.
[root@yufei ~]# useradd test_user2
[root@yufei ~]# passwd test_user2
Changing password for user test_user2.
New password:
BAD PASSWORD: it is too simplistic/systematic
BAD PASSWORD: is too simple
Retype new password:
passwd: all authentication tokens updated successfully.
查看這兩個用戶的相關信息
[root@yufei ~]# tail -n 2 /etc/passwd /etc/shadow
==> /etc/passwd <==
test_user1:x:502:502::/home/test_user1:/bin/bash
test_user2:x:503:503::/home/test_user2:/bin/bash
==> /etc/shadow <==
test_user1:$6$EL8UBf7P$gZL3N9GJDL6JhBJnwTZYyiOO8d2zu7Ti9B5eDTP7Hb17AT6Xe4/BuiNVBszO/UoycYIBZZygIH3oA3aKDOSA11:14982:0:99999:7:::
test_user2:$6$tTs0BG90$7LLaUwF9pP/g0h4/IPAwH1x4JE.rSXjYP/wbUq2kxPsXM4/7AaniQdi6G85QIfH6.cspo7OTutqPZblbRUUVT/:14982:0:99999:7:::
查看系統中最后加入的用戶組(說法有點牽強)
[root@yufei ~]# tail -n 3 /etc/group /etc/gshadow
==> /etc/group <==
user_group:x:601:
test_user1:x:502:
test_user2:x:503:
==> /etc/gshadow <==
user_group:!::
test_user1:!::
test_user2:!::
把test_user1、test_user2加到user_group組中
[root@yufei ~]# gpasswd -a test_user1 user_group
Adding user test_user1 to group user_group
[root@yufei ~]# gpasswd -a test_user2 user_group
Adding user test_user2 to group user_group
[root@yufei ~]# tail -n 3 /etc/group /etc/gshadow
==> /etc/group <==
user_group:x:601:test_user1,test_user2
test_user1:x:502:
test_user2:x:503:
==> /etc/gshadow <==
user_group:!::test_user1,test_user2
test_user1:!::
test_user2:!::
設置test_user1為user_group組的管理員
[root@yufei ~]# gpasswd -A test_user1 user_group
[root@yufei ~]# tail -n 3? /etc/gshadow
user_group:!:test_user1:test_user1,test_user2
test_user1:!::
test_user2:!::
注:這個用戶組的管理員的作用就是,可以像root用戶一樣來管理用戶組中其他成員。
設置user_group的密碼
[root@yufei ~]# gpasswd user_group
Changing the password for group user_group
New Password:
Re-enter new password:
[root@yufei ~]# tail -n 3? /etc/gshadow
user_group:$6$2UZWz/O32$vViBQd.Bu8y.RfUbH/9QFYxqN.t31u7r2PztjfysgnKsJ4SUFBvtc1qg7N89bqBRpqUG1fQNno5ij0ja4B/3M1:test_user1:test_user1,test_user2
test_user1:!::
test_user2:!::
切換用戶組newgrp
該命令將當前用戶切換到相應的用戶組
注:前提條件是這個用戶組要是該用戶的主組或附加組。
如何在linux下使用userdel和 groupdel刪除用戶和用戶組
userdel很簡單,只有一個參數可選 -r ;如果加參數-r ,表示在刪除用戶的同時,一并把用戶的家目錄及本地郵件存儲的目錄或文件也一同刪除;比如我們現在有個用戶murray,其家目錄位于/var目錄中,現在我們來刪除這個用戶
;
userdel murray 注:刪除用戶murray,但不刪除其家目錄及文件;
userdel -r murray 注:刪除用戶murray,其家目錄及文件一并刪除;
警告: 請不要輕易用-r參數;他會刪除用戶的同時刪除用戶所有的文件和目錄,切記;如果用戶目錄下有重要的文件,在刪除前請備份;
其實也有最簡單的辦法,但這種辦法有點不安全,也就是直接在/etc/passwd中刪除您想要刪除用戶的記錄;但最好不要這樣做,/etc/passwd 是極為重要的文件,可能您一不小心會操作失誤;
groupdel 是用來刪除用戶組的;
語法格式:groupdel 用戶組
groupdel admin
debian添加刪除用戶
增加普通用戶命令:
adduser abc
passwd abc
exit
用abc登錄
/etc/passwd中保存了用戶信息
LINUX創建用戶的命令
useradd -g test -d /home/test1 -s /etc/bash -m test1
注解:-g 所屬組 -d 家目錄 -s 所用的SHELL
刪除用戶命令
userdel -r test1
創建密碼命令
passwd
創建新用戶
useradd命令(也能夠使用adduser)用來創建新的用戶帳號,其命令格式如下:
表4—19 useradd命令常用選項
常用現象
意 義
-d
配置新用戶的登陸目錄
-e
配置新用戶的停止日期,日期格式為MM/DD/YY
-f
帳戶過期幾日后永久停權。當值為0時帳號則立即被停權。而當值為-1時則關閉此功能。預設值為-1
-g
使新用戶加入群組
-G
使新用戶加入一個新組。每個群組使用逗號“,”隔開,不能夠夾雜空白字
-s
指定新用戶的登陸Shell
-u
設定新用戶的ID值
成功創建一個新用戶以后,在/etc/passwd文檔中就會增加一行該用戶的信息,其格式如下:
〔用戶名〕:〔密碼〕:〔UID〕:〔GID〕:〔身份描述〕:〔主目錄〕:〔登陸Shell〕
其中個字段被冒號“:”分成7各部分。
由于小于500的UID和GID一般都是系統自己保留,不用做普通用戶和組的標志,所以新增加的用戶和組一般都是UID和GID大于500的。
例如使用如下命令:
〔
[email=root@localhost]root@localhost[/email]
root〕# useradd user1
將會創建一個名為userl的用戶,關于用戶管理命令已介紹過,在此也不做更多的介紹了。
4.6.2 配置和修改用戶口令passwd
passwd命令用來配置和修改用戶命令,只有終極用戶和用戶自己能夠修改密碼,其他的普通用戶沒有修改其他用戶密碼的權利。其命令如下:
# passwd〔用戶名〕
為避免輸入密碼是被人注意到有多少位,Linux并不采用類似Windows的密碼回顯〔顯示為*號〕,所以,輸入的這些字符是看不見的。例如,為新建的userl用戶配置密碼可使用如下命令:
〔
[email=root@localhost]root@localhost[/email]
root〕# passwd user1
根據系統的提示信息輸入兩次密碼,系統會顯示:
passwd ::all authentication tokens updated successfully
表示修改密碼成功了。新建用戶的工作只有在該用戶配置了口令后才算完成,否則無法使用該用戶名登陸。
4.6.3 修改用戶信息usermod
usermod命令用來修改用戶信息,其命令格式如下:
# usermod〔選項〕〔用戶名〕
表4-20 usermod命令常用選項
常用選項
意 義
-d
更新使用者新的登陸目錄
-e
配置新用戶的停止日期,日期格式為MM/DD/YY
-f
帳戶過期幾日后永久停權。當值為0時帳號則立即被停權。而當值為-1時則關閉此功能。預設值為-1
-g
更新使用者新用戶加入群組
-G
定義使用者為一堆groups的成員。每個群組使用“??”隔開,不能夠夾雜空白字
-l
變更用戶登陸時的名稱,同時使用者目錄名也會跟著更動成新的名稱
-s
指定新用戶Shell
-u
用戶ID值,必須為唯一的ID值。用戶目錄樹下所用的文檔目錄其userID會自動變更,放在擁護目錄外的文檔則要自行手動更動
例如,下面的命令修改用戶信息:
〔
[email=root@localhost]root@localhost[/email]
root〕# usermod –d/home/user2 –s/bin/bash user2
將用戶名user2的主目錄路徑配置在/home/user1,登陸的Shell配置為/usr/bin/gcc。
一般情況下usermod命令會參照命令指令的部分修改用戶帳號信息。但usermod不允許改變正在線上的使用者帳號名稱,因此,當用usermod來改變用戶帳號信息時,必須確認這名沒在電腦上執行任何程式。
4.6.4 新建組群groupadd
groupadd命令用來建立新的用戶組,其命令格式如下:
# groupadd〔選項〕〔用戶名稱〕
常用選項有:
-g:GID值。除非使用-o參數不然該值必須是唯一,不可相同,數值不可為負。
GID值預設為最小不得小于500而逐次增加。0—499傳統上是保留系統帳號使用。
-f:新增的一個已存在的群組帳號,系統會出現錯誤訊息然后結束groupadd.
假如是這樣的情況,不會新增這個群組(假如是這個情況,系統不會在新增一次)。也可同時加上-g選項,當您加上一個GID時,此時GID就不用是唯一值, 可不加-o參數,建好的群組會顯示建立后的結果(adding a group as neither –g or –o options were specified),這是Red Hat Linux額外增設的選項。
4.6.5 刪除用戶userdel
userdel命令用來刪除已存在的用戶及相關的文檔,其命令格式如下:
# userdel 〔選項〕用戶名
userdel命令的常用選項:
-r將用戶目錄下的文檔一并刪除。在其他位置上的文檔也將一一找出并刪除。
Userdel不允許移除正在線上的用戶帳號,因此,假如想刪除這類用戶帳號,必須先殺掉用戶在系統上運行的程式才能進行帳號刪除。
4.6.6 刪除群組groupdel
groupdel命令用來刪除已存在的用戶組,其命令格式如下:
# groupdel組名
同userdel類似,假如有任何一個組內的用戶在上線,就不能移除該用戶組,因此,假如組內有用戶在線的話,最好先移出該用戶,然后在刪除該用戶。
4.6.7 用戶間轉換su
su 命令常用于不同用戶間轉換。其命令格式如下:
# su〔用戶名〕
su命令的常見用法是變成跟用戶或終極用戶,假如發出不帶用戶名的su命令,則系統提示輸入根口令,輸入之后則可換為根用戶。假如登陸為根用戶,則能夠用su命令成為系統上任何用戶而無需口令。
例如,假如登陸為user1,要轉換為user2,只要用如下命令:
# su user2
然后系統提示輸入user2口令,輸入正確的口令之后就能夠轉換到user2。完成之后就能夠用exit命令返回到user1。
4.6.8 查看當前在線用戶who
who命令主要用于查看當前在線上的用戶情況。這個命令很有用。假如用戶想和其他用戶建立即使通訊,比如使用talk命令,那么首先要確定的就是該用戶確實在線上,不然talk進程就無法建立起來。
又如,系統管理員希望監控每個登陸的用戶此時此刻的所作所為,也要使用who命令。Who命令的常用命令格式和常用選項如下:
# who〔選項〕
命令who常用命令選項如表4-21所示。
表 4-21 命令who常用命令選項
常用選項
意 義
-a
顯示任何用戶的任何信息
-m
顯示運行該程式的用戶名,和“who am I”的作用相同
-q
只顯示用戶的登陸帳號和登陸用戶的數量,該選項優先級高于其他任何選項
-u
在登陸用戶后面顯示該用戶最后一次對系統進行操作距今的時間
-H
顯示列標題
任何的選項是可選的,例如,使用命令:
〔
[email=root@localhose]root@localhose[/email]
root〕# who-aH
其中主標題的含義如下表4—22所示。
表4-22 who輸出常用標題含義
標題
含義
USER
用戶登陸
LINE
用戶登陸使用終端
TIME
用戶登陸時間
LDIE
用戶空閑時間,即至進行操作的時間
PID
用戶登陸shell的進程ID
也能夠單獨使用who命令,這時將顯示登陸用戶另、使用終端設備連同登陸到系統的時間三項內容
linux (debian)查看和添加用戶或用戶組
1、Linux里查看所有用戶
linux里,并沒有像windows的net user,net localgroup這些方便的命令來管理用戶.
Xwindows界面的就不說了.
(1)在終端里.其實只需要查看 /etc/passwd文件就行了.
(2)看第三個參數:500以上的,就是后面建的用戶了.其它則為系統的用戶.
或者用cat /etc/passwd
2、用戶管理命令
useradd 注:添加用戶
添加用戶以后,會相應的在 /home目錄下創建關于該用戶的一個文件夾(useradd tuping)
給linux增加一個和root相同權限的用戶
#useradd -u 0 -o -g 0 username使用 -o參數可以允許建立相同id的用戶
增加普通用戶命令:
adduser abc
passwd abc
exit
用abc登錄
/etc/passwd中保存了用戶信息
LINUX創建用戶的命令
useradd -g test -d /home/test1 -s /etc/bash -m test1
注解:-g 所屬組 -d 家目錄 -s 所用的SHELL
刪除用戶命令
userdel -r test1
創建密碼命令
passwd
1.添加用戶
添加用戶的命令為useradd,假設我們添加一個名字為testuser的用戶,設置其登錄Shell,設置它的其他屬性:
useradd ?Cs /bin/bash ?CG thiz ?Cd /home/testuser testuser
passwd testuser
關于useradd的詳細幫助可以在man
useradd中得到。這里-s參數用來指定用戶的啟動Shell,如果不希望給用戶Shell的許可權,就在/etc/Shells中添加
/dev/null和/usr/bin/passwd,然后指定Shell為/dev/null或者/usr/bin/passwd。第一種情況是根本不
允許用戶登錄(例如該用戶為郵件賬號,只允許收發郵件);第二種是只允許登錄進來修改密碼。-G用來指定用戶在屬于添加的testuser用戶組的同時,
也屬于thiz用戶組。-d用來指定用戶的主目錄位置,
這里指定為默認位置/home/testuser(當然也可以不指定,默認創建/home/testuser,并將用戶主目錄指向該目錄)。添加用戶以后
就需要使用 passwd 命令為其設置密碼。
對于已經添加的用戶,需要修改其屬性,可以使用命令usermod,也可以在man usermod中得到更多信息。
使用Webmin,進入系統信息的用戶管理模塊。
2.刪除用戶
刪除用戶可以通過命令userdel來完成,這依賴于系統所安裝的軟件。
# userdel testuser
不過需要注意的是刪除用戶并不會刪除為該用戶創建的主目錄,這樣是因為該目錄中還有可能保存著有用的文件,如果確信該用戶的主目錄沒有需要的文件了,需要手工刪除其主目錄,例如:
# rm -r? /home/testuser
3.修改密碼
修改密碼可以使用命令方式:
# passwd username
即可對用戶密碼進行修改。當然在Webmin中提供了修改用戶密碼的功能,只要選擇系統中Change Passwords模塊,就會進入修改密碼模塊。