2021-05-12 14:32:11
Linux賬號管理詳述
2020-06-16 16:28:47
一、管理使用者賬號
1、使用者賬號概述
Linux基於使用者身份對資源存取進行控制。
2、使用者賬號管理
1)使用者賬號
超級使用者(root);
普通使用者;
程式使用者;
- UID(User IDentify)使用者標識號;
①使用者賬號檔案/etc/passwd
/etc/passwd檔案用於儲存使用者名稱稱、宿主目錄、登入Shell等基本資訊;每一行對應一個使用者的賬號記錄。如下圖:
②使用者賬號檔案/etc/shadow
/etc/shadow檔案用於儲存使用者的密碼、賬號有效期等資訊,每一行對應一個使用者的密碼記錄。如下圖:
3、新增使用者賬號
新增使用者賬號的命令及常用選項格式如下:
應用舉例:
<!--建立bob使用者,管理組為root,附加組為root,指定宿主目錄為/bob-->
[root@CentOS01 ~]# useradd -d /bob -g root -G root bob
[root@centos01 ~]# tail -2 /etc/passwd
dhcpd:x:177:177:DHCP server:/:/sbin/nologin
bob:x:1001:0::/bob:/bin/bash
<!--建立tom使用者,不需要建立宿主目錄,賬戶不能登入系統-->
[root@centos01 ~]# useradd -M -s /sbin/nologin tom
[root@centos01 ~]# tail -2 /etc/passwd
bob:x:1001:0::/bob:/bin/bash
tom:x:1002:1002::/home/tom:/sbin/nologin
4、設定/更改使用者密碼passwd
設定/更改使用者密碼的基本命令格式語法及常用選項如下:
應用舉例:
[root@centos01 ~]# passwd bob <!--賬戶設定密碼-->
更改使用者 bob 的密碼 。
新的 密碼: <!--輸入密碼-->
無效的密碼: 密碼未通過字典檢查 - 過於簡單化/系統化
重新輸入新的 密碼: <!--確定密碼-->
passwd:所有的身份驗證令牌已經成功更新。
[root@centos01 ~]# passwd -l bob <!--鎖定使用者-->
鎖定使用者 bob 的密碼 。
passwd: 操作成功
[root@centos01 ~]# passwd -S bob <!--檢視使用者是否鎖定-->
bob LK 2020-01-11 0 99999 7 -1 (密碼已被鎖定。)
[root@centos01 ~]# passwd -u bob <!--解鎖使用者-->
解鎖使用者 bob 的密碼。
passwd: 操作成功
[root@centos01 ~]# passwd -S bob <!--檢視使用者狀態是否解鎖-->
bob PS 2020-01-11 0 99999 7 -1 (密碼已設定,使用 SHA512 演算法。)
[root@centos01 ~]# passwd -d bob <!--清空賬戶密碼-->
清除使用者的密碼 bob。
passwd: 操作成功
[root@centos01 ~]# userdel -r bob <!--刪除賬戶和宿主目錄-->
[root@centos01 ~]# tail -2 /etc/passwd
dhcpd:x:177:177:DHCP server:/:/sbin/nologin
tom:x:1002:1002::/home/tom:/sbin/nologin
5、使用者賬號的初始組態檔
檔案來源於新建使用者賬戶時,從/etc/skel目錄中複製而來;主要的使用者初始組態檔如下:
-
~/.bash_profile:每次登入時執行。
-
~/.bashrc:每次進入新Bash環境時執行。
- ~/.bash_logout:每次退出登入時執行。
二、管理組賬號
1、組賬號概述
基本組(私有組);
附加組(公共組);
- GID:組標識號
1)組賬號檔案/etc/group
/etc/group檔案用於儲存組賬號基本資訊;如下所示:
[root@centos01 ~]# cat /etc/group
root:x:0:
bin:x:1:
daemon:x:2:
sys:x:3:
adm:x:4:
tty:x:5:
............ <!--此處省略部分內容-->
2)組賬號檔案/etc/gshadow
/etc/gshadow檔案用於儲存組賬號的密碼資訊;如下所示:
[root@centos01 ~]# cat /etc/gshadow
root:::
bin:::
daemon:::
sys:::
adm:::
tty:::
............ <!--此處省略部分內容-->
2、新增組賬號groupadd
新增組賬號命令的基本格式如下:
應用舉例:
[root@centos01 ~]# groupadd -g 200 accp
[root@centos01 ~]# tail -3 /etc/group
tcpdump:x:72:
test:x:1000:
accp:x:200:
[root@centos01 ~]# groupadd benet
[root@centos01 ~]# tail -3 /etc/group
dhcpd:x:177:
tom:x:1002:
benet:x:1003:
3、新增、刪除組成員gpasswd
設定組賬號密碼、新增/刪除組成員;命令的基本格式及常用選項如下:
應用舉例:
[root@centos01 ~]# gpasswd -a bob benet<!--將使用者加入到組中(自行建立bob使用者)-->
正在將使用者“bob”加入到“benet”組中
[root@centos01 ~]# tail -2 /etc/group
tom:x:1002:
benet:x:1003:bob
[root@centos01 ~]# gpasswd -M tom,lisi benet <!--批次新增使用者到benet組中 -->
[root@centos01 ~]# tail -2 /etc/group
benet:x:1003:tom,lisi
lisi:x:1004:
[root@centos01 ~]# gpasswd -d tom benet <!--將tom使用者退出benet組-->
正在將使用者“tom”從“benet”組中刪除
[root@centos01 ~]# tail -2 /etc/group
benet:x:1003:lisi
lisi:x:1004:
4、刪除組賬號groupdel
刪除組賬號命令的基本格式如下:
應用舉例:
[root@centos01 ~]# groupdel benet <!--刪除benet組-->
5、新增使用者賬號時指定組
useradd命令中的“-g”選項指定使用者的基本組名(或GID號);“-G”選項指定使用者的附加組名(或GID號)。
應用舉例:
<!--建立bob使用者,管理組為root,附加組為root,指定宿主目錄為/bob-->
[root@centos01 ~]# useradd -d /bob -g root -G root bob
[root@centos01 ~]# tail -2 /etc/passwd
dhcpd:x:177:177:DHCP server:/:/sbin/nologin
bob:x:1001:0::/bob:/bin/bash
6、查詢賬號資訊
1)id命令
id用於查詢使用者身份標識;命令基本語法格式如下:
應用舉例:
[root@centos01 ~]# id bob <!--檢視使用者的詳細資訊-->
uid=1003(bob) gid=0(root) 組=0(root),1005(benet)
2)groups命令
groups命令用於查詢使用者所屬的組;命令基本語法格式如下:
應用舉例:
[root@centos01 ~]# groups bob <!--查詢使用者所屬組-->
bob : root benet
3)finger命令
finger命令用於查詢使用者賬號的詳細資訊;命令基本語法格式如下:
4)users、w和who命令
users、w和who命令用於查詢已登入到主機的使用者資訊。應用舉例如下:
[root@centos01 ~]# users
root
[root@centos01 ~]# w
01:57:23 up 53 min, 1 user, load average: 0.00, 0.01, 0.01
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 192.168.100.254 01:04 3.00s 0.05s 0.00s w
[root@centos01 ~]#
[root@centos01 ~]# who
root pts/0 2020-01-17 01:04 (192.168.100.254)
相關文章