【发布时间】:2014-07-16 03:43:07
【问题描述】:
作为尝试在我的 root ssh 会话中实施安全措施的一部分,我正在尝试设计一种在 root 用户登录 n 秒后启动脚本的方法,并更改用户密码并自动注销用户。
我一直在尝试静默更改密码。我有以下代码:
echo -e "new\nnew" | passwd -q
这不是像手册页中提到的那样“悄悄地”更改密码,而是输出:
~/php-pastebin-v3 #echo -e "new\nnew" | passwd -q
Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully
这没有多大帮助。
我尝试管道化 stdout 和 stderr,但我认为我误解了管道化。
~/php-pastebin-v3 #echo -e "new\nnew" | passwd -q > /dev/null
Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully
~/php-pastebin-v3 #echo -e "new\nnew" | passwd -q /dev/null 2>&1
passwd: user '/dev/null' does not exist
通过脚本悄悄地更改密码的正确方法是什么?
【问题讨论】:
-
试试
echo -e "new\nnew" | passwd -q 2>&1 /dev/null -
@Blender,这给了我:“密码:用户 '/dev/null' 不存在”
-
这真的安全或有用吗?
-
@ColonelPanic 想法是除非启动脚本的进程在n秒内终止,否则将未授权用户踢出系统,删除authorized_keys,只能使用新密码登录。所以很有用。关于secure..bash 脚本不是很安全,是吗? :)
标签: linux bash shell unix passwd