[Script] 脚本乱写I

Shell脚本乱写(一)

1. 自动新增用户并配置权限

要实现:

  • 读取参数:选定运行主机、用户名
  • 新建用户到组 usreadd -G
    • 为用户配置默认密码:centos中为用户配置默认密码可以使用passwd --stdin USERNAME,在脚本中可以使用echo "PASSWORD" | passwd --stdin USERNAME,但在Ubuntu中passwd并不支持--stdin,此时可以使用echo USERNAME:PASSWORD | chpasswd
    • 事先将用户组加入到/etc/sudoers
  • 用户首次登陆时提示需要修改密码,用户激活时限为2年 chage
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/bin/bash
# Program:
# Grand a new user with ROOT privileges.
#
# History:
# 2019/11/9 Fusidic First release
echo "Please input username"
read username
path='/root/bin/hosts'
cat /root/bin/hosts | while read line;do
echo $line
ssh -n $line "useradd ${username} -m -G AWG &"
ssh -n $line "echo "${username}:nuaacs204" | chpasswd &"
# ssh -n $line "chage -d 0 ${username} &"
done

遇到的问题:

  • while循环只执行一次,后添加了-n参数

  • 新建用户修改权限失败passwd: Authentication token manipulation error passwd: password unchanged,这是由于有权限改/etc/passwd而无权限修改/etc/shadow

  • 未解决:使用chage修改用户有效时间,以此达到让用户登陆账户立即强制改密码存在问题,改密码无效,可能是权限问题。

[Script] Hugo自动部署脚本更新

之前使用的脚本基本可以完成hugo的自动编译和push,但我的笔记基本都放在了移动硬盘中,因此需要脚本对移动硬盘中的笔记进行扫描,增量地进行更新。

阅读更多