第三周博客作業

1、列出當前系統上所有已登錄的用戶名,注意:同一用戶登陸多次,則只顯示一次即可。
2、取出最后登錄到當前系統的用戶的相關信息。
3、取出當前系統上被用戶當作默認shell的最多的那個shell。
4、將/etc/passwd中的第三個字段數值最大的后10個用戶的信息全部改為大寫后保存至/tmp/maxusers.txt文件中。
5、取出當前主機的IP地址,提示:對ifconfig命令的結果進行切分。
6、列出/etc目錄下所有以.conf結尾的文件的文件名,并將其名字轉換為大寫后保存至/tmp/etc.conf文件中。
7、顯示/var目錄下一級子目錄或文件的總個數。
8、取出/etc/group文件中第三個字段數值最小的10個組的名字。
9、將/etc/fstab和/etc/issue文件的內容合并為同一個內容后保存至/tmp/etc.test文件中。
10、請總結描述用戶和組管理類命令的使用方法并完成以下練習:

1、列出當前系統上所有已登錄的用戶名,注意:同一用戶登陸多次,則只顯示一次即可。

示例:[root@localhost ~]# who | cut -d : -f1 | sort -u
? ? ? ? ? ? ?root pts/0 2018-03-27 23:46

解釋:使用who命令列出列出當前登錄的所有用戶,使用cut命令取出用戶名,使用sort -u命令去重

2、取出最后登錄到當前系統的用戶的相關信息。

示例:[root@localhost ~]# who | head -1
? ? ? ? ? ? root pts/0 ?

解釋:使用who命令列出列出當前登錄的所有用戶,使用 head命令取出最后登錄用戶名相關信息。

 

3、取出當前系統上被用戶當作默認shell的最多的那個shell。

示例:[root@localhost ~]# cut -d : -f7 /etc/passwd | uniq -c | sort -n | tail -1

? ? ? ? ? ? 29 /sbin/nologin

解釋:使用cut命令列出取出passwd上第7列所有使用的shell名稱,使用uniq?–c統計重復次數,sort -n按數值排序,tail -1取最大值

 

4、將/etc/passwd中的第三個字段數值最大的后10個用戶的信息全部改為大寫后保存至/tmp/maxusers.txt文件中。

示例:[root@localhost ~]# sort -rn -t: -k3 /etc/passwd -n | tail -10 | tr “a-z” “A-Z” >/tmp/maxusers.txt
? ? ? ? ? ? [root@localhost ~]# cat /tmp/maxusers.txt
? ? ? ? ? ? UUCP:X:10:14:UUCP:/VAR/SPOOL/UUCP:/SBIN/NOLOGIN
? ? ? ? ? ? MAIL:X:8:12:MAIL:/VAR/SPOOL/MAIL:/SBIN/NOLOGIN
解釋:使用sort命令將passwd文件按第三個字段排序,用tail取出最后十行,使用tr?命令轉換大小寫,用>號重定向保存到maxusers.txt文件中。

sort參數:-r:以相反的順序來排序;?-n:依照數值的大小排序;-k來指定列數;

5、取出當前主機的IP地址,提示:對ifconfig命令的結果進行切分。

示例:[root@localhost ~]# ifconfig eth0 | grep ‘\<inet\>’ | cut -d : -f2
? ? ? ? ? ? 172.16.15.10 Bcast

解釋:執行ifconfig命令,管道至對結果進行正規則表達式匹配,然后用cut命令切分,得到結果的第二列的ip地址。

6、列出/etc目錄下所有以.conf結尾的文件的文件名,并將其名字轉換為大寫后保存至/tmp/etc.conf文件中。

示例:[root@localhost ~]# ls /etc/*.conf | tr “a-z” “A-Z” >/tmp/etc.conf
? ? ? ? ? ? [root@localhost ~]# cat /tmp/etc.conf
? ? ? ? ? ? ?/ETC/ANT.CONF
? ? ? ? ? ? ?/ETC/ASOUND.CONF

解釋:用ls命令列出/etc下所有.conf的文件,用tr命令轉換成大寫,用>號把結果重定向到etc.conf文件。

 

