1. 程式人生 > >Linux使用者(User)和使用者組(Group)管理命令

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

如何來管理使用者和使用者組。


相關的管理命令彙總

使用者管理相關命令
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,最簡單的新增使用者
[[email protected] ~]# useradd opser_1
[[email protected] ~]# 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來說的,如果是使用者自己設定了過於簡單的密碼,系統是不會接收的。

[[email protected] ~]# grep opser_1 /etc/passwd
opser_1:x:501:501::/home/opser_1:/bin/bash

使用者和組的ID都是501,家目錄和使用的SHELL都給出來了。注意,這兩個ID可以是不同的。


[[email protected] ~]# grep opser_1 /etc/shadow
opser_1:$6$cIFPSKDr$rQV1fCHYfpUBSqgtpUGcO5A.Wp0feoaMxAQn9QgBWTW7outyIsSN6baVCxhlfAnCZD0GDfDWiaV/UWHFgKuqx/:14981:0:99999:7:::
使用者的密碼和關於密碼的一些限制也很明白(不明白看上面的例子)

[[email protected] ~]# grep opser_1 /etc/group /etc/gshadow
/etc/group:opser_1:x:501:
/etc/gshadow:opser_1:!::

我們可以看到,在建立使用者的同時,也建立了一個和使用者同名的使用者組

[[email protected] ~]# ls -a /home/opser_1/
.  ..  .bash_logout  .bash_profile  .bashrc  .gnome2  .mozilla

使用者家目錄下的內容
[[email protected] ~]# ls -ld /home/opser_1/
drwx——. 4 opser_1 opser_1 4096 Jan  7 14:41 /home/opser_1/ 

例項2,新增使用者,並設定UID、組以及附加組並指定一個不可登陸的SHELL
[[email protected] ~]# groupadd -g 600 opser.org
[[email protected] ~]# groupadd user_group
[[email protected] ~]# 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了。
[[email protected] ~]# useradd -g user_group -G opser.org -u 580 -s /sbin/nologin opser_2
[[email protected] ~]# 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這兩個使用者的相關檔案

[[email protected] ~]# 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
[[email protected] ~]# 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:::
[[email protected] ~]# 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 新增使用者時的規則檔案
[[email protected] ~]# 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/ 增加使用者時候,使用者家目錄下的檔案來源。此目錄下的檔案都是隱藏檔案。
[[email protected] ~]# 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的範圍,使用者的期限等等。
[[email protected] ~]# 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...] <accountName>
-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資訊。
[[email protected] ~]# 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的用法非常相似,只是增加了使用者鎖定與解鎖。
我們看幾個例子


修改使用者的說明資訊
[[email protected] ~]# grep opser_1 /etc/passwd
opser_1:x:501:501::/home/opser_1:/bin/bash
[[email protected] ~]# usermod -c “opser.org exmple” opser_1
[[email protected] ~]# grep opser_1 /etc/passwd
opser_1:x:501:501:opser.org exmple:/home/opser_1:/bin/bash


設定使用者的過期日期
[[email protected] ~]# grep opser_1 /etc/shadow
opser_1:$6$cIFPSKDr$rQV1fCHYfpUBSqgtpUGcO5A.Wp0feoaMxAQn9QgBWTW7outyIsSN6baVCxhlfAnCZD0GDfDWiaV/UWHFgKuqx/:14981:0:99999:7:::
[[email protected] ~]# usermod -e “2011-02-01″ opser_1
[[email protected] ~]# grep opser_1 /etc/shadow
opser_1:$6$cIFPSKDr$rQV1fCHYfpUBSqgtpUGcO5A.Wp0feoaMxAQn9QgBWTW7outyIsSN6baVCxhlfAnCZD0GDfDWiaV/UWHFgKuqx/:14981:0:99999:7::15006:
我們就簡單的給大家介紹這兩個引數,其他的自己研究吧!


刪除使用者userdel


這個命令很簡單,
[[email protected] ~]# 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

[[email protected] ~]# groupadd -h
Usage: groupadd [options] GROUP
-g gid :設定使用者組,並指定相應的GID
-r :這個引數和我們的useradd -r 是一樣的道理
這個命令的使用,我們前面已經涉及到了,也很簡單。
[[email protected] ~]# 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:!::

[[email protected] ~]# groupadd new_group_1
[[email protected] ~]# groupadd -r new_group_2
[[email protected] ~]# 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也是類似的
[[email protected] ~]# groupmod -h
Usage: groupmod [options] GROUP
-g :修改既有的 GID 數字;
-n :修改既有的組名


看個例子
將剛剛上個指令建立的new_group_2名稱改為mygroup,GID為666
[[email protected] ~]# groupmod -g 666 -n mygroup new_group_2
[[email protected] ~]# 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

