1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。
首先用who命令列出當前系統上所有登陸用戶,然后使用cut命令以空格為分隔符取出第一列,再使用sort排序并去除重復的行
cut 命令: cut [OPTIONS]…[FILE]…
-d delimiter:指明分隔符
-f fileds:指明需要取出的字段
#?? ??:第#個字段
#,#,#:離散的字段。如 1,2,3
#-#? :連續的多個字段。如:1-3
sort 命令: sort [OPTIONS]…[FILE]…
-f:忽略字符的大小寫
-r:逆序
-t delimiter:字段分隔符
-k #:指定字段為標準排序
-n:以數值大小進行排序
-u:排序后去除重復的行
2、取出最后登錄到當前系統的用戶的相關信息。
使用last命令查詢最后登陸系統的用戶,此時最后一個登錄的用戶會顯示在第一行,然后是用head取出第一行,cut出第一列的用戶名,通過命令引用送給id命令查詢用戶信息
3、取出當前系統上被用戶當作其默認shell的最多的那個shell。
cut取出/etc/passwd中所有shell的類型,sort進行排序,uniq顯示每個shell重復的次數,sort按照次數進行大小排序,tail取出最后一行,再cut取出shell
uniq命令:uniq [OPTIONS]…[FILE]…
-c:顯示每行重復的次數
-d:僅顯示重復的行
-u:僅顯示不重復的行
注意:連續且完全相同的方位重復。
4、將/etc/passwd中的第三個字段數值最大的后10個用戶的信息全部改為大寫后保存至/tmp/maxusers.txt文件中。
5、取出當前主機的IP地址,提示:對ifconfig命令的結果進行切分。
6、列出/etc目錄下所有以.conf結尾的文件的文件名,并將其名字轉換為大寫后保存至/tmp/etc.conf文件中。
ls /etc/*.conf | tr ‘a-z’ ‘A-Z’ > /tmp/etc.conf
7、顯示/var目錄下一級子目錄或文件的總個數。
wc命令:字符統計
wc [OPTIONS]…[FILE]…
-l lines:統計行數
-w words:統計單詞個數
-c character:統計字符個數
8、取出/etc/group文件中第三個字段數值最小的10個組的名字。
9、將/etc/fstab和/etc/issue文件的內容合并為同一個內容后保存至/tmp/etc.test文件中。
cat /etc/{fstab,issue} > /tmp/etc.test
10、請總結描述用戶和組管理類命令的使用方法并完成以下練習:
用戶和組相關的管理命令:
(1)用戶創建:useradd
useradd [OPTIONS] LOGIN
-u UID:[UID_MIN,UID_MAX],定義在/etc/login.defs 如果沒有指定UID則依次使用最近一次的UID
-g GID:基本組,如果沒有指定則使用與用戶名相同的組名
-c ” ” :用戶的注釋信息
-d /path/to/dir :指定用戶的家目錄
-s SHELL:指定用戶的默認shell,可用的shell列表在/etc/shells
-G GROUP1 GROUP2…:指定用戶的附加組,可以有多個,用逗號隔開,組必須事先存在
-D:表示修改用戶的默認選項;(修改的是/etc/default/useradd中的選項)
-s:修改用戶的默認shell信息
(2)創建組:groupadd
groupadd [options] group
-g GID:指明GID
-r :創建系統組
(3)查看用戶的相關ID信息:id
id [option]…[user]
-u:UID
-g:Gid
-G:Groups
-n:Name
(4)用戶屬性修改:usermod
usermod [options] LOGIN
-u UID:新UID
-g GID:新GID
-G?GROUP1,GROUP2…:新附加組,原來的附加組將會被覆蓋,若要保留原來的,則要同時使用-a選項,表示追加。
-s SHELL:新的默認SHELL
-c?“注釋信息”:新的注釋信息
-d HOME:新的家目錄,原有的家目錄中的文件不會同時移動到新目錄,若要移動,則要同時使用-m選項
-l login_name:新的名字
-L:lock指定用戶
-U:unlock指定用戶
-e YYYY-MM-DD:指定用戶賬號的過期日期
-f INACTIVE:指定非活動期限
(5)給用戶添加密碼:passwd
管理員用戶可以修改任何用戶的密碼,普通用戶只能修改自己的密碼;
passwd?[options] UserName
-l:鎖定指定用戶
-u:解鎖指定用戶
-n mindays:指定最短使用期限
-x maxdays: 最大使用期限
-w warn days:提前多少天開始警告
-i inactive-days:非活動期限
–stdin :從標準輸入接受用戶密碼:如:?echo?“passwd” | passwd –stdin USERNAME
(6)用戶刪除?:userdel
userdel?[option]?LOGIN
-r:刪除用戶家目錄
(7)組屬性修改:groupmod
groupmod?[options]?GROUP
-n group_name:新名字
-g GID:新的GID
(8)刪除組:groupdel
group [options] group
(9)組密碼:組密碼的作用為用戶切換基本組,gpasswd
gpasswd [options] group
-a user:將user添加至指定組中
-d user:將user從指定組中刪除
-A userlist:設置有組管理權限的用戶列表
(10)臨時切換基本組:newgrp
如果用戶本不屬于此組,則需要組的密碼:
(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;
useradd -u 2002 -g distro -G peguin slackware
(7)、修改slackware的默認shell為/bin/tcsh;
usermod -s /bin/tcsh slackware
(8)、為用戶slackware新增附加組admins;
usermod -aG admins slackware
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/102312
贊,能看到思考的部分,不錯,繼續加油。