7、顯示/var目錄下一級子目錄或文件的總個數。

示例:[root@localhost ~]# ls /var | wc -l

? ? ? ? ? ? ? 21

解釋:用ls命令列出/var下一級子目錄,wc命令統計個數。

 

8、取出/etc/group文件中第三個字段數值最小的10個組的名字。

示例:[root@localhost ~]# sort -t : -k3 -n /etc/group | head -10 | cut -d : -f1
? ? ? ? ? ? root
? ? ? ? ? ? bin
? ? ? ? ? ? daemon
? ? ? ? ? ? sys
? ? ? ? ? ?adm
? ? ? ? ? ? tty
? ? ? ? ? ?disk
? ? ? ? ? ?lp
? ? ? ? ? mem
? ? ? ? ? kmem

解釋:/etc/group用sort命令t為欄位分隔符,k3第三欄n依照數值的大小排序,用head命令取出前10行,用cut命令d為字段的分隔符,f1顯示第一字段。

 

9、將/etc/fstab和/etc/issue文件的內容合并為同一個內容后保存至/tmp/etc.test文件中。

示例:[root@localhost ~]# cat /etc/fstab /etc/issue > /tmp/etc.test
? ? ? ? ? ? [root@localhost ~]# cat /tmp/etc.test

? ? ? ? ? ?# /etc/fstab
? ? ? ? ? ?# Created by anaconda on Thu Mar 22 22:29:16 2018
? ? ? ? ? ?#
? ? ? ? ? ?# Accessible filesystems, by reference, are maintained under ‘/dev/disk’
? ? ? ? ? ?# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
? ? ? ? ? #
? ? ? ? ? /dev/mapper/VolGroup-lv_root / ext4 defaults 1 1
? ? ? ? ? ? UUID=7eee4732-a8d7-43ba-9f7d-8125ab037003 /boot ext4 defaults 1 2
? ? ? ? ? ?/dev/mapper/VolGroup-lv_swap swap swap defaults 0 0
? ? ? ? ? ?tmpfs /dev/shm tmpfs defaults 0 0
? ? ? ? ? ?devpts /dev/pts devpts gid=5,mode=620 0 0
? ? ? ? ? ?sysfs /sys sysfs defaults 0 0
? ? ? ? ? proc /proc proc defaults 0 0
? ? ? ? ? CentOS release 6.6 (Final)
? ? ? ? ? Kernel \r on an \m

解釋:用cat命令獲取/etc/fstab和/etc/issue文件的內容并重定向到/tmp/etc.test文件中。

 

10、請總結描述用戶和組管理類命令的使用方法并完成以下練習:

用戶和組管理類相關命令:

(1)創建用戶命令:useradd

格式:useradd [選項] 登錄名
-u, –uid UID:指定UID;
-g, –gid GROUP:指定基本組ID,此組得事先存在;
-G, –groups GROUP1[,GROUP2,…[,GROUPN]]]:指明用戶所屬的附加組,多個組之間用逗號分隔;
-c, –comment COMMENT:指明注釋信息;
-d, –home HOME_DIR:以指定的路徑為用戶的家目錄;通過復制/etc/skel此目錄并重命名實現;指定的家目錄路徑如果事先存在,則不會為用戶復制環境配置文件;
-s, –shell SHELL:指定用戶的默認shell,可用的所有shell列表存儲在/etc/shells文件中;
-r, –system:創建系統用戶;

注意:創建用戶時的諸多默認設定配置文件為/etc/login.defs

useradd -D:顯示創建用戶的默認配置;
useradd -D 選項: 修改默認選項的值;

修改的結果保存于/etc/default/useradd文件中;

(2) ? 修改用戶命令:usermod

格式:usermod [選項] 登錄名

