第三周
1.列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。
[root@node1 ~]# who -q | sed -n '1p' centos root fedora redhat mint
2.取出最后登錄到當前系統的用戶的相關信息。
[root@node1 ~]# who -a | tail -1 mint + pts/4 2017-07-25 14:31 00:26 4136 (192.168.33.1)
3.取出當前系統上被用戶當作其默認shell的最多的那個shell。
[root@node1 ~]# cut -d : -f 7 /etc/passwd | uniq -c | sed -n '6p' 15 /sbin/nologin
4.將/etc/passwd中的第一個字段數值最大的后10個用戶的信息全部改為大寫后保存至/tmp/maxusers.txt文件中。
[root@node1 ~]# sort -t : -k 3 -n /etc/passwd | tail | tr 'a-z' 'A-Z' > /tmp/maxusers.txt [root@node1 ~]# cat /tmp/maxusers.txt AVAHI-AUTOIPD:X:170:170:AVAHI IPV4LL STACK:/VAR/LIB/AVAHI-AUTOIPD:/SBIN/NOLOGIN ABRT:X:173:173::/ETC/ABRT:/SBIN/NOLOGIN POLKITD:X:997:995:USER FOR POLKITD:/:/SBIN/NOLOGIN SYSTEMD-NETWORK:X:998:996:SYSTEMD NETWORK MANAGEMENT:/:/SBIN/NOLOGIN SYSTEMD-BUS-PROXY:X:999:997:SYSTEMD BUS PROXY:/:/SBIN/NOLOGIN MARIADB:X:4003:994::/HOME/MARIADB:/SBIN/NOLOGIN CENTOS:X:4004:4004::/HOME/CENTOS:/BIN/BASH REDHAT:X:4005:4005::/HOME/REDHAT:/BIN/BASH FEDORA:X:4006:4006::/HOME/FEDORA:/BIN/BASH MINT:X:4007:4007::/HOME/MINT:/BIN/BASH
5.取出當前主機的IP地址,提示:對ifconfig命令的結果進行切分。
[root@magedu ~]# ifconfig | grep 'inet addr' inet addr:192.168.33.129 Bcast:192.168.33.255 Mask:255.255.255.0 inet addr:127.0.0.1 Mask:255.0.0.0 [root@magedu ~]# ifconfig | grep 'inet addr' | cut -d : -f 2 192.168.33.129 Bcast 127.0.0.1 Mask [root@magedu ~]# ifconfig | grep 'inet addr' | cut -d : -f 2 | cut -d " " -f 1 192.168.33.129 127.0.0.1 [root@magedu ~]# ifconfig | grep 'inet addr' | cut -d : -f 2 | cut -d " " -f 1 | head -1 192.168.33.129
6.列出/etc目錄下所有以.conf結果的文件的文件名,并將其名字轉換為大寫后保存至/tmp/etc.conf文件中。
[root@magedu ~]# ls -R /etc/*.conf | tr 'a-z' 'A-Z' > /tmp/etc.conf [root@magedu ~]# cat /tmp/etc.conf /ETC/ASOUND.CONF /ETC/CAS.CONF /ETC/DRACUT.CONF /ETC/FPRINTD.CONF /ETC/GAI.CONF /ETC/GRUB.CONF /ETC/HOST.CONF /ETC/KDUMP.CONF /ETC/KRB5.CONF /ETC/LATRACE.CONF /ETC/LD.SO.CONF /ETC/LIBAUDIT.CONF /ETC/LIBUSER.CONF /ETC/LOGROTATE.CONF /ETC/LTRACE.CONF /ETC/MKE2FS.CONF /ETC/NSSWITCH.CONF /ETC/NTP.CONF /ETC/PM-UTILS-HD-APM-RESTORE.CONF /ETC/PRELINK.CONF /ETC/READAHEAD.CONF /ETC/RESOLV.CONF /ETC/RSYSLOG.CONF /ETC/SESTATUS.CONF /ETC/SMARTD.CONF /ETC/SOS.CONF /ETC/SUDO.CONF /ETC/SUDO-LDAP.CONF /ETC/SYSCTL.CONF /ETC/UPDATEDB.CONF /ETC/WARNQUOTA.CONF /ETC/YUM.CONF
7.顯示/var目錄下一級子目錄或文件的總個數。
[centos@node1 ~]$ tree -L 1 /var /var ├── adm ├── cache ├── crash ├── db ├── empty ├── games ├── gopher ├── kerberos ├── lib ├── local ├── lock -> ../run/lock ├── log ├── mail -> spool/mail ├── nis ├── opt ├── preserve ├── run -> ../run ├── spool ├── test ├── tmp └── yp 21 directories, 0 files
8.取出/etc/group文件中的第三個字段數值最小的10個組的名字。
[centos@node1 ~]$ sort -n -t : -k 3 /etc/group | head | cut -d : -f 1 root bin daemon sys adm tty disk lp mem kmem
9.將/etc/fstab和/etc/issue文件的內容合并為同一個內容后保存至/tmp/etc.test文件中。
[centos@node1 ~]$ cat /etc/fstab /etc/issue > /tmp/etc.test [centos@node1 ~]$ cat /tmp/etc.test
# # /etc/fstab # Created by anaconda on Wed Jul 12 20:53:27 2017 # # 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/centos-root / xfs defaults 0 0 UUID=8e134db0-5184-41db-9f3a-0da251168079 /boot xfs defaults 0 0 /dev/mapper/centos-swap swap swap defaults 0 0 \S Kernel \r on an \m
10.請總結描述用戶和組管理類命令的使用方法:
用戶和組管理類命令有useradd, usermod, userdel, groupadd, groupmod, groupdel。
useradd – 添加新用戶或更新默認新用戶信息
-D: 顯示或修改創建用戶的默認值, 創建用戶的默認設置配置文件路徑/etc/login.defs, 修改的結果保存在/etc/default/useradd文件中。 選項:選項:
-u: 指定uid。
-g: 指定gid。
-c: 用戶賬戶的簡短說明信息。
-G: 為用戶指定附加組,附加組必須事先存在。
-d: 以指定的路徑為用戶的家目錄。
-s: 為用戶指定默認shell。
-r: 創建系統用戶。
-M: 不創建家目錄。
-f: 密碼過期時間。
-D: 顯示或修改創建用戶的默認值, 創建用戶的默認設置配置文件路徑/etc/login.defs, 修改的結果保存在/etc/default/useradd文件中。
usermod – 修改用戶賬戶-U: 解鎖用戶密碼。 語法格式:usermod [options] LOGIN
選項:
-u: 修改用戶ID號。
-g: 修改用戶的基本組,組得事先存在。
-G: 修改用戶所屬的附加組,原來的附加組會被覆蓋,和-a選項連用,追加新的附加組。
-c: 修改用戶說明信息。
-d: 修改用的家目錄,默認用戶原家目錄的文件不會被遷移至新目錄。
-m: 同-d選項連用,將原來家目錄遷移到新的家目錄。
-s: 修改shell。
-L: 鎖定用戶密碼。-L: 鎖定用戶密碼。-U: 解鎖用戶密碼。
語法格式:userdel [options] LOGIN
選項:
-r: 刪除用戶賬戶時一并刪除家目錄和目錄/var/spool/mail下用戶郵件。
groupadd – 創建新組
選項:
-g: 指定組ID號。
-r: 創建系統組。
語法格式:groupmod [options] GROUP
選項:
-g: 修改組ID號。
-n: 修改組名。
groupdel – 刪除組
語法格式:groupdel [options] GROUP
完成以下練習:
a.創建組distro,其GID為2016;
[root@node1 ~]# groupadd -g 2016 distro [root@node1 ~]# tail -1 /etc/group distro:x:2016:
b.創建用戶mandriva,其ID號為1005;基本組為distro;
[root@node1 ~]# useradd mandriva -u 1005 -g distro [root@node1 ~]# id mandriva uid=1005(mandriva) gid=2016(distro) groups=2016(distro)
c.創建用戶mageia,其ID號為1100,家目錄為/home/linux;
[root@node1 ~]# useradd -u 1100 -d /home/linux mageia [root@node1 ~]# id mageia uid=1100(mageia) gid=1100(mageia) groups=1100(mageia) [root@node1 ~]# ls -ld /home/linux/ drwx------. 2 mageia mageia 59 Jul 25 17:08 /home/linux/
d.給用戶mageia添加密碼,密碼為mageedu;
[root@node1 ~]# echo "mageedu" | passwd --stdin mageia Changing password for user mageia. passwd: all authentication tokens updated successfully.
e.刪除mandriva,但保留其家目錄;
[root@node1 ~]# userdel mandriva [root@node1 ~]# ls -d /home/man* /home/mandriva
f.創建用戶slackware,其ID號為2002,基本組為distro,附加組peguin;
[root@node1 ~]# groupadd peguin [root@node1 ~]# useradd -u 2002 -g distro -G peguin slackware [root@node1 ~]# id slackware uid=2002(slackware) gid=2016(distro) groups=2016(distro),5004(peguin)
g.修改slackware的默認shell為/bin/tcsh;
[root@node1 ~]# usermod -s /bin/tcsh slackware [root@node1 ~]# tail -1 /etc/passwd slackware:x:2002:2016::/home/slackware:/bin/tcsh
h.為用戶slackware新增附加組admins;
[root@node1 ~]# groupadd admins [root@node1 ~]# usermod -a -G admins slackware [root@node1 ~]# id slackware uid=2002(slackware) gid=2016(distro) groups=2016(distro),5004(peguin),5005(admins)
原創文章,作者:ZhengBin,如若轉載,請注明出處:http://www.www58058.com/82756
這次作業考查了一些基礎實用的命令,完成的非常好,再接再勵。