V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Havee
V2EX  ›  问与答

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

  •  
  •   Havee · 2015-08-18 11:27:33 +08:00 · 1998 次点击
    这是一个创建于 3178 天前的主题,其中的信息可能已经有所发展或是发生改变。
    以前很简单,照着 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 还有什么可以用于虚拟用户的密码验证的?以及方法?
    7 条回复    2015-08-18 15:31:04 +08:00
    Havee
        1
    Havee  
    OP
       2015-08-18 11:53:09 +08:00
    另外,工具 htpasswd 需要 apache-tools ,而 apache-tools 与 apache 互斥
    而 gnome-shell 的某组件又依赖于 apache ,好吧,这不能赖 ArchLinux

    那么, pam 的维护者,为什么要 --disable-db 参数?
    erhandsome
        2
    erhandsome  
       2015-08-18 13:43:20 +08:00
    felixonmars
        3
    felixonmars  
       2015-08-18 13:58:53 +08:00   ❤️ 1
    因为长期目标是全局抛弃没有可发布+可维护版本的 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
        4
    Bardon  
       2015-08-18 14:54:12 +08:00
    @felixonmars 赞一个
    Havee
        5
    Havee  
    OP
       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
        6
    felixonmars  
       2015-08-18 15:09:29 +08:00
    囧, diff 打反了……麻烦改成:
    make PAM_LIB_DIR="$pkgdir/usr/lib/security" INSTALL=$(which install ) install
    Havee
        7
    Havee  
    OP
       2015-08-18 15:31:04 +08:00
    @felixonmars thanks, 解决, arch 目录结构变化了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   824 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 20:26 · PVG 04:26 · LAX 13:26 · JFK 16:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.