第三周作业!
1、列出當(dāng)前系統(tǒng)上所有已經(jīng)登錄的用戶的用戶名,注意:同一個(gè)用戶登錄多次,則只顯示一次即可。
????答:本題思路:先用who命令列出當(dāng)前登陸的用戶信息,然后使用cut命令對(duì)字段進(jìn)行分割,選出我們需要的字段,然后使用sort命令對(duì)結(jié)果進(jìn)行排序,最后使用uniq命令來去重達(dá)到我們需要的效果。
2、取出最后登錄到當(dāng)前系統(tǒng)的用戶的相關(guān)信息。
????答:id `who | tail -1 | cut -d" " -f1`
3、取出當(dāng)前系統(tǒng)上被用戶當(dāng)作其默認(rèn)shell的最多的那個(gè)shell。
????答:解題思路:先使用cat命令查看passwd文件,然后以:號(hào)為分割符使用cut命令取出第七個(gè)字段也就是表示shell的那個(gè)字段,然后使用sort對(duì)其進(jìn)行排序,避免統(tǒng)一shell分散至各處導(dǎo)致后面去重統(tǒng)計(jì)不準(zhǔn)確,然后再使用uniq -c去重,并對(duì)重復(fù)次數(shù)進(jìn)行記錄,在使用sort -n對(duì)第一列以數(shù)值方式排序,最后一個(gè)就是使用最多的shell,使用tail -1取出,然后使用cut命令去掉前面不需要的數(shù)值,就是我們需要的結(jié)果了。
4、將/etc/passw d 中的第三個(gè)字段數(shù)值最大的后10個(gè)用戶的信息全部改為大寫后保存至/tmp/maxusers.txt文件中。
????答:本題先讀取/etc/passwd文件,然后用sort命令以:分割對(duì)第三個(gè)字段以數(shù)值進(jìn)行排序,使用tail命令取出后十行,然后使用tr命令將小寫轉(zhuǎn)換為大寫重定向輸出至/tmp/maxuers.txt中。
5、取出當(dāng)前主機(jī)的IP地址,提示:對(duì)ifconfig命令的結(jié)果進(jìn)行切分。
? 答:通過觀察發(fā)現(xiàn)ifconfig命令下IP地址所在行以inet開頭,所有用grep命令取出相關(guān)行數(shù),這些行都是由多個(gè)空格分隔,用tr -s命令將多個(gè)空格改成一個(gè)空格,便于后面使用cut命令對(duì)行進(jìn)行分割,經(jīng)過多次分割,最后剩下IPV4地址和本地還回地址,考慮到實(shí)際有可能有多個(gè)地址,因此使用grep -v 顯示除還回地址之外的所有ip。
6、列出/etc目錄下所有以.conf結(jié)尾的文件的文件名,并將其名字轉(zhuǎn)換為大寫后保存至/tmp/etc.conf文件中。
????答:先使用ls命令列出所有*.conf結(jié)尾的文件,使用tr命令轉(zhuǎn)換為大寫輸出重定向至指定位置。
7、顯示/var目錄下一級(jí)子目錄或文件的總個(gè)數(shù)。
????答:使用ls -l命令列出所有的文件或目錄,由于每行第一個(gè)標(biāo)識(shí)符表示不同的文件,因此可以使用grep刪選出形同類型的文件,然后使用wc統(tǒng)計(jì)行數(shù)就是目錄或者文件的個(gè)數(shù)了。
????????統(tǒng)計(jì)目錄個(gè)數(shù):
? ??????統(tǒng)計(jì)文件個(gè)數(shù):
[root@localhost?~]#?ls?-l?/var?|?grep?"^-"?|?wc?-l 18、取出/etc/group文件中第三個(gè)字段數(shù)值最小的10個(gè)組的名字。
????答:取出/etc/group下所有行,使用sort以第三個(gè)字段按數(shù)值大小進(jìn)行排序,然后使用head取出前10個(gè),使用cut命令取出我們需要的名字
9、將/etc/fstab和/etc/issue文件的內(nèi)容合并為同一個(gè)內(nèi)容后保存至/tmp/etc.test文件中。
????答使用cat命令打開多個(gè)文件,然后使用追加重定向至/tmp/etc.test中,測試結(jié)果如下圖:
10、請(qǐng)總結(jié)描述用戶和組管理類命令的使用方法并完成以下練習(xí):
????答:用戶管理類命令:
????????useradd:添加用戶
????????????使用格式1:useradd [OPTION] USERNAME
????????????常用選項(xiàng):-u UID-->指明用戶的UID
????????????????????????????? -g GID-->指明用戶的基本組ID
????????????????????????????? -c "COMMENT"-->用戶的注釋信息
????????????????????????????? -d /PATH/TO/SOMEWHERE-->以指定的路徑為用戶的家目錄,指定的家目錄最 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?好事先不存在,如果存在則需手動(dòng)到/etc/skel下 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?復(fù)制用戶的環(huán)境。
????????????????????????????? -s SHELL-->指定用戶的默認(rèn)SHELL,可用列表在/etc/shells文件中。
??????????????????????????????-G GROUP1[,GROUP2,GROUP3...]-->為用戶指明附加組,可多個(gè),以逗號(hào)分隔。
????????????????????????????? -r -->創(chuàng)建系統(tǒng)用戶
????????????使用格式2:useradd -D
????????????常用選項(xiàng):-s SHELL-->修改默認(rèn)SHELL,關(guān)于useradd的默認(rèn)值存放在/etc/default/useradd ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文件中,可以直接修改文件內(nèi)容來達(dá)到修改默認(rèn)值得目的。
????????id:查看用戶的相關(guān)信息;
????????????使用格式:id [OPTION] ..USER
????????????常用選項(xiàng):-u -->查看指定用戶的UID
???????????????????????????? ?-g -->查看指定用戶的基本組ID
???????????????????????????? ?-G-->查看指定用戶所在附加組ID
???????????????????????????? ?-n-->顯示用戶
????????su:切換用戶或以其他身份執(zhí)行命令
????????????使用格式:su [OPTION] [-] [USER [ARGS..]]
????????????????????????????? su Username-->非登錄式切換,不會(huì)讀取目標(biāo)用戶的配置文件
????????????? ?????????????? ?su - Username-->登錄式切換,會(huì)讀取目標(biāo)用戶的配置文件,完全切換
???????????????????????????? ?su [-] Username -c "COMMAND"-->換個(gè)身份執(zhí)行命令,命令執(zhí)行完成自動(dòng)還
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 原為原來的身份
????????????? 常用選項(xiàng):-l -->su -l Username相當(dāng)于su - Username
????????usermod:用戶屬性修改
????????????使用格式:usermod [OPTION] USERNAME
????????????常用選項(xiàng):-u UID -->修改用戶的UID
????????????????????????????? -g GID -->修改用戶的基本組ID
???????????????????????????? ?-G GROUP1[,GROUP2,GROUP3...]-->修改用戶的附加組ID,新附加組,原來的附 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?加組將會(huì)被覆蓋;若保留原有,則要同時(shí)使 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?用-a選項(xiàng),表示append. ??
?????????? ? ? ? ? ???????????-s SHELL -->新的默認(rèn)shell
????????????????????????? ? ? -c "COMMENT"-->新的注釋信息
????????????????????????? ? ? -d HOME -->新的家目錄,原家目錄中的文件不會(huì)同時(shí)移動(dòng)至新的家目錄,若 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 要移?動(dòng),則同時(shí)使用-m選項(xiàng)
????????????????????????? ? ? -L-->鎖定用戶
?????????????????????????? ? ?-U-->解鎖用戶
???????????????????????????? ?-e YYYY-MM-DD-->指明用戶帳戶過期日期
???????????????????????????? ?-f INACTIVE-->設(shè)定非活動(dòng)期限
????????passwd:給用戶添加密碼
????????????????使用格式:passwd [OPTION] Username-->修改指定用戶的密碼,僅root有權(quán)限
???????????????????????????????? ?passwd-->修改自己的密碼,所有用戶均有權(quán)限
????????????????常用選項(xiàng):-l -->鎖定用戶
???????????????????????????????? ?-u-->解鎖用戶
????????????????????????????????? -n mindays-->指定最短使用期限
????????????????????????????????? -x maxdays-->指定最大使用期限
???????????????????????????????? ?-w warndays-->提前多少天開始警告
???????????????????????????????? ?-i inactivedays-->非活動(dòng)期限
????????????????????????????????? --stdin-->從標(biāo)準(zhǔn)輸入接受用戶密碼
????????????????????????????????????????echo "PASSWORD" | passwd ?--stdin USERNAME
????????userdel:刪除用戶
????????????????使用格式:userdel [OPTION] ...USERNAME
????????????????常用選項(xiàng):-r-->默認(rèn)不刪除用戶的家目錄,加此選項(xiàng)則刪除
????????組管理類命令:? ??
????????groupadd:添加組
????????????? ? 使用格式: groupadd [OPTION] ...GROUP_NAME
?????????????????常用選項(xiàng):-g GID-->指明GID號(hào)
????????????????????????????????? ?-r -->創(chuàng)建系統(tǒng)組? centos61-499,centos71-999
????????groupmod:修改組
????????????????使用格式:groupmod [OPTION] ...GROUP_NAME
????????????????常用選項(xiàng):-n NEW_GROUP-->新的組名
????????????????????????????????? -g GID-->新的GID
????????groupdel:刪除組
????????????????使用格式:groupdel GROUP_NAME
????????gpasswd:組密碼
????????????????使用格式:gpasswd [OPTION] ...GROU_NAME
????????????????常用選項(xiàng):-a user :將user添加至指定組中
? ? ? ? ? ? ? ? ? -d user:三層用戶user的以當(dāng)前組為組名的附加組
? ? ? ? ? ? ? ? ? -A user1,user2,...:設(shè)置有管理權(quán)限的用戶列表;
? ? ? ? ? ? ? ? ? newgrp:臨時(shí)切換用戶的基本組;如果用戶本不屬于此組,則需要組密碼;
? (1)、創(chuàng)建組distro,其GID為2016;
????答:groupadd -g 2016 distro
? (2)、創(chuàng)建用戶mandriva, 其ID號(hào)為1005;基本組為distro;
????答:useradd -u 1005 -g distro mandriva
? (3)、創(chuàng)建用戶mageia,其ID號(hào)為1100,家目錄為/home/linux;
????答:useradd -u 1100 -d /home/linux mageia
(4)、給用戶mageia添加密碼,密碼為mageedu;
????答:echo "mageedu" | passwd --stdin mageia。
? (5)、刪除mandriva,但保留其家目錄;
????答:userdel mandriva ?userdel默認(rèn)不刪除用戶的家目錄
? (6)、創(chuàng)建用戶slackware,其ID號(hào)為2002,基本組為distro,附加組peguin;
? ? 答:groupadd pegui ; useradd -u 2002 -g distro -G peguin
[root@localhost?~]#?groupadd?peguin;useradd?-u?2002?-g?distro?-G?peguin?slackware [root@localhost?~]#?cat?/etc/passwd?|?tail?-1 slackware:x:2002:2016::/home/slackware:/bin/bash [root@localhost?~]#?id?slackware uid=2002(slackware)?gid=2016(distro)?groups=2016(distro),2601(peguin)? (7)、修改slackware的默認(rèn)shell為/bin/tcsh;
????答:usermod -s /bin/tcsh slackware
? (8)、為用戶slackware新增附加組admins;
????答:groupadd admins;usermod -G -m admins slackware
? (9)、為slackware添加密碼,且要求密碼最短使用期限為3天,最長為180天,警告為3天;
????答:echo "mageedu" | passwd --stdin slackware && passwd -n 3 -x 180 -w 3 slackware
? (10)、添加用戶openstack,其ID號(hào)為3003, 基本組為clouds,附加組為peguin和nova;
????答:groupadd clouds ;groupadd peguin ;groupadd nova ;useradd -u 3003 -g ????????????????clouds -G peguin,nova openstack
? (11)、添加系統(tǒng)用戶mysql,要求其shell為/sbin/nologin;
????答:useradd -r ?-s /sbin/nologin mysql
? (12)、使用echo命令,非交互式為openstack添加密碼。
????答:echo "mageedu" | passwd --stdin opentack
轉(zhuǎn)載于:https://blog.51cto.com/xiaoqiqingfeng/1840758
總結(jié)
- 上一篇: Linux内存管理--物理内存分配【转】
- 下一篇: DM8168芯片级资源