1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。
# who | cut -d' ' -f1 | sort | uniq huazi2 root
2、取出最后登錄到當前系統的用戶的相關信息。
# finger $(last | head -1 | cut -d' ' -f1) Login: root Name: root Directory: /root Shell: /bin/bash On since 五 6月 17 09:07 (CST) on pts/1 from 172.16.100.1 28 minutes 27 seconds idle On since 五 6月 17 09:15 (CST) on pts/2 from 172.16.100.1 3 seconds idle Mail last read 二 5月 31 01:53 2016 (CST) No Plan. # id $(last | head -1 | cut -d' ' -f1) uid=0(root) gid=0(root) 組=0(root)
3、取出當前系統上被用戶當作其默認shell的最多的那個shell。
# cut -d':' -f7 /etc/passwd | sort | uniq -c | sort -nr | head -1 | tr -d '[0-9 ]' /sbin/nologin
4、將/etc/passwd中的第三個字段數值最大的后10個用戶的信息全部改為大寫后保存至/tmp/maxusers.txt文件中。
# sort -t':' -k3nr /etc/passwd | head -10 | tr 'a-z' 'A-Z' > /tmp/maxusers.txt # # cat /tmp/maxusers.txt OPENSTACK:X:3003:5922::/HOME/OPENSTACK:/SBIN/NOLOGIN SLACKWARE:X:2002:2016::/HOME/SLACKWARE:/BIN/TCSH HUAZI2:X:1241:1241::/HOME/HUAZI2:/BIN/BASH HUAZI1:X:1237:1237::/HOME/HUAZI1:/BIN/BASH TEST1:X:1236:1236::/HOME/TEST1:/BIN/BASH ARCHLINUX:X:1235:1235::/USERS/ARCHLINUX:/BIN/BASH IAMKILLER:X:1234:1234::/OPT/.PRIVATE/IAMKILLER:/SBIN/NOLOGIN
5、取出當前主機的IP地址,提示:對ifconfig命令的結果進行切分。
# ifconfig | egrep '(inet addr:|inet )(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])' -o inet 172.16.100.11 inet 127.0.0.1
6、列出/etc目錄下所有以.conf結尾的文件的文件名,并將其名字轉換為大寫后保存至/tmp/etc.conf文件中。
# ls -A /etc/ | grep .conf$ | tr 'a-z' 'A-Z' > /tmp/etc.conf [root@c7-1 ~]# [root@c7-1 ~]# cat /tmp/etc.conf .123.CONF ASOUND.CONF DNSMASQ.CONF DRACUT.CONF E2FSCK.CONF ELINKS.CONF HOST.CONF KDUMP.CONF KRB5.CONF LD.SO.CONF LIBAUDIT.CONF LIBUSER.CONF LOCALE.CONF LOGROTATE.CONF MAN_DB.CONF MKE2FS.CONF NSSWITCH.CONF NTP.CONF REDIS.CONF REDIS-SENTINEL.CONF RESOLV.CONF RSYSLOG.CONF SESTATUS.CONF SUDO.CONF SUDO-LDAP.CONF SYSCTL.CONF TCSD.CONF VCONSOLE.CONF YUM.CONF
7、顯示/var目錄下一級子目錄或文件的總個數。
# ls -A /var/ | wc -l 21
8、取出/etc/group文件中第三個字段數值最小的10個組的名字。
# sort -t':' -k3n /etc/group | head -10 | cut -d':' -f1 root bin daemon sys adm tty disk lp mem kmem
9、將/etc/fstab和/etc/issue文件的內容合并為同一個內容后保存至/tmp/etc.test文件中。
# cat /etc/{fstab,issue} > /tmp/etc.test # # cat /tmp/etc.test # # /etc/fstab # Created by anaconda on Mon May 23 18:04:04 2016 # # 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=9edd08de-e432-4196-8a06-2363c167f3e5 /boot xfs defaults 0 0 /dev/mapper/centos-swap swap swap defaults 0 0 \S Kernel \r on an \m
10、請總結描述用戶和組管理類命令的使用方法并完成以下練習:
useradd 命令: 創建用戶 格式 - useradd [options] LOGIN -u uid: 指定用戶id [UID_MIN,UID_MAX] 定義在 /etc/login.defs -g gid: 指定組id or 組名, name or number -c "" : 用的描述 comment -d : 創建時指定家目錄 -s : 指定shell -G : 指定用戶的附加組 GROUP1[,GROUP2,...[,GROUPN]]] -r : 創建的是系統用戶 -M : 不創建家目錄 usermod 命令: 用戶屬性修改 格式 - usermod [options] LOGIN -u : 新uid -g : 新gid -s : 新shell -G : 新附加組,原來的附加組會覆蓋,如果想追加新的附加組 要用 -a選項 -l : 新的名字 -d : 修改家目錄,同時用 -m 選項 -m : 修改家目錄時 復制原家目錄的內容到新家目錄里 -L : 鎖定指定用戶,在/etc/shadow 密碼字段前加!嘆號 -U : 解鎖 -e : YYYY-MM-DD 指明用戶帳號過期日期 userdel 命令: 格式 - userdel [option] login -r 刪除用戶家目錄和郵件目錄 # userdel -r xiaoming 刪除xiaoming用戶以及家目錄和郵件目錄 passwd 命令: 修改當前用戶或其他用戶的密碼(管理員才有修改他人密碼的權限) 格式 - passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays] [-S] [--stdin] [username] -l : 鎖定指定用戶,在/etc/shadow 密碼字段前加!嘆號 -u : 解鎖 -n mindays: 指定最短使用期限 -x maxdays:最大使用期限 -w warndays:提前多少天開始警告 -i inactivedays:非活動期限; -S 查看用戶信息 --stdin:從標準輸入接收用戶密碼; echo "PASSWORD" | passwd --stdin USERNAME groupadd 命令: 創建組 格式 - groupadd [options] group -g gid 指定gid -r 創建系統組 # groupadd -r test 添加test系統組 groupmod : 修改組屬性 groupmod [options] GROUP -g 指定新gid -n 修改組名 groupdel 命令: 刪除組 # groupdel test 刪除 test組 此命令比較簡單 gpasswd 命令: 給組添加密碼 - 格式 gpasswd [option] group -a , 指定用戶到某組 -a 用戶名 要加入的組 -d , 刪除用戶附加組 -d 用戶名 要刪除的組 -A , 設置有管理權限的用戶列表 # gpasswd test 給 test 組加密碼 # gpasswd test -a openstack 將test組添加到 openstack用戶的附加組 # gpasswd test -d openstack 刪除 openstack 的附加組 test finger 命令: 查看用戶信息 # finger root Login: root Name: root Directory: /root Shell: /bin/bash On since Fri Jun 17 09:07 (CST) on pts/1 from 172.16.100.1 5 seconds idle On since Fri Jun 17 09:15 (CST) on pts/2 from 172.16.100.1 3 minutes 41 seconds idle Mail last read Tue May 31 01:53 2016 (CST) No Plan. chage 命令: 修改用戶密碼過期信息 - 格式 chage [options] LOGIN -E 帳號到期的日期 -I 停滯時期 如果一個密碼已過期這些天,那么此帳號將不可用 -m 密碼可更改的最小天數 -M 密碼有效的最大天數 -W 用戶密碼到期前,提前收到警告信息的天數 -l 查看賬戶年齡信息 chsh 命令: 修改用戶 shell - 格式 chsh [ -s shell ] [ -l ] [ -u ] [ -v ] [ username ] -s 要修改的shell -l 列出當前系統的shell # chsh -s /sbin/nologin openstack # chsh openstack 交互式 # chsh 修改當前用戶shell id 命令: id [OPTION]... [USERNAME] 查看用戶的相關信息 -u 顯示用戶id -g 顯示組id -G 顯示所有組 附加組 -n 顯示組或用戶名 # id -g openstack 顯示 openstack 用戶的 基本組id # id -g -n openstack 顯示 openstack 用戶的 基本組名 # id -G -n openstack 顯示 openstack 用戶的 附加組名 (1)、創建組distro,其GID為2016; groupadd distro -g 2016 (2)、創建用戶mandriva, 其ID號為1005;基本組為distro; useradd mandriva -u 1005 -g distro (3)、創建用戶mageia,其ID號為1100,家目錄為/home/linux; useradd mageia -u 1100 -d /home/linux (4)、給用戶mageia添加密碼,密碼為mageedu; echo mageedu | passwd --stdin mageia (5)、刪除mandriva,但保留其家目錄; userdel mandriva (6)、創建用戶slackware,其ID號為2002,基本組為distro,附加組peguin; useradd slackware -u 2002 -g distro -G peguin (7)、修改slackware的默認shell為/bin/tcsh; usermod slackware -s /bin/tcsh (8)、為用戶slackware新增附加組admins; gpasswd admins -a slackware (9)、為slackware添加密碼,且要求密碼最短使用期限為3天,最長為180天,警告為3天; echo 123 | passwd --stdin slackware passwd -n 3 -x 180 -w 3 slackware (10)、添加用戶openstack,其ID號為3003, 基本組為clouds,附加組為peguin和nova; useradd openstack -u 3003 -g clouds -G peguin,nova (11)、添加系統用戶mysql,要求其shell為/sbin/nologin; useradd mysql -s /sbin/nologin (12)、使用echo命令,非交互式為openstack添加密碼。" echo 123 | passwd --stdin openstack
原創文章,作者:banbula,如若轉載,請注明出處:http://www.www58058.com/20695
寫的很好,排版很漂亮,加油