用linux编写一个添加用户的脚本

用linux编写一个添加用户的脚本,第1张

cat "<a href="https://www.baidu.com/s?wd=tom&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1Y3uju-mHf1mHu9uhNbn1Rd0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EnHb3PH61rjbYPWc3nWDdPjfd" target="_blank" class="baidu-highlight">tom</a>:123" >/tmp/user.txt#生成密码文件,格式“username:password”

useradd <a href="https://www.baidu.com/s?wd=tom&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1Y3uju-mHf1mHu9uhNbn1Rd0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EnHb3PH61rjbYPWc3nWDdPjfd" target="_blank" class="baidu-highlight">tom</a> #增加用户,其它参数按需要添加

chpasswd /tmp/user.txt#设置用户密码

rm -f /tmp/user.txt#删除临时密码文件

#!/bin/bash

if [ $UID != 0 ]then

    echo "Please use the root user"

    exit 0

fi 

read -p "input user name :" name

read -p "input user password :" passwd

useradd $name

passwd $name  --stdin "$passwd"

sed -i "/Allow root to run any commands anywhere/a\$name ALL=(root)NOPASSWD: /sbin/ifconfig,/usr/bin/iostat,/sbin/fdisk" /etc/sudoers

在linux里可以直接使用shell脚本进行管理,shell就是命令解释器,把用户的命令翻译成机器语言,在把机器语言翻译成人类语言返回给用户。

shell有Bshell和Cshell区分,经常在linux里面用的shell都是Bshell,Bshell和Cshell完全不兼容。我在Centos里面看见支持的几种shell解释器有sh,bash,csh。然后用的最多的就是base(标准shell)。

shell脚本可以添加执行权限,然后在base命令界面直接输入脚本路径即可执行;所有的脚本开头要声明脚本shell,常见的声明是#!/bin/bash,其他的还有#!/bin/sh,#!/bin/csh

写第一个shell脚本吧

可以使用alias命令查看系统当前的别名,也可以用alias 别名=‘真实命令’ 来执行;

重定向输出是将输出到标准输出设备的数据重新定向到另一个地方;

将标准(键盘)输入重定向到其他一个设备上;

格式:命令1 | 命令2

表示把命令1的执行结果当成命令2的执行条件

跟正则表达式不一样啊,刚才的grep -P就是使用正则,但是这里通配符比较简单啊。

用引号表示,其中单引号标识不解析字符串中的特殊字符,双引号则解析特殊字符。

如果字符串中有存在$(ls)这种,那么这个表示ls命令的执行结果啊

当然这也可以用\进行转义


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11660510.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存