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