我想让用户使用我的rails应用程序的凭据login到sftp帐户。 如果我理解正确,我应该以某种方式使用PAM。 但是我没有find有关如何做到这一点的任何信息?
pam_exec可以使用外部程序validation密码。
你可以编写你自己的PAM模块。 但另一种解决scheme可能会更好。 在此查看示例PAM模块: http : //www.freebsd.org/doc/en/articles/pam/pam-sample-module.html
如果这个rails信息在mysql dbase中,你可以configurationpam_mysql。 有几乎所有的PAM模块。
这里有一个用于mysql的ftp:
session optional pam_keyinit.so force revoke auth required pam_listfile.so item=user sense=allow file=/etc/vsftpd/ftpusers onerr=fail auth sufficient pam_mysql.so user=virt_admin passwd=PASS host=localhost db=DBNAME table=TABLENAME usercolumn=USERNAMECOL passwdcolumn=PASSCOL crypt=3 auth required pam_shells.so auth include system-auth account sufficient pam_mysql.so user=virt_admin passwd=PASS host=localhost db=DBNAME table=TABLENAME usercolumn=USERNAMECOL passwdcolumn=PASSCOL crypt=3 account include system-auth session include system-auth session required pam_loginuid.so
您也可以运行一个脚本,将脚本定期转储到一个文件中,并使用pam_pwdfile。 有一些select。