1、统计出/etc/passwd文件中其默认shell为非/sbin/nologin的用户个数,并将用户都显示出来
#!/usr/bin/env bash
#统计用户shell为/sbin/nologin的个数,并且显示出用户名#
ColorStart="\033[$[RANDOM%7+31]m"
ColorEnd="\033[0m"
userCount=`cat /etc/passwd|grep -o ".*\(/sbin/nologin$\)"|wc -l`
echo -e "\033[1;31m User shell is the number of nologin:\033[0m $ColorStart $userCount $ColorEnd"
userName=`cat /etc/passwd|grep -o ".*\(/sbin/nologin$\)"|cut -d: -f1|tr -s "\n" " "`
echo -e "\033[1;31m User shell is nologin username:\033[0m $ColorStart $userName $ColorEnd"
2、查出用户UID最大值的用户名、UID及shell类型
方法一
#!/usr/bin/env bash
UserFile=/etc/passwd
MaxUid=`cat $UserFile|cut -d: -f3|sort -nr|head -n1`
MaxUidInfo=`grep $MaxUid $UserFile|cut -d: -f1,3,7`
echo -e "\e[1;36m 当前系统中UID最大的用户名 UID SHELL类型是:\e[0m $MaxUidInfo"
方法二
#!/usr/bin/env bash
UserFile=/etc/passwd
MaxUidInfo=`cat $UserFile|sort -t : -k 3 -nr|head -n1|cut -d: -f1,3,7`
echo -e "\e[1;36m 当前系统中UID最大的用户名 UID SHELL类型是:\e[0m $MaxUidInfo"
3、统计当前连接本机的每个远程主机IP的连接数,并按从大到小排序
#!/usr/bin/env bash
#统计当前连接本机的每个远程主机IP的连接数#
ipConn=`netstat -ant|tr -s " " :|cut -d: -f6|grep -o "^[0-9].*[0-9$]"|sort|uniq -c|sort -nr`
echo -e "\e[1;35m 当前连接本机的每个远程主机IP的连接数:\e[0m \n$ipConn"
4、编写脚本 createuser.sh,实现如下功能:使用一个用户名做为参数,如果 指定参数的用户存在,就显示其存在,否则添加之;显示添加的用户的id号等 信息
#!/usr/bin/env bash
read -p "Please enter the username to be created:" userName
id $userName &> /dev/null
if [ $? -eq 0 ];then
echo "$userName User already exists"
exit 100;
else
useradd $userName
echo "$userName User created successfully"
fi
id $userName
5、编写生成脚本基本格式的脚本,包括作者,联系方式,版本,时间,描述等
cat > /root/.vimrc <<EOF set ignorecaseset cursorlineset autoindent
autocmd BufNewFile *.sh exec ":call SetTitle()"func SetTitle()
if expand("%:e") == 'sh' call setline(1,"#!/bin/bash")
call setline(2,"#*****************************************************************")
call setline(3,"#Author: bridge")
call setline(4,"#QQ: 515505634")
call setline(5,"#Date: ".strftime("%Y-%m-%d"))
call setline(6,"#FileName: ".expand("%"))
call setline(7,"#Version: v1.0")
call setline(8,"#Description: ")
call setline(9,"#*****************************************************************")
call setline(10,"")
endif
endfunc
autocmd BufNewFile * normal G
EOF
网友评论