LINUX 脚本编写

练习:
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 有密码 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值