设为首页 收藏本站
查看: 987|回复: 0

通过shell实现linux用户管理和监控

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-7-8 09:00:40 | 显示全部楼层 |阅读模式
学习shell做的第一个脚本,感谢云知梦李强强老师的shell编程教程
  • 创建shell脚本文件:

    touch menu.sh
    touch index.sh
    touch welcome.sh
  • 赋予脚本文件可执行权限:
    chmod a+x menu.sh index.sh welcome.sh
  • menu.sh

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/bin/bash
#menu.sh
function menu(){
title="My Home"
name="Randy"
time=`date +%Y-%m-%d`
cat << qaz
#######################################################################
##                      ***`echo -e "\e[32m $title \e[0m"`***                          ##
#######################################################################
##  1)Add a user                                                 ##
##  2)View all users                                             ##
##  3)Set passwd for user                                        ##
##  4)Delete a user                                              ##
##  5)Print disk space                                           ##
##  6)Print mem space                                            ##
##  7)Retrun menu                           ##
##  8)Logout                                                     ##
##  9)Quit                                                       ##
#######################################################################
##   Name:$name              Date:$time           ##
#######################################################################
qaz
}



4.index.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#!/bin/bash
#index.sh
function index() {
clear
. menu.sh
menu
while true
do
    read -p "Please input a option:" option
    case $option in
        1)
            read -p "Please input username:" name
            useradd $name &>/dev/null
            if [ $? -eq 0 ];then
                echo "user ${name} is created successfully!!!"
            else
                echo "user ${name} is created failly!!!"
            fi
        ;;
        2)
            str=`cat /etc/passwd | awk -F: '{print $1}'`
            echo -e "\e[32m$str\e[0m"
        ;;
        3)
            read -p "input the username:" name
            read -p "set password for the user:" pass
            echo $pass | passwd --stdin $name &>/dev/null
            if [ $? -eq 0 ];then
                str="${name}'s password is set successfully"
                echo -e "\033[30;47$str\033[0m"
            else
                str="${name}'s password is set failly!!!"
                echo -e "\033[31;47m$str\033[0m"
            fi
        ;;
        4)
            read -p "delete the user:" name
            userdel -r $name &>/dev/null
            if [ $? -eq 0 ];then
                str="user ${name} is delete successfully!!!"
                echo -e "\033[30;47m$str\033[0m"
            else
                str="user ${name} is delete failly!!!"
                echo -e "\033[31;47m$str\033[0m"
            fi
                ;;
        5)
            str=`df -Th`
                    echo -e "\033[30;47m$str\033[0m"
        ;;
                6)
            str=`free -m`
            echo -e "\033[30;47m$str\033[0m"
                ;;
        7)
            clear
            menu
                ;;
        8)
            echo -e "\e[31mLogout ...\e[0m"
            sleep 1
            break
        ;;
                9)
                        echo -e "\e[31mQuit successfully!!!\e[0m"
                        exit
        ;;
        *)
            str="Input error please re-enter"
            echo -e "\033[30;47m$str\033[0m"
        ;;
    esac
done
}



5.welcome.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#!/bin/bash
#welcome
clear
echo -e "\e[31mWelcome\e[0m"
while true
do
read -p 'Please enter user name (Quit please input "q") :' name
if [ $name = "q" ]
then
    break
else
    read -p 'Please enter user password:' password
    if [ $name = 'admin' ] && [ $password = 'admin' ]
    then
        str="Login successfully,Please Wait ......"
        echo -e "\e[31m$str\e[0m"
        sleep 2
        . index.sh
        index
    else
    str="Login failly"
     echo -e "\e[31m$str\e[0m"

    fi
fi
done



6.界面展示:
QQ截图20160708090030.png


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-240987-1-1.html 上篇帖子: Shell脚本安装成服务加入系统启动-service XX does not support chkconfig 下篇帖子: shell快速迁移海量文件 linux 监控 用户
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表