? ? ? ? ? ? ? ? ? ? ? ? ? ? ?-u, –uid UID:修改用戶的ID為此處指定的新UID;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? -g, –gid GROUP:修改用戶所屬的基本組;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? -G, –groups GROUP1[,GROUP2,…[,GROUPN]]]:修改用戶所屬的附加組;原來的附加組會被覆蓋;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? -a, –append:與-G一同使用,用于為用戶追加新的附加組;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? -c, –comment COMMENT:修改注釋信息;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? -d, –home HOME_DIR:修改用戶的家目錄;用戶原有的文件不會被轉移至新位置;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?-m, –move-home:只能與-d選項一同使用,用于將原來的家目錄移動為新的家目錄;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? -l, –login NEW_LOGIN:修改用戶名;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? -s, –shell SHELL:修改用戶的默認shell;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? -L, –lock:鎖定用戶密碼;即在用戶原來的密碼字符串之前添加一個”!”;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? -U, –unlock:解鎖用戶的密碼;

(3)刪除用戶命令:userdel

格式:userdel [選項] 登錄名

? ? ? ? ? ? ? ? ? ? ? ? ? ? ?-r:刪除用戶時一并刪除其家目錄;

(4)創建組命令:groupadd

格式: groupadd [選項] group_name

? ? ? ? ? ? ? ? ? ? ? ? ? ? -g GID:指定GID;默認是上一個組的GID+1;
? ? ? ? ? ? ? ? ? ? ? ? ? ? -r: 創建系統組;

(5)修改組屬性命令:groupmod

格式: ?groupmod [選項] GROUP

-g GID:修改GID;

? ? ? ? ? ? ? ? ? ? ? ? ? ? -n new_name:修改組名;

(6)刪除組命令:groupdel?

格式:groupdel [選項] GROUP

(1)、創建組distro,其GID為2016;

示例:[root@localhost ~]# groupadd -g 2016 distro
? ? ? ? ? ? [root@localhost ~]# tail -1 /etc/group
? ? ? ? ? ? distro:x:2016:

(2)、創建用戶mandriva,?其ID號為1005;基本組為distro;

示例:[root@localhost ~]# useradd mandriva -u 1005 -g distro
? ? ? ? ? ? [root@localhost ~]# tail -1 /etc/passwd
? ? ? ? ? ? mandriva:x:1005:2016::/home/mandriva:/bin/bash

(3)創建用戶mageia,其ID號為1100,家目錄為/home/linux;

示例:[root@localhost ~]# useradd mageia -u 1100 -d /home/linux
? ? ? ? ? ? [root@localhost ~]# tail -1 /etc/passwd
? ? ? ? ? ? mageia:x:1100:1100::/home/linux:/bin/bash

(4)、給用戶mageia添加密碼,密碼為mageedu;

示例:[root@localhost ~]# passwd mageia
? ? ? ? ? ? 更改用戶 mageia 的密碼 。
? ? ? ? ? ? 新的 密碼:

(5)刪除mandriva,但保留其家目錄;

示例:[root@localhost ~]# userdel mandriva

(6)、創建用戶slackware,其ID號為2002,基本組為distro,附加組peguin;

示例:[root@localhost ~]# groupadd peguin
? ? ? ? ? ? [root@localhost ~]# useradd slackware -u 2002 -g distro -G peguin
? ? ? ? ? ? [root@localhost ~]# tail -1 /etc/passwd
? ? ? ? ? ? slackware:x:2002:2016::/home/slackware:/bin/bash

(7)、修改slackware的默認shell為/bin/tcsh;

示例:[root@localhost ~]# chsh slackware
? ? ? ? ? ? ? Changing shell for slackware.
? ? ? ? ? ? New shell [/bin/bash]: /bin/tcsh
? ? ? ? ? ? Shell changed.
? ? ? ? ? ? [root@localhost ~]# tail -1 /etc/passwd
? ? ? ? ? ? slackware:x:2002:2016::/home/slackware:/bin/tcsh

(8)、為用戶slackware新增附加組admins;

示例:[root@localhost ~]# groupadd admins

? ? ? ? ? ? [root@localhost ~]# usermod -G admins slackware

? ? ? ? ? ??[root@localhost ~]# tail -1 /etc/group
? ? ? ? ? ? admins:x:2018:slackware

 

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/93340

(0)
任總任總
上一篇 2018-03-27 17:13
下一篇 2018-03-27 19:13

相關推薦

評論列表(1條)

  • 馬哥教育
    馬哥教育 2018-04-10 21:56

    作業是認真思考過的。

欧美性久久久久