![Usermod Nologin 脚本](https://linux22.com/image/108759/Usermod%20Nologin%20%E8%84%9A%E6%9C%AC.png)
我很好奇有人会如何实现一个脚本来为 1-999 之间的所有非根系统帐户(以及任何确定的 uid 范围)提供 /usr/bin/nologin 或 /bin/false 。
我喜欢定期在机器上执行此操作(除了 rsync 和其他一些应用程序),但我手动执行此操作。也就是说,我为每个用户重复输入“usermod [用户名] -s /usr/bin/nologin”。
你会如何编写这个脚本?
答案1
awk -F: '{ if ($3 < 1000 && $3 != 0) print "chsh -s /bin/false " $1}' /etc/passwd
检查输出;如果内容:
awk -F: '{ if ($3 < 1000 && $3 != 0) print "chsh -s /bin/false " $1}' /etc/passwd | sh