前言
Linux用戶管理非常關(guān)鍵且重要,Linux的所有進程都是以不同的身份擁有不同的權(quán)限來運行和調(diào)度資源的吩谦。
但是我們不用費勁心思去管理寡痰,因為系統(tǒng)將用戶劃分成為了兩部分:無所不能的root用戶和普通用戶帜篇。
同時呢徐绑,又將普通用戶分為系統(tǒng)用戶和登錄用戶。
對于Linux忌穿,他會用UID去快速識別用戶身份抒寂,對于我們,可以用用戶名去識別掠剑。
接下來介紹一下用戶和組管理的常用命令
用戶管理
創(chuàng)建用戶:useradd
語法 :useradd [option] user_name
-D :default
-u, --uid UID :指定UID;
-g, --gid GID/Group :指定基本組ID,此組需事先存在屈芜;
-c, --comment COMMENT :給定注釋信息;
-G, --groups Group1[,Group2,...[GroupN]]:指明用戶所屬的附加組朴译,多個組之間用逗號分開井佑;
-d, --home HOME_DIR:以指定的路徑為用戶的家目錄,通過復(fù)制/etc/skel此目錄并重命名眠寿,
-s, --shell SHELL :指定用戶的默認shell躬翁,可用的所有shell存在/etc/shells這個文件中;
-r, --system:創(chuàng)建一個系統(tǒng)賬戶盯拱;
PS:創(chuàng)建用戶時的諸多默認設(shè)定配置文件為/etc/login.defs
修改用戶屬性:usermod
語法:usermod [option] user_name
-u, --uid UID:
-g, --gid GID:
-G, --groups Group1[,GROUP2,...[GROUPN]]]:修改用戶所屬的附加組盒发,原來的附加組會被覆蓋;
-c, --comment COMMENT
-d, --home HOME_DIR
-s, --shell SHELL
-a, --append :與-G一同使用狡逢,用于為用戶追加新的附加組宁舰;
-l, --login NEW_LOGIN:修改用戶默認的shell
-m, --move-home:只u能與-d選項一同使用,將原來的家目錄移動為新的家目錄奢浑;
-L, --lock:鎖定用戶密碼,
實現(xiàn):在用戶原來的密碼字符串前加一個 !
-U, --unlock:鎖定用戶的密碼蛮艰;
修改用戶密碼:passwd
root能改一切,普通用戶只能改自己的密碼
語法:passwd [option] user_name
-l,-u :鎖定(--lock)和解鎖(--unlock)用戶;
-d, -delete :刪除用戶密碼串殷费;
-e DATE: 過期期限印荔,日期;
-i DAYS: 非活動期限详羡;
-n DAYS: 密碼的最短使用期限仍律;
-x DAYS: 密碼的最長使用期限;
-w DAYS: 警告期限实柠;
--stdin:
echo "PASSWORD" |passwd --stdin USER_NAME
刪除用戶:userdel
語法:userdel [option] user_name
-r:同時刪除該用戶的家目錄
組管理
創(chuàng)建組:groupadd
語法:groupadd [option] group_name
-g GID:指定GID;默認為上一個組GID+1水泉;
-r :創(chuàng)建系統(tǒng)組;
修改組屬性:groupmod
語法:groupmod [option] group_name
-n new_name:修改組名
-g GID:修改GID
刪除組:groupdel
語法:groupdel [option] group_name
修改組密碼:gpasswd
組密碼在用戶切換基本組的時候會被用到
語法:gpasswd [option] group_name
-a, --addusr USER_NAME:向組中添加用戶窒盐;
-d, --deleteuser USER_NAME:從組中移除用戶草则;
登錄到一個新組:newgrp
常用工具:id,su
id:顯示賬號相關(guān)信息
顯示真實有效的UID和GID
id [OPTION]... [USER]
-u, --user:只顯示用戶ID;
-g, --group:只顯示GID;(基本組)
-G, --groups:只顯示用戶的附加組;ID
-n, --name :對于選項只顯示名稱而不是用數(shù)字去表示蟹漓;
su:切換用戶
su有兩種切換方式:
登錄時切換:會通過讀取目標(biāo)用戶的配置文件來重新初始化
su - USER_NAME
su -l USER_NAME
非登錄式切換:不會讀取目標(biāo)用戶的配置文件進行初始化炕横;
su USERNAME
PS: 管理員可以不用密碼切換用戶;
-c, --command=COMMAND :傳遞COMMAND給-c的shell葡粒;以指定的用戶去運行命令
習(xí)題
(1)份殿、創(chuàng)建組distro,其GID為2016
[root@localhost ~]# groupadd -g 2016 distro
(2)嗽交、創(chuàng)建用戶mandriva, 其ID號為1005卿嘲;基本組為distro
[root@localhost ~]# useradd -u 1005 -g distro mandriva
(3)、創(chuàng)建用戶mageia夫壁,其ID號為1100拾枣,家目錄為/home/linux
[root@localhost ~]# useradd -u 1100 -d /home/linux mageia
(4)、給用戶mageia添加密碼盒让,密碼為mageedu
[root@localhost ~]# echo "mageedu" |passwd --stdin mageia
Changing password for user mageia.
passwd: all authentication tokens updated successfully.
(5)梅肤、刪除mandriva,但保留其家目錄
[root@localhost ~]# userdel mandriva
(6)邑茄、創(chuàng)建用戶slackware凭语,其ID號為2002,基本組為distro撩扒,附加組peguin
[root@localhost ~]# useradd -u 2002 -g distro -G peguin slackware
(7)似扔、修改slackware的默認shell為/bin/tcsh
[root@localhost ~]# usermod -s /bin/tcsh slackware
[root@localhost ~]# tail -2 /etc/passwd
mageia:x:1100:1100::/home/linux:/bin/bash
slackware:x:2002:2016::/home/slackware:/bin/tcsh
(8)、為用戶slackware新增附加組admins
[root@localhost ~]# usermod -aG admins slackware
[root@localhost ~]# tail -1 /etc/group
admins:x:2018:slackware