看到这两天关于 Linux 讨论蛮多的,我也来问下 ArchLinux, vsftpd 虚拟用户的问题

2015-08-18 11:27:33 +08:00
 Havee
以前很简单,照着 wiki 跑就可以了,但是...

但是, pam 1.1.8-3 开始, ArchLinux 的包管理维护者居然 --disable-db。

于是 https://bugs.archlinux.org/task/38848 上一片哀悼声。

wiki 上推荐 pam_pwdfile 或 pam_mysql ,但是很不幸的是, pam_mysql 在 aur 上不存在, pam_pwdfile 不能安装...

我只是一个使用者,而不是 linux 生态的维护者,那么,除开 pam_pwdfile/pam_mysql 还有什么可以用于虚拟用户的密码验证的?以及方法?
2005 次点击
所在节点    问与答
7 条回复
Havee
2015-08-18 11:53:09 +08:00
另外,工具 htpasswd 需要 apache-tools ,而 apache-tools 与 apache 互斥
而 gnome-shell 的某组件又依赖于 apache ,好吧,这不能赖 ArchLinux

那么, pam 的维护者,为什么要 --disable-db 参数?
erhandsome
2015-08-18 13:43:20 +08:00
felixonmars
2015-08-18 13:58:53 +08:00
因为长期目标是全局抛弃没有可发布+可维护版本的 BerkeleyDB ,目前能禁用支持的地方都禁用支持了,如有不少组件可以用 gdbm/lmdb 代替 bdb 的功能;不能禁用的地方在和上游沟通改变,比如 libpinyin 新版已经支持用 kyotocabinet 代替 bdb 。

你说的 apache-tools/apache 的问题,编译 htpasswd 前修改 PKGBUILD 中的依赖即可。 apache-tools 是 apache 的一部分,逻辑上存在 provides 关系,只是因为前者处于 [unsupported] 而无法写明这种关系。

对于 libpam_pwdfile 的问题,修改 PKGBUILD 里 PAM_LIB_DIR 的路径,重新 makepkg 然后安装即可:

--- PKGBUILD 2015-08-18 13:52:51.141281280 +0800
+++ libpam_pwdfile/PKGBUILD 2015-08-12 22:35:02.000000000 +0800
@@ -24,6 +24,6 @@
package () {
cd "$srcdir/libpam-pwdfile-${pkgver}"

- make PAM_LIB_DIR="$pkgdir/usr/lib/security" INSTALL=$(which install ) install
+ make PAM_LIB_DIR="$pkgdir/lib/security" INSTALL=$(which install ) install
}
Bardon
2015-08-18 14:54:12 +08:00
@felixonmars 赞一个
Havee
2015-08-18 15:05:17 +08:00
@felixonmars 赞一个
我只是想说, aur pam_pwdfile 的 pkgbuild ,那一行本身就是
make PAM_LIB_DIR="$pkgdir/lib/security" INSTALL=$(which install ) install
felixonmars
2015-08-18 15:09:29 +08:00
囧, diff 打反了……麻烦改成:
make PAM_LIB_DIR="$pkgdir/usr/lib/security" INSTALL=$(which install ) install
Havee
2015-08-18 15:31:04 +08:00
@felixonmars thanks, 解决, arch 目录结构变化了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/213992

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX