Linux用戶(User)和用戶組(Group)管理命令

轉載: 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模塊,就會進入修改密碼模塊。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,663評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,125評論 3 414
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,506評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,614評論 1 307
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,402評論 6 404
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 54,934評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,021評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,168評論 0 287
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,690評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,596評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,784評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,288評論 5 357
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,027評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,404評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,662評論 1 280
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,398評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,743評論 2 370