Shell编程------脚本范例

批量用户添加与文件安全检测
本文介绍了一种批量创建用户的方法,通过读取包含用户名和密码的文本文件,并使用bash脚本进行用户添加。此外,还提供了一个用于检测文件完整性的脚本,该脚本利用MD5算法来检查文件是否被篡改。
1. 批量添加用户
    建立用户名和密码组合的txt文件userdata.txt,如下:
username1 123
username2 123
username3 123
username4 123
username5 123
username6 123
    批量添加以上用户的脚本是:
#! /bin/bash
while read line
do
    username=$(echo $line | cut -f1 -d' ')   #或 username=$(echo $line | awk '{print $s1}')
    password=$(echo $line | cut -f2 -d' ')   #或 password=$(echo $line | awk '{print $s2}')
    useradd $username
    if [ $? -eq 0 ]; then
        echo $password | passwd --stdin $username
    else
        echo "the user $username has been finished!"
    fi
done < userdata.txt
 
2. 文件安全检测
    文件安全检测的机制是基于MD5算法:使用MD5算法计算文件的MD5值,若与原始文件的MD5值不同,则文件被修改过。
#! /bin/bash
mkdir /usr/UserData
sudo chmod 777 /usr/UserData
DIRS="/bin /usr/bin"              #  不是shell内建命令的命令最好用全路径调用!
FIND="usr/bin/find                #  不是shell内建命令的命令最好用全路径调用!
MD5SUM="usr/bin/md5sum"           #  不是shell内建命令的命令最好用全路径调用!
# 计算文件夹中所有文件的MD5值
$FIND $DIRS -type f | while read line           
do
    MD5SUM $line >> /usr/UserData/md5value.md5   # >是覆盖重定向到文件    >>是追加重定向到文件
done 
# 检验md5value.md5中所有MD5值是否发生了改变(使用 -c)      --status参数使命令不产生文字输出
while read line
do   
     $MD5SUM -c --status $line
     if [ $? -eq 0 ]; then
        echo "$line is initial md5"
     else
        echo "$line has been changed"
     fi
done < md5value.md5

 

转载于:https://www.cnblogs.com/ladawn/p/8412580.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值