第3周課程練習
1、 列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。
# who | cut -d' ' -f1 |uniq
2、 取出最后登錄到當前系統的用戶的相關信息。
# who | tail -1
# who | tail -1 | cut -d' ' -f1 | id
3、 取出當前系統上被用戶當作其默認shell的最多的那個shell。
# cat /etc/passwd | cut -d':' -f7 | uniq -c | sort -n | tail -1
4、 將/etc/passwd中的第三個字段數值最大的后10個用戶的信息全部改為大寫后保存至/tmp/maxusers.txt文件中。
# sort -n -t: -k3 /etc/passwd | tail -10 | tr 'a-z' 'A-Z' > /tmp/maxusers.txt
5、 取出當前主機的IP地址,提示:對ifconfig命令的結果進行切分。
# ifconfig | grep "inet addr" | head -1 | cut -d':' -f2 | cut -d' ' -f1
6、 列出/etc目錄下所有以.conf結尾的文件的文件名,并將其名字轉換為大寫后保存至/tmp/etc.conf文件中。
# ls /etc/*.conf | tr 'a-z' 'A-Z' > /tmp/etc.conf
7、 顯示/var目錄下一級子目錄或文件的總個數。
# ls /var | wc -l
8、 取出/etc/group文件中第三個字段數值最小的10個組的名字。
# sort -t: -k3 -n /etc/group | head -n 10 | cut -d':' -f1
9、 將/etc/fstab和/etc/issue文件的內容合并為同一個內容后保存至/tmp/etc.test文件中。
# cat /etc/fstab /etc/issue > /tmp/etc.test
10、 請總結描述用戶和組管理類命令的使用方法并完成以下練習:
10.1、useradd用戶創建
格式:useradd [options] LOGIN
選項:
-u:指定用戶的UID號,要求未被使用
-d:指定用戶的宿主目錄位置
-e:指定用戶的賬戶失效時間
-g:指定用戶的基本組名(或使用GID號)
-G:指定用戶的附加組名(或使用GID號)
-M:不建立使用者目錄,即使/etc/login.defs系統檔設定要建立使用者目錄
-s:指定用戶的登陸shell
-r: 創建系統用戶
CentOS 6: ID<500
CentOS 7: ID<1000
10.2、groupadd創建組
格式: groupadd [OPTION]… group_name
選項:
-g GID: 指明GID號;[GID_MIN, GID_MAX]
-r: 創建系統組;
CentOS 6: ID<500
CentOS 7: ID<1000
10.3、usermod用戶屬性修改
格式: usermod [OPTION] login
選項:
-u UID: 新UID
-g GID: 新基本組
-G GROUP1[,GROUP2,…[,GROUPN]]]:新附加組,原來的附加組將會被覆蓋;若保留原有,則要同時使用-a選項,表示append;
-s SHELL:新的默認SHELL;
-c 'COMMENT':新的注釋信息;
-d HOME: 新的家目錄;原有家目錄中的文件不會同時移動至新的家目錄;若要移動,則同時使用-m選項;
-l login_name: 新的名字;
-L: lock指定用戶
-U: unlock指定用戶
-e YYYY-MM-DD: 指明用戶賬號過期日期;
-f INACTIVE: 設定非活動期限;
10.4、userdel用戶刪除
格式:userdel [-r] login
選項:
-r: 刪除用戶家目錄
10.5、groupmod組屬性修改
格式: groupmod [OPTION] group
選項:
-n group_name: 新名字
-g GID: 新的GID
10.6、groupdel組刪除
格式:groupdel group
10.7、passwd給用戶添加密碼
格式:passwd [OPTIONS] UserName—修改指定用戶的密碼,僅root用戶權限
passwd–修改自己的密碼
選項:
-l: 鎖定指定用戶
-u: 解鎖指定用戶
-n mindays: 指定最短使用期限
-x maxdays:最大使用期限
-w warndays:提前多少天開始警告
-i inactivedays:非活動期限;
–stdin:從標準輸入接收用戶密碼;
echo "PASSWORD" | passwd –stdin USERNAME
10.8、gpasswd組密碼修改
格式: gpasswd [OPTION] GROUP
選項:
-a user: 將user添加至指定組中;
-d user: 刪除用戶user的以當前組為組名的附加組
-A user1,user2,…: 設置有管理權限的用戶列表
newgrp命令:臨時切換基本組;如果用戶本不屬于此組,則需要組密碼;
10.9、id查看用戶相關的ID信息
格式:id [OPTION]… [USER]
選項:
-g USERNAME:查看用戶的gid
-u USERNAME:查看用戶的uid
-G USERNAME:查看用戶的所有組
-un:顯示當前用戶的用戶名
-gn:顯示當前用戶的組名
10.10、su切換用戶或以其他用戶身份執行命令
格式:su [options…] [-] [user [args…]]
切換用戶的方式:
su UserName:非登錄式切換,即不會讀取目標用戶的配置文件;
su – UserName:登錄式切換,會讀取目標用戶的配置文件;完全切換;
Note:root su至其他用戶無須密碼;非root用戶切換時需要密碼;
換個身份執行命令:
su [-] UserName -c 'COMMAND'
選項:
-l:“su -l UserName”相當于“su – UserName”
10.11、chage修改用戶屬性
格式: chage [OPTION]… LOGIN
選項:
-d:LAST_DAY最后一次修改時間
-E –expiredate EXPIRE_DATE:過期時間
-I –inactive INACTIVE:非活動時間
-m –mindays MIN_DAYS:最短期限
-M –maxdays MAX_DAYS :最長期限
-W –warndays WARN_DAYS:警告時間
10.12、chfn改變finger命令顯示的信息
格式:chfn [OPTIONS] [username]
選項:
-f或–full-name:設置真實姓名;
-h或–home-phone:設置家中的電話號碼;
-o或–office:設置辦公室的地址;
-p或–office-phone:設置辦公室的電話號碼; –
u或–help:在線幫助;
-v或-version:顯示版本信息。
10.13、chsh更換登錄系統時使用的shell
格式:chsh [ OPTIONS] [ username ]
選項:
-s<shell 名稱>或–shell<shell 名稱>:更改系統預設的shell環境。;
-l或–list-shells:列出目前系統可用的shell清單;
-u或–help:在線幫助;
-v或-version:顯示版本信息。
10.14、finger查看用戶賬戶信息
格式:finger [OPTIONS] [username]
選項:
-s 顯示用戶的注冊名、實際姓名、終端名稱、寫狀態、停滯時間、登錄時間等信息。
-l 除了用-s選項顯示的信息外,還顯示用戶主目錄、登錄shell、郵件狀態等信息,以及用戶主目錄下的.plan、.project和.forward文件的內容。
-p 除了不顯示.plan文件和.project文件以外,與-l選項相同。
(1)、創建組distro,其GID為2016;
# groupadd -g 2016 distro
(2)、創建用戶mandriva, 其ID號為1005;基本組為distro;
# useradd -u 1005 -g distro mandriva
(3)、創建用戶mageia,其ID號為1100,家目錄為/home/linux;
# useradd -u 1100 -d /home/linux mageia
(4)、給用戶mageia添加密碼,密碼為mageedu;
# echo "mageedu" | passwd –stdin mageia
(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
(8)、為用戶slackware新增附加組admins;
# groupadd admins
# usermod -a -G admins slackware
(9)、為slackware添加密碼,且要求密碼最短使用期限為3天,最長為180天,警告為3天;
# echo "slackware" | passwd –stdin slackware
# passwd -n 3 -x 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 –stdin openstack
原創文章,作者:N21_我愛羅,如若轉載,請注明出處:http://www.www58058.com/24106
寫的很好,排版還可以在改進一下,加油