【发布时间】:2013-08-04 05:08:02
【问题描述】:
所以我有这所学校的文件服务器。基本上,每个学生都使用一个公共登录名来登录 windows 和 ubuntu。他们使用自定义应用程序使用自己的密码登录到 Samba Ubuntu Server 以访问他们的个人目录。有时,他们需要更改此登录的密码。我需要一种方法来更改某人的密码,该方法足够彻底,以便 bash 脚本可以为 samba smbpasswd 和 ubuntu 的 passwd 执行此操作。综上所述,我需要知道使用 bash 脚本在没有用户干预的情况下可以使用什么命令来更改某人的密码。因为当您输入 passwd 用户名时,它会要求您输入密码,我想要一个 bash 脚本来为我做这件事,所以当用户想要更改他们的密码时,我只需要编辑那个 bash 脚本。我正在寻找类似“passwd user --current-password=CURRENTPASS --new-password=NEWPASS”的东西,它会在那条线上返回。我还需要它为 smbpasswd 工作,这样 samba 也可以更改其密码。
编辑 找到了!哇,这很棒,我很早就知道了。使用以下命令有效:
echo -e "newpass\nnewpass" | (smbpasswd -s username)
echo -e "newpass\nnewpass" | (passwd --stdin username)
当然,如果您没有运行 root,您也需要添加旧密码。我喜欢解决自己的问题!
【问题讨论】:
-
这个问题似乎跑题了,因为它属于serverFault 或Unix & Linux
-
您在寻找
expect吗? -
对不起,我知道这是题外话。它已解决,但我似乎无法将其标记为...
标签: samba ubuntu-server