1、统计出/etc/passwd文件中其默认shell为非/sbin/nologin的用户个数,并将用户都显示出来
-
过滤掉/passwd文件中带/sbin/nologin的行
getent passwd |grep -v /sbin/nologin -
以:为分隔符,显示第一列用户名
getent passwd |grep -v /sbin/nologin |cut -d: -f1 -
统计用户数量
getent passwd |grep -v /sbin/nologin |cut -d: -f1 -n |wc -l
[09:52:06 root@bogon data]#getent passwd |grep -v /sbin/nologin
root:x:0:0:root:/root:/bin/bash
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
wangd:x:1000:1000:wangd:/home/wangd:/bin/bash
nginx:x:1001:1002::/home/nginx:/bin/bash
varnish:x:1002:1003::/home/varnish:/bin/bash
rooter:x:0:1006::/home/rooter:/bin/bash
alice:x:1003:1008::/home/alice:/bin/bash
tom:x:1004:1007::/home/tom:/bin/bash
jack:x:1234:1007::/home/jack:/bin/bash
rose:x:1006:100::/home/rose:/bin/bash
mysql:x:987:981::/home/mysql:/bin/bash
u1:x:1007:1012::/data/u1home:/bin/bash
apache:x:986:980::/home/apache:/bin/bash
u2:x:1008:1013::/home/u2:/sbin/bash
mageia:x:1100:1100::/home/linux:/bin/bash
slackware:x:2002:2019::/home/slackware:/bin/tcsh
[10:39:45 root@bogon data]#getent passwd |grep -v /sbin/nologin |cut -d: -f1
root
sync
shutdown
halt
wangd
nginx
varnish
rooter
alice
tom
jack
rose
mysql
u1
apache
u2
mageia
slackware
[10:46:57 root@bogon data]#getent passwd |grep -v /sbin/nologin |cut -d: -f1 -n |wc -l
18
2、查出用户UID最大值的用户名、UID及shell类型
[09:25:22 root@bogon ~]#getent passwd | sort -t: -k3 -nr 以:为分隔符,取第三列按数字顺序排列
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
slackware:x:2002:2019::/home/slackware:/bin/tcsh
jack:x:1234:1007::/home/jack:/bin/bash
mageia:x:1100:1100::/home/linux:/bin/bash
u2:x:1008:1013::/home/u2:/sbin/bash
u1:x:1007:1012::/data/u1home:/bin/bash
rose:x:1006:100::/home/rose:/bin/bash
tom:x:1004:1007::/home/tom:/bin/bash
alice:x:1003:1008::/home/alice:/bin/bash
varnish:x:1002:1003::/home/varnish:/bin/bash
nginx:x:1001:1002::/home/nginx:/bin/bash
wangd:x:1000:1000:wangd:/home/wangd:/bin/bash
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
sssd:x:998:995:User for sssd:/:/sbin/nologin
libstoragemgmt:x:997:994:daemon account for libstoragemgmt:/var/run/lsm:/sbin/nologin
colord:x:996:993:User for colord:/var/lib/colord:/sbin/nologin
gluster:x:995:992:GlusterFS daemons:/run/gluster:/sbin/nologin
saslauth:x:994:76:Saslauthd user:/run/saslauthd:/sbin/nologin
setroubleshoot:x:993:990::/var/lib/setroubleshoot:/sbin/nologin
chrony:x:992:989::/var/lib/chrony:/sbin/nologin
unbound:x:991:988:Unbound DNS resolver:/etc/unbound:/sbin/nologin
geoclue:x:990:986:User for geoclue:/var/lib/geoclue:/sbin/nologin
saned:x:989:983:SANE scanner daemon user:/usr/share/sane:/sbin/nologin
gnome-initial-setup:x:988:982::/run/gnome-initial-setup/:/sbin/nologin
mysql:x:987:981::/home/mysql:/bin/bash
apache:x:986:980::/home/apache:/bin/bash
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
abrt:x:173:173::/etc/abrt:/sbin/nologin
rtkit:x:172:172:RealtimeKit:/proc:/sbin/nologin
pulse:x:171:171:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin
usbmuxd:x:113:113:usbmuxd user:/:/sbin/nologin
qemu:x:107:107:qemu user:/:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
radvd:x:75:75:radvd user:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
halt:x:7:0:halt:/sbin:/sbin/halt
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
sync:x:5:0:sync:/sbin:/bin/sync
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
root:x:0:0:root:/root:/bin/bash
rooter:x:0:1006::/home/rooter:/bin/bash
[09:25:27 root@bogon ~]#getent passwd | sort -t: -k3 -nr | head -n1
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
[09:25:33 root@bogon ~]#getent passwd | sort -t: -k3 -nr | head -n1 |cut -d: -f1,3,7
nfsnobody:65534:/sbin/nologin
3、统计当前连接本机的每个远程主机IP的连接数,并按从大到小排序
[23:48:09 root@bogon ~]#netstat -nt | tr -s " " : |cut -d: -f6 |sort |uniq -c | sort -nr
1 Foreign
1 192.168.45.100
1 192.168.45.1
4、编写脚本 createuser.sh 实现如下功能:使用一个用户名做为参数,如果指定参数的用户存在,就显示其存在,否则添加之;显示添加的用户的id号等信息
11 #********************************************************************
12 read -p "Please input your name: " NAME
13 if id -u $NAME &> /dev/null ;then
14 echo "$NAME already exists"
15 else
16 useradd $NAME && id $NAME
17 fi
[00:42:31 root@bogon ~]#bash createuser.sh
Please input your name: root
root already exists
[00:42:35 root@bogon ~]#bash createuser.sh
Please input your name: test
uid=2003(test) gid=2003(test) groups=2003(test)
~
5、编写生成脚本基本格式的脚本,包括作者,联系方式,版本,时间,描述等
1 set number
2 set tabstop=4
3 set ignorecase
4 set cursorline
5 set autoindent
6 autocmd BufNewFile *.sh exec ":call SetTitle()"
7 func SetTitle()
8 if expand("%:e") == 'sh'
9 call setline(1,"#!/bin/bash")
10 call setline(2,"#")
11 call setline(3,"#********************************************************************")
12 call setline(4,"#Author: wangd")
13 call setline(5,"#QQ: 132456798")
14 call setline(6,"#Date: ".strftime("%Y-%m-%d"))
15 call setline(7,"#FileName: ".expand("%"))
16 call setline(8,"#version: 3.1")
17 call setline(9,"#Description: The test script")
18 call setline(10,"#Copyright (C): ".strftime("%Y")." All rights reserved")
19 call setline(11,"#********************************************************************")
20 call setline(12,"")
21 endif
22 endfunc
23 autocmd BufNewFile * normal G
1 #!/bin/bash
2 #
3 #********************************************************************
4 #Author: wangd
5 #QQ: 123456789
6 #Date: 2020-05-17
7 #FileName: f1.sh
8 #version: 3.1
9 #Description: The test script
10 #Copyright (C): 2020 All rights reserved
11 #********************************************************************