用戶管理
用戶管理主要包含著用戶的增加脏里、修改和刪除她我,同時能夠查看用戶的相關信息
查看用戶所屬的組
我們可以使用groups
命令來查看當前用戶所屬的組,下面這段代碼迫横,就是查看用戶 tomcat
所屬的組番舆,可以看到該用戶屬于多個用戶組,中間用空格分開矾踱。
tomcat@hw-hadoop1-> groups tomcat
tomcat : tomcat szcst dockerroot docker
tomcat@hw-hadoop1->
添加賬號
添加一個賬號需要我們擁有root
權限恨狈,普通用戶是沒有權限添加新的用戶。我們使用useradd
命令來新增一個用戶呛讲,語法如下:
useradd 選項 用戶名
上面語法中包含了用戶名和選項禾怠,用戶名我們都理解什么意思,但是這個選項具體是什么呢贝搁!我們在系統中輸入useradd
命令吗氏,查看下這個命令的詳細參數幫助。
-
-d
:指定用戶的主目錄 雷逆,如果目錄不存在的話弦讽,使用-m
選項,創(chuàng)建主目錄 -
-g
:指定用戶所屬的用戶組膀哲,后面可以跟用戶組名或者用戶組的GID -
-c
:為用戶添加一段注釋性的描述 -
-G
:指用戶所屬的附加組 -
-s
:指定用戶的登錄shell
-
-u
:新增賬號的用戶ID
-
-o
:允許新增的用戶和已經存在的用戶擁有重復的用戶ID
-
-U
:新增一個和用戶名相同的用戶組
實例
useradd -d /home/weigs -m -g root -s /bin/bash weigs
修改賬號
有些時候我們需要對已經存在的用戶進行相關屬性的修改往产,這時候我們可以使用usermod
命令被碗。命令語法余下:
usermod 選項 用戶名
我們發(fā)現其實語法和新增命令的差不多,查看usermod
的幫助發(fā)現參數和useradd
基本相同仿村。
實例
usermod -s /bin/ksh -d /home/wei –g wei weigs
這個實例是將用戶weigs
的登錄Shell
改為ksh
蛮放,用戶組改為wei
刪除賬號
如果一個用戶的賬號不再使用,可以從系統中刪除奠宜。刪除用戶賬號就是要將/etc/passwd
等系統文件中的該用戶記錄刪除包颁,必要時還刪除用戶的主目錄⊙拐妫可以使用一下命令刪除
userdel 選項 用戶名
常用的參數是-r
娩嚼,表示在刪除用的同時刪除用戶的主目錄。
userdel -r weigs
用戶密碼管理
用戶賬號剛創(chuàng)建的時候是沒有密碼的滴肿,會被系統鎖定岳悟,無法登錄,所以創(chuàng)建完用戶以后需要先指定密碼方可登錄泼差。
不論是管理員賬號為其他賬號指定密碼還是用戶為自己修改密碼都是使用 passwd
命令贵少,語法格式如下:
passwd 選項 用戶名
在系統中輸入 passwd --help
,發(fā)現命令的常用參數包括如下幾個:
-
-d
:刪除用戶的密碼(僅root用戶使用) -
-l
:鎖定用戶的密碼堆缘,-u
參數可以解鎖密碼(root用戶使用) -
-f
:強迫用戶下次登錄時修改口令 -
-S
:顯示指定賬號的密碼狀態(tài)(root用戶使用)
一般我們在新建一個用戶的時候滔灶,要在root
賬號下面為其指定賬號的密碼。
用戶組管理
每個用戶都有一個用戶組吼肥,系統可以對一個用戶組中的所有用戶進行集中管理录平。不同Linux 系統對用戶組的規(guī)定有所不同,如Linux下的用戶屬于與它同名的用戶組缀皱,這個用戶組在創(chuàng)建用戶時同時創(chuàng)建斗这。
新增用戶組
新增用戶組我們可以使用groupadd
命令添加。當然啤斗,我們也可以在新增用戶的使用加上參數-U
表箭,這樣就會產生一個和用戶名同名的用戶組。
groupadd 選項 用戶組
常用的groupadd
參數有兩個钮莲,如下:
-
-g
:GID
指定新用戶組的ID -
-o
: 一般與-g
選項同時使用免钻,表示新用戶組的GID
可以與系統已有用戶組的GID
相同
實例1
groupadd weigs
上面例子中,沒有指定新用戶組的組ID
臂痕,所以新的組ID
會在當前已有的最大組ID
的基礎上加1
伯襟。
實例2
groupadd -g 101 group2
新增一個組名為group2
的用戶組,同時指定組的ID
為101
握童。
修改用戶組
groupmod 選項 用戶組
常用的參數和新增差不太多姆怪,如下:
-
-g
:為用戶組指定新的用戶組GID
-
-o
:-o
與-g
選項同時使用,用戶組的新GID
可以與系統已有用戶組的GID
相同 -
-n
:新用戶組名,將用戶組的名字更改為新的名字
groupmod –g 10000 -n group3 group2
將用戶組group2
的名字改為group3
稽揭,標識號GID
改為10000
如果一個用戶屬于多個用戶組俺附,那么用戶可以在用戶組之間進行切換,以便有其他用戶組的權限溪掀∈铝停可以使用命令newgrp
切換到其他用戶組,這個命令的參數就是目的用戶組揪胃,例如:
newgrp root
系統文件
上面對用戶和用戶組的操作璃哟,其實就是對系統中的某些文件的操作,linux
會把與用戶和用戶組相關的信息放到文件中喊递,包括/etc/passwd
随闪、/etc/shadow
、/etc/group
等骚勘。
etc/passwd文件
每個用戶都會在這個文件中有記錄铐伴,這個文件中記錄了用戶的一些基本屬性,并且這個文件對于所有的用戶都是可讀的俏讹。
下面是這個文件的大致內容:
tomcat@hw-hadoop1-> cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
usbmuxd:x:113:113:usbmuxd user:/:/sbin/nologin
vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin
rtkit:x:499:496:RealtimeKit:/proc:/sbin/nologin
avahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin
abrt:x:173:173::/etc/abrt:/sbin/nologin
saslauth:x:498:76:"Saslauthd user":/var/empty/saslauth:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
ricci:x:140:140:ricci daemon user:/var/lib/ricci:/sbin/nologin
haldaemon:x:68:68:HAL daemon:/:/sbin/nologin
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
apache:x:48:48:Apache:/var/www:/sbin/nologin
mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash
pulse:x:497:495:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin
hadoop:x:496:492:hadoop User:/home/hadoop:/bin/bash
文件中每行記錄對應著一個用戶当宴,每行記錄又被冒號分隔,格式和大致的含義如下所示:
用戶名:密碼:用戶標識號:組標識號:注釋性描述:主目錄:登錄Shell
密碼一般都會隱藏加密泽疆,所以在該文件中看到的都是x
户矢,如果想看到詳細的密碼,需要到etc/shadow
文件下面查找于微。
etc/shadow文件
該文件只能由root
賬號打開逗嫡,其他賬號沒有權限打開。文件的格式和passwd
的相似株依,由多個字段組成,每個字段之間都是用冒號隔開延窜。
登錄名:加密密碼:最后一次修改時間:最小時間間隔:最大時間間隔:警告時間:不活動時間:失效時間:標志
etc/group文件
該文件下面的內容比較簡單恋腕,存儲了用戶組的所有信息,文件的格式和前兩個比較類似逆瑞,但是字段相對比較少荠藤。
組名:口令:組標識號:組內用戶列表
口令
是存放用戶組的密碼,一般來說linux
的用戶組都不設置密碼获高。
組內用戶列表
是屬于這個組的所有用戶的列表哈肖,不同用戶之間用逗號(,)分隔。這個用戶組可能是用戶的主組念秧,也可能是附加組淤井。