[[email protected] ~]# 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:
[[email protected] ~]# 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:!::

我們把前面建立和幾個使用者組給刪除
[[email protected] ~]# groupdel mygroup
[[email protected] ~]# groupdel new_group_1
[[email protected] ~]# groupdel opser.org
[[email protected] ~]# groupdel opser_1
groupdel: cannot remove the primary group of user ‘opser_1′
為什麼刪除不了opser_1使用者組呢?因為這個組裡面還有使用者。所以在刪除使用者組前,一定要檢視這個組中還有沒有成員了。

[[email protected] ~]# 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

[[email protected] ~]# gpasswd
Usage: gpasswd [option] GROUP
   :沒有引數,設定使用者組密碼
-a : 增加使用者到使用者組中
-d :從使用者組中刪除使用者
-r :刪除使用者組的密碼
-M :設定使用者組成員(多成員)
-A :設定使用者組管理員(列表)


我們來看個例子
先建立兩個使用者,併為其設定密碼
[[email protected] ~]# useradd test_user1
[[email protected] ~]# 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.
[[email protected] ~]# useradd test_user2
[[email protected] ~]# 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.

檢視這兩個使用者的相關資訊
[[email protected] ~]# 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:::


檢視系統中最後加入的使用者組(說法有點牽強)
[[email protected] ~]# 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組中
[[email protected] ~]# gpasswd -a test_user1 user_group
Adding user test_user1 to group user_group
[[email protected] ~]# gpasswd -a test_user2 user_group
Adding user test_user2 to group user_group
[[email protected] ~]# 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組的管理員
[[email protected] ~]# gpasswd -A test_user1 user_group
[[email protected] ~]# tail -n 3  /etc/gshadow
user_group:!:test_user1:test_user1,test_user2
test_user1:!::
test_user2:!::
注:這個使用者組的管理員的作用就是,可以像root使用者一樣來管理使用者組中其他成員。


設定user_group的密碼
[[email protected] ~]# gpasswd user_group
Changing the password for group user_group
New Password:
Re-enter new password:
[[email protected] ~]# 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 protected]][email protected][/email]
root〕# useradd user1
將會建立一個名為userl的使用者,關於使用者管理命令已介紹過,在此也不做更多的介紹了。

4.6.2 配置和修改使用者口令passwd

passwd命令用來配置和修改使用者命令,只有終極使用者和使用者自己能夠修改密碼,其他的普通使用者沒有修改其他使用者密碼的權利。其命令如下:
# passwd〔使用者名稱〕
為避免輸入密碼是被人注意到有多少位,Linux並不採用類似Windows的密碼回顯〔顯示為*號〕,所以,輸入的這些字元是看不見的。例如,為新建的userl使用者配置密碼可使用如下命令:

[[email protected]][email protected][/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 protected]][email protected][/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 protected]][email protected][/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模組,就會進入修改密碼模組。

相關推薦

Linux使用者(User)使用者(Group)管理命令

如何來管理使用者和使用者組。 相關的管理命令彙總 使用者管理相關命令 useradd        新增使用者 adduser        新增使用者 userdel         刪除使用者 passwd         為使用者設定密碼 usermod      

3-3 Linux中使用者使用者進階命令

1、 鎖定使用者 命令:passwd -l   使用者名稱 2、解鎖賬戶 命令:passwd  -u  使用者名稱 3、無密碼登入 命令:passwd  -d   使用者名稱 4、主要組與附屬組 使用者可以同時屬於多個組   一個主要組  多個附屬組 5、將使

Linux中使用者使用者的基本命令

建立使用者組:groupadd 組名 修改使用者組名稱:groupmod -n 新組名 原組名 修改組編號:groupmod -g 要修改的組編號 組名 刪除使用者組:groupdel 使用者組名

Linux中使用者使用者的操作命令詳解及樣例

使用者:使用作業系統的人 使用者組:具有相同許可權的一組使用者 /etc/group :儲存當前系統中所有使用者組的資訊 --Group : x  : 123 : abc,def,xyz --組名

linux的使用者管理命令

一、使用者:是用來作業系統中不同功能的身份.(有三種使用者) 超級使用者:root使用者是linux系統中預設的超級使用者賬號,具有至高無上的權利。  uid=0,gid=0 程式使用者:在安裝linux系統及部分應用程式時,會新增系統或某個程式的正常執行,如:ftp m

Linux】使用者使用者管理、許可權管理、vi編輯器、sudo許可權管理

使用者和使用者組管理 1、使用者配置檔案位置 -》cat /etc/passwd 2、root: x:0:0:root:/root:/bin/bash -》root 代表使用者名稱 -》x 密碼標識,

Linux之使用者使用者管理-使用者管理命令

二、修改使用者組[[email protected]~]#groupmod [選項] 組名選項:-g GID:修改組ID-n 新組名:修改組名 例子:[[email protected]~]#groupmod -n testg hhhg 把組名hhhg修改為testg

Linux使用者使用者管理

使用者和使用者組的管理 使用者管理簡介 越對伺服器安全效能高的伺服器,越要建立合理的使用者許可權等級制度和伺服器操作規範。 在linux中主要通過使用者配置檔案來檢查和修改使

Linux的使用者使用者管理

文章轉自:http://www.cnblogs.com/end/archive/2011/05/25/2057129.html Linux是個多使用者多任務的分時操作系統,所有一個要使用系統資源的使用者都必須先向系統管理員申請一個賬號,然後以這個賬號的身份進入系統。使用者的

用戶管理命令

添加用戶 單獨 unlock 移動 mod stdin 一起 mov 系統 (一)Linux用戶和組管理 安全上下文模型 進程以其發起者的身份運行:進程對文件的訪問權限,取決於發起此進程的用戶的權限 系統用戶:為了能夠讓那些後臺進程或服務類進程以非管理員的身份運行,

2017-11-17Linux基礎知識(12)用戶管理命令

linux 基礎 在上一章中我們講述了通配符(bash globing)以及IO重定向及管道,以及介紹了用戶管理的基本概念,主要講述了其用戶類別和組類別及管理用戶和組的數據庫文件,在用戶類別當中分為管理員和普通用戶這兩個大類,而普通用戶又分為系統用戶和登錄用戶這個兩類。之後在組類別當中介紹了其管理

Linux 虛擬記憶體實體記憶體的管理

MMU進行虛擬地址到物理轉換的時候,並不是一個個地址轉換的,而是一段段地址轉換。 轉換的單位: section  段   1MB    ----> u-boot large page  大頁   64KB small page  小頁    4kB   ----> linux內,page=4KB

Linux相識相知】計算機的組成、linux發行版哲學思想、基礎命令目錄結構

知識 sun pro 復制 val 算術 uil cdr type 從今天開始,Frank將開始在博客上記錄自己學習linux的點點滴滴,F初來乍到,還望各位大佬多多指教。本次博客的主要內容如下: 計算機基礎:簡要的描述了計算機的組成及其功能; linux初

Linux學習筆記——目錄、文件管理命令及常用選項

linux 目錄文件管理 linux目錄文件管理命令 目錄管理命令:ls 、 cd 、 pwd 、mkdir、 rmdir 、tree文件管理命令:touch、 stat 、file、 rm 、cp、 mv 、nan目錄管理#ls 列出列表格式ls [OPTION]... [FILE]...

Linux磁盤分區的實用管理命令

hybrid 破壞 com oot backup centos eve msdos nbsp 系統環境:Centos6、7 命令信息: 1、lsblk 列出分區信息,可以查看分區的光在目錄和使用情況 (讀取內存中的分區表信息) 2、fdisk 用來創建MBR分區(也可以

Linux文件系統及文件管理命令

Linux文件管理命令 tree 命令:查看目錄的樹1.目錄管理2. 文件管理命令2.1 文件創建和刪除rm -r 刪除當前目錄及其下所有文件2.2 文件復制和移動cp與mv:install(文件):3. 文本管理命令3.1 查看命令cat、tac:Ctrl+c:終止命令 3.2 分屏顯示文件內容more、

GCC編譯器原理(一)------交叉編譯器制作GCC件及命令

bst share 因此 armv4t 前端 通信 定義 arm 文件名 1.1 交叉編譯器制作 默認安裝的 GCC 編譯系統所產生的代碼適用於本機,即運行 GCC 的機器,但也可將 GCC 安裝成能夠生成其他的機器代碼。安裝一些必須的模塊,就可產生多種目標機器代碼,而且可

Linux學習(二)——常用檔案管理命令

一. 常用 Linux 命令的基本使用 序號 命令 對應英文 作用 01 ls list 檢視當前資料夾下的內容 02 pwd

Ubuntu Redhat / Fedora 服務管理命令對比表(附Fedora16新的服務管理工具systemctl )

以 apache/httpd 服務作為例子 任務 Ubuntu (with sysv-rc-conf or sysvconfig) 立即啟動/停止某服務 service httpd start invoke-rc.d a

linux下啟動關閉網絡卡命令

 ifup、ifdown:linux命令   實時地手動修改一些網路介面引數,可以利用ifconfig來實現,如果是要直接以配置檔案,亦即是在 /etc/sysconfig/network-scripts裡面的ifcfg-ethx等檔案的設定引數來啟動的話,那就得要通過i