是否有可能在我的FreeBSD 8.2服务器上实现build议的行为:
新的用户SSH到我的服务器。 他提供“login:”他的学生索引号和一个新的,locking的帐户创build与随机密码发送到他的[email protected]邮件作为身份validation方法。 在用这个密码login之后,账户被完全创build并激活/解锁,并且用户被要求/被迫改变新的密码。
我不完全确定没有黑客攻击是可能的。 如果可能的话,那肯定需要自己的PAMauthentication模块,并在/etc/pam.d/sshd链中input。 如果这是你想要的学术目的,这是一个很好的项目。
但是,如果你的目标是让学生轻松login,那么安装www/nginx并且将脚本粘贴在cgi-bin目录下,邮寄密码并创build帐户存在。 pw(8)具有用户账户validation和自动创build的所有设施。 对于学生来说,创build这个帐户同样容易,只要他们知道URL。
最简单的解决办法是让他们最初login到一个“studentsetup”帐户,该帐户提示他们根据他们的大学证书创build或重置一个Unix帐户/密码….并且不做任何其他事情。
只需设置“studentsetup”来启动一个shell脚本,而不是zsh,bash,tcsh或其他。 给“studentsetup”一些setuid根拷贝“/ bin / passwd”和“/ usr / bin / adduser”。 与任何安全的shell脚本一样,请小心引用和解释shell问题。
一个不同的,优雅的解决scheme是与学生可能已经存在的NT5(Win2k)基础结构进行互操作。 FreeBSD包含Kerberos。 虽然configuration对于新手来说并不容易。