用戶和組管理
前言
Linux用戶管理非常關鍵且重要,Linux的所有進程都是以不同的身份擁有不同的權限來運行和調度資源的。
但是我們不用費勁心思去管理,因為系統將用戶劃分成為了兩部分:無所不能的root用戶和普通用戶。
同時呢,又將普通用戶分為系統用戶和登錄用戶。
對于Linux,他會用UID去快速識別用戶身份,對于我們,可以用用戶名去識別。
接下來介紹一下用戶和組管理的常用命令
用戶管理
創建用戶: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:以指定的路徑為用戶的家目錄,通過復制/etc/skel此目錄并重命名,
-s, --shell SHELL :指定用戶的默認shell,可用的所有shell存在/etc/shells這個文件中;
-r, --system:創建一個系統賬戶;
PS:創建用戶時的諸多默認設定配置文件為/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:鎖定用戶密碼,
實現:在用戶原來的密碼字符串前加一個 !
-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:同時刪除該用戶的家目錄
組管理
創建組:groupadd
語法:groupadd [option] group_name
-g GID:指定GID;默認為上一個組GID+1;
-r :創建系統組;
修改組屬性: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:顯示賬號相關信息
顯示真實有效的UID和GID
id [OPTION]... [USER]
-u, --user:只顯示用戶ID;
-g, --group:只顯示GID;(基本組)
-G, --groups:只顯示用戶的附加組;ID
-n, --name :對于選項只顯示名稱而不是用數字去表示;
su:切換用戶
su有兩種切換方式:
登錄時切換:會通過讀取目標用戶的配置文件來重新初始化
su - USER_NAME
su -l USER_NAME
非登錄式切換:不會讀取目標用戶的配置文件進行初始化;
su USERNAME
PS: 管理員可以不用密碼切換用戶;
-c, --command=COMMAND :傳遞COMMAND給-c的shell;以指定的用戶去運行命令
習題
(1)、創建組distro,其GID為2016
[root@localhost ~]# groupadd -g 2016 distro
(2)、創建用戶mandriva, 其ID號為1005;基本組為distro
[root@localhost ~]# useradd -u 1005 -g distro mandriva
(3)、創建用戶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)、創建用戶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
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/90432
贊~~