LINUX 脚本编写

xiaoxiao2021-02-28  81

练习: 1.编写脚本/bin/per.sh,判断当前用户对指定的参数文件,是否不可读并且不可写

#*********************脚本内容如下******************** echo 请输入需要查看的文件路径 read file_path A=1 B=1 cat $file_path &> /dev/null A=$(echo $?) touch $file_path &> /dev/null B=$(echo $?) [[ A -eq 1 && B -eq 1 ]] && echo 不可读不可写 [[ A -gt B ]] && echo 不可读,可写 [[ A -lt B ]] && echo 可读,不可写 [[ A -eq 0 && B -eq 0 ]] && echo 可读 可写

2.编写脚本/root/bin/excute.sh ,判断参数文件是否为sh后缀的普通文件,如果是,添加所有人可执行权限,否则提示用户非脚本文件

#*********************脚本内容如下******************** echo 请输入文件名 read filename [ -f $filename ] && ls -l $filename|grep "\.sh$" && chmod 777 $filename ||echo 该文件>不是.sh文件

3.编写脚本/root/bin/nologin.sh和login.sh,实现禁止和充许普通用户登录系统

#*********************脚本内容如下******************** echo 请输入用户名 read username echo 选择需要执行的操作:A.禁止登陆 B.允许登陆 read set [[ $set != A && $set != B ]] && (echo 您输入的不符合规定 ;exit) echo $set |grep "A" &>/dev/null && usermod -s /sbin/nologin $username|echo "禁止$username 登陆" echo $set |grep "B" &>/dev/null && usermod -s /bin/login $username|echo "允许$username 登陆"

编写一个脚本/root/bin/createuser.sh,脚本的执行语法必须是:createuser.sh -u username -m password,选项与参数间可支持多空格,但不能顺序颠倒。 当未指定正确的选项或参数时,以错误输出方式提示“createuser.sh -u username -m password ”后退出脚本。 合法用户名的正则提取 用户名必须以字母开头,可包括数字和_。否则不合法。以错误输出提示用户”用户名仅包含字母数据和下划线” 当用户名检测合法后,判断用户名是否已存在,若存在,再判断用户是否已设置过密码,若设置过密码,直接退出, 未设置,则将密码设置为所指定的密码后以正确输出方式显示“username 密码已更新后退出” 当用户名不存在,则创建用户,并为该用户设置所指定的密码后以正确输出方式显示“用户username已创建并更新密码” 要求脚本执行过程中不能有非要求的其他输出结果出现。脚本在非正确方式退出时应反回给?参数非0值。

#*********************脚本内容如下******************** #!/bin/bash if [ $# -ne 4 ];then echo "createuser.sh -u username -m password" exit elif [ $1 != "-u" ];then echo "createuser.sh -u username -m password" exit elif [ $3 != "-m" ];then echo "createuser.sh -u username -m password" exit fi User_2=$(echo $2 |grep "^[[:alpha:]][_[:alnum:]]*" -o) [[ $User_2 == $2 ]]&&echo "用户名合法"||(echo "用户名不合法";exit) id $2 &>/dev/null && echo "此 id 已存在哦" && (cat /etc/shadow |grep "$2.\!\!"&>/dev/null&& echo $4|passwd --stdin $2 &&echo "用户密>码更新成功")|| (useradd $2 && echo "$4"|passwd --stdin $2 && echo $2 用户创建成功 &>/dev/null)|| echo 有密码
转载请注明原文地址: https://www.6miu.com/read-62160.html

最新回复(0)