馬哥網絡教育21期+第三周練習
用戶及用戶組
用戶配置文件 用戶:UID,/etc/passwd 組:GID,/etc/group 密碼配置文件 用戶:/etc/shadow 組:/etc/gshadow 用戶類別 管理員:0 普通用戶:1-65535 系統用戶:1-499(Centos6) 或 1-999(Centos7) 一般用戶:500-60000(Centos6) 或 1000-60000(Centos7) 用戶組類別 管理員組: 普通組: 系統組:系統服務使用組 一般組:自定義組 私有組:創建用戶時,系統自動創建與用戶同名的組 基本組:用戶的默認組 附加組,額外組:默認組以外的其它組
用戶管理文件
/etc/passwd 文件結構 root:x:0:0:root:/root:/bin/bash name:帳號名稱 password:密碼 UID:用戶標識 GID:基本組標識 GECOS:注釋 directory:家目錄 shell:默認登錄shell
用戶密碼管理文件
/etc/shadow 文件結構 root:$6$SVBjY4Zth54iBbW6$s8ASSLoZO2fkkeR40V6tSSWadkE...:16992:0:99999:7::: login name:登錄名 encrypted password:加密的密碼 date of last password change:最近修改密碼的日期 minimum password age:密碼最短使用期限 maximum password age:密碼最長使用期限 password warning period:密碼過期前的警告周期 password inactivity period:密碼過期后的寬限期限 account expiration date:帳號失效日期 reserverd field:保留字段 密碼加密方法: 對稱加密:加密和解密使用同一個密碼 公鑰加密:密碼成對出現,一個公鑰(public key),一個私鑰(secret key) 單向加密,散列加密:提取數據特征碼,用于數據完整性校驗 1、雪崩效應:初始條件的微小改變將會引起結果的巨大變化 2、定長輸出 MD5:Message Digest,128位定長輸出 SHA1:Secure Hash Algorithm,160位定長輸出
用戶管理
-
useradd:添加用戶帳號
useradd [options] USERNAME -u UID:指定用戶ID -g GID:指定用戶基本組 -G GID,...:指定用戶附加組 -c "COMMENT":添加注釋 -d /Path/:指定用戶家目錄 -s /SHellPath/:指定使用Shell -m:強制創建用戶家目錄 -k:用戶使用shell環境的配置文件 -M:不創建用戶家目錄 -r:添加系統用戶 -M 使用:/etc/login.defs -k 使用:/etc/skel/
-
userdel:刪除用戶帳號
userdel [option] USERNAME -r:刪除用戶同時刪除用戶家目錄
-
id:查看帳號屬性信息
id [options] [USERNAME] -g:顯示基本組ID -G:顯示所有組ID -u:顯示用戶ID -n:顯示名稱
-
finger USERNAME:查看用戶帳號信息
-
usermod:修改用戶帳號屬性
usermod [options] LOGIN -u UID:修改用戶組ID -g GID:修改用戶基本組 -G GID:修改用戶附加組,默認替換原有附加組 -a -G:增加用戶附加組 -c:修改指定注釋 -d:修改用戶家目錄 -d -m:修改用戶家目錄,并移動原有目錄下內容至新目錄 -s:修改用戶shell -l:修改用戶登錄名 -L:鎖定用戶 -U:解鎖用戶
-
chsh:修改用戶默認Shell
-
chfn:修改用戶注釋
-
passwd:修改帳號密碼
passwd [USERNAME] --stdin:從標準輸入傳遞密碼 -l:鎖定用戶 -u:解鎖用戶 -d:刪除用戶密碼
-
pwck:檢查用戶完整性
-
chage:改變用戶密碼過期信息
-d:最近一次的修改時間-E:過期時間-I:非活動時間-m:最短使用期限-M:最長使用期限-W:警告時間
組管理
-
groupadd:創建組帳號
-g GID-r:添加系統組
-
groupmod:修改組屬性
-g GID-n GRPNAME:修改組登錄名
-
groupdel:刪除組帳號
-
gpasswd:設定組密碼
-
newgrp:切換用戶基本組
練習
1、列出當前系k統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。 ]# who |cut -d '' -f 1 |sort |uniq ]# who |awk '{print $1}' |sort |uniq 2、取出最后登錄到當前系統的用戶的相關信息。 ]# id `last |head -1 |cut -d ' ' -f 1` ]# finger `last |head -1|awk '{print $1}'` 3、取出當前系統上被用戶當作其默認shell的最多的那個shell。 ]# cut -d ":" -f 7 /etc/passwd |sort |uniq -c |sort -nr |head -1 ]# awk -F ":" '{print $7}' /etc/passwd |sort |uniq -c |sort -n |tail -1 4、將/etc/passwd中的第三個字段數值最大的后10個用戶的信息全部改為大寫后保存至/tmp/maxusers.txt文件中。 ]# sort -t : -k 3 -n /etc/passwd |tail -10 |tr 'a-z' 'A-Z' > /tmp/maxusers.txt 5、取出當前主機的IP地址,提示:對ifconfig命令的結果進行切分。 ]# ifconfig |grep -o "inet.*" |egrep -v '(inet6|127.0.0.1)' |cut -d ' ' -f2 ]# ifconfig |grep -o "inet.*" |grep "broadcast" |cut -d ' ' -f 2 ]# ifconfig |grep "broadcast" |awk '{print $2}' 6、列出/etc目錄下所有以.conf結尾的文件的文件名,并將其名字轉換為大寫后保存至/tmp/etc.conf文件中。 ]# ls /etc/ |grep ".conf$" |tr 'a-z' 'A-Z' > /tmp/etc.conf7、顯示/var目錄下一級子目錄或文件的總個數。 ]# ls -lA /var |wc -l8、取出/etc/group文件中第三個字段數值最小的10個組的名字。 ]# sort -t : -k 3 -n /etc/group |head -10 |awk -F ":" '{print $1}' ]# sort -t : -k 3 -n /etc/group |head -10 |cut -d ":" -f 1 9、將/etc/fstab和/etc/issue文件的內容合并為同一個內容后保存至/tmp/etc.test文件中。 ]# cat /etc/fstab /etc/issue > /tmp/etc.test ]# cat /etc/{fstab,issue} > /tmp/etc.test10、請總結描述用戶和組管理類命令的使用方法并完成以下練習: (1)、創建組distro,其GID為2016; ]# groupadd -g 2016 distro (2)、創建用戶mandriva, 其ID號為1005;基本組為distro; ]# useradd -u 1005 -g 2016 mandriva (3)、創建用戶mageia,其ID號為1100,家目錄為/home/linux; ]# useradd -u 1100 -d /home/linux mageia (4)、給用戶mageia添加密碼,密碼為mageedu; ]# echo "mageedu" |passwd mageia --stdin (5)、刪除mandriva,但保留其家目錄; ]# userdel mandriva (6)、創建用戶slackware,其ID號為2002,基本組為distro,附加組peguin; ]# groupadd peguin && useradd -u 2002 -g distro -G peguin slackware (7)、修改slackware的默認shell為/bin/tcsh; ]# usermod -s /bin/tcsh slackware ]# chsh -s /bin/tash slackware (8)、為用戶slackware新增附加組admins; ]# groupadd admins && usermod -a -G admins slackware (9)、為slackware添加密碼,且要求密碼最短使用期限為3天,最長為180天,警告為3天; ]# echo "mageedu" |passwd slackware --stdin && chage -m 3 -M 180 -W 3 slackware (10)、添加用戶openstack,其ID號為3003,基本組為clouds,附加組為peguin和nova; ]# groupadd clouds && groupadd nova && useradd -u 3003 -g clouds -G peguin,nova openstack (11)、添加系統用戶mysql,要求其shell為/sbin/nologin; ]# useradd -r -s /sbin/nologin mysql (12)、使用echo命令,非交互式為openstack添加密碼。 ]# echo "openstack" |passwd openstack --stdin
原創文章,作者:N21-garyshan,如若轉載,請注明出處:http://www.www58058.com/42977
寫的很好,如果在每個選項下面,再來一個例子的話會更好的