第七节课学习笔记2022.01.22

第七节课学习笔记2022.01.22,第1张

第七节课学习笔记2022.01.22

for循环语句,

根据范围循环,有几个脚本循环几次

批量创建用户

# vim vuser.txt

zhangsan

lisi

wangwu

zhaoliu

:wq!

 

# cat vuser.txt

 

————————————————————

# vim haha.sh

#!/bin/bash

# xxxxxxxxxx 注释随便写

read -p “Enter: ” PASSWD

for UNAME in ` cat vuser.txt`

do

id $UNAME &> /dev/null

if [ $? -eq 0 ] 上一条执行成功返回为0

then

echo “ $UNAME is exist “

else

useradd $UNAME $> /dev/null

echo $PASSWD | passwd --stdin $UNAME &> /dev/null

echo “$UNAME is created” 用户已被创建

fi

done

 

# cat haha.sh

# id zhangsan

# bash haha.sh

 

 

【扩充】

 

如有空格必须加双引号,如没有可不加,建议保持良好习惯。

把100台服务地址保存到一个文件,通过文件调用并进行反馈:

随便写几个ip测试一下

# vim ipip.txt

192.168.10.10

192.168.10.20

192.168.10.30

127.0.0.1

:wq!

 

# vim ipip.sh

#!/bin/bash

# xxxxxxxxx

for IP in `cat ipip.txt`

do

ping -c 3  -i 0.2 -W 3 $IP &> /dev/null

if [ $? -eq 0 ]

then

echo “$IP is on-line”

else

echo “$IP is off-line”

fi

done

:wq!

 

# bash ipip.sh

 

【扩】

`命令` = $(命令)

在调用文件或命令时,有两个方法执行

1.绝对路径 从根目录开始执行

cat /root/ip.txt

2.相对路径 相对于当前的位置

cd /root

cat ip.txt

根据条件循环,条件满足无限循环,条件不满足终止 *** 作,

for是根据范围循环,这时候可以用到while根据条件循环。

# echo $RANDOM 每回返回的值都不一样,因此将它限制到一个范围条件里

# vim six71.sh

#!/bin/bash

PRICE=`expr $RANDOM % 1000`

TIMES=0

while true

do

read -p “Enter:” INT

let TIMES++

if [ $INT -eq $PRICE ] 多重分支测试语句

then

echo “Congratulation , $TIMES”

exit

elif [ $INT -gt $PRICE ]

then

echo “High”

else

echo “Low”

fi

done

 

测试:

 

最终结果:

 

猜了11次。

【扩】自动把次数加一,记数用

let TIMES++

TIMES=$TIMES+1

i++

#!/bin/bash

read -p “Enter:” KEY

case $KEY in

  1. z]|[A-Z])

echo “Zimu”

;;

[0-9])

echo “Shuzi”

;;

*)

echo “Luanma”

esac

:wq!

 

 

设定时间重启服务器

# at 20:10

reboot

写完 ctrl+D 保存

# at -l 查看当前写好的计划任务

 

# at -c 1 查看计划任务的具体内容

(太长了,只截图开始部分) 

# atrm 1 删除+数字,删除第几个

# at -l

 

at命令为单次有效命令。

crond 服务名称

crontab 配置工具(自动纠错)

-e 编辑计划任务

-u 指定用户名称

# whereis reboot 查询路径位置

 

* * * * * /路径,  如:

30 1 15 5 7/usr/share/man/man2/reboot

如果不想写日期则:

30 1 * 5 7

不想写月份:

30 1 * * 7 代表每个周日都执行

如每天:

30 1-6 * * * 每天1点30、2点30、3点30、4点30、5点30

30 1,3,6 * * * 每天0点30、3点30、6点30分执行

*/2 * * * * 每隔两分钟执行一次计划任务

# crontab -e

23 20 * * * /usr/sbin/reboot 每天晚上8点23分重启服务器

# crontab -l 查看

 

# crontab -e 然后dd   删除

再查看,就没有了。

 

# systemctl status crond

running = 正在运行、生效的

# systemctl enable crond

# su - linxprobe

$ crontab -e -ui

$ crontab -e -ui zhangsan

回复:没有权限

root 管理自己和所有人

普通用户  只能管理自己

管理员 : root  UID:0  权限最大,可以管理硬件设备

系统用户 : 权限最小,比普通用户还小,不能管理其他日常工作

红帽5、6版本UID  为 1 - 499个

红帽7、8版本UID  为 1 - 999个

普通用户:

红帽5、6版本UID  为 500 - 65535个

红帽7、8版本UID  为 1000 - 无上限,

# id linuxprobe 看用户身份

 

用户名称 gid用户基本组 用户扩展组

生成用户时,就会有基本组 (与生俱来的),而扩展组是后加入的

-g修改基本组,-G修改扩展组

# groupadd company

# id linuxprobe

# usermod -G company linuxprobe

# id linuxprobe

 

(因为已经创建过compan组这里返回结果提示已经存在)

# useradd josh

# id josh

 

# useradd -u 88888 happy

# id happy

 

# useradd -s /sbin/nologin xiaoha

# su - xiaoha /sbin/nologin,毫无意义没有功能的

修改用户:

# usermod -u 66666 hayyp

# id happy

 

# useradd -s /sbin/nologin happy

# su - happy

root管理员可以改自己密码和其他人密码:

# passwd

输入两次

 

# passwd linuxprobe     修改别人,passwd 用户名

 

删除用户信息:

# cat /etc/passwd 查看

# userdel xiaoha 删除 + 用户名称

# id xiaoha 查看 + 用户

但是这样并没有删除干净

# cd /home

# ls 还能查到

 

# userdel -r happy

# id happy

# ls

 

通过配置文件新建/修改一个用户:

# vim /etc/passwd 查看保存的所有用户信息

进入编辑:

tooth:x:666:666:tooth:/home/tooth:/bin/bash

保存退出

 

# id tooth

 

编辑用户组:

# vim etc/group

tooth:x:666:

# id tooth

密码:

# vim /etc/shadow

可以直接用yy复制一行修改。 密码需要被加密。

# su - tooth

提示家目录不存在

$ exit 返回

# cp -a /etc/skel/ /home/tooth 复制过来

# id tooth

# su - tooth

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

原文地址: http://outofmemory.cn/zaji/5714824.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-18

发表评论

登录后才能评论

评论列表(0条)

保存