Linux基於用戶身份對資源訪問進行控制。算法
超級用戶(root);centos
普通用戶;bash
程序用戶;tcp
- UID(User IDentify)用戶標識號;
/etc/passwd文件用於保存用戶名稱、宿主目錄、登陸Shell等基本信息;每一行對應一個用戶的帳號記錄。以下圖:ide
/etc/shadow文件用於保存用戶的密碼、帳號有效期等信息,每一行對應一個用戶的密碼記錄。以下圖:ui
添加用戶帳號的命令及經常使用選項格式以下:3d
應用舉例:code
<!--建立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
設置/更改用戶密碼的基本命令格式語法及經常使用選項以下:server
應用舉例:blog
[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
文件來源於新建用戶帳戶時,從/etc/skel目錄中複製而來;主要的用戶初始配置文件以下:
~/.bash_profile:每次登陸時執行。
~/.bashrc:每次進入新Bash環境時執行。
基本組(私有組);
附加組(公共組);
- GID:組標識號
/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: ............ <!--此處省略部份內容-->
/etc/gshadow文件用於保存組帳號的密碼信息;以下所示:
[root@centos01 ~]# cat /etc/gshadow root::: bin::: daemon::: sys::: adm::: tty::: ............ <!--此處省略部份內容-->
添加組帳號命令的基本格式以下:
應用舉例:
[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:
設置組帳號密碼、添加/刪除組成員;命令的基本格式及經常使用選項以下:
應用舉例:
[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:
刪除組帳號命令的基本格式以下:
應用舉例:
[root@centos01 ~]# groupdel benet <!--刪除benet組-->
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
id用於查詢用戶身份標識;命令基本語法格式以下:
應用舉例:
[root@centos01 ~]# id bob <!--查看用戶的詳細信息--> uid=1003(bob) gid=0(root) 組=0(root),1005(benet)
groups命令用於查詢用戶所屬的組;命令基本語法格式以下:
應用舉例:
[root@centos01 ~]# groups bob <!--查詢用戶所屬組--> bob : root benet
finger命令用於查詢用戶帳號的詳細信息;命令基本語法格式以下:
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)
———————— 本文至此結束,感謝閱讀 ————————