{"id":7662,"date":"2025-12-08T16:07:55","date_gmt":"2025-12-08T08:07:55","guid":{"rendered":"https:\/\/www.5x44.cn\/?p=7662"},"modified":"2025-12-09T13:25:25","modified_gmt":"2025-12-09T05:25:25","slug":"%e9%ba%92%e9%ba%9f%e9%85%8d%e7%bd%aevsftp","status":"publish","type":"post","link":"https:\/\/www.5x44.cn\/?p=7662","title":{"rendered":"\u9e92\u9e9f\u914d\u7f6evsftp"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">\u5751\u70b91\uff1a\u4f7f\u7528pam_userdb.so\uff0c\u4f46\u662f\/var\/log\/secure\u4e00\u76f4\u63d0\u793a\u627e\u4e0d\u5230\u6587\u4ef6\uff0c\u65e0\u8bba\u5728pam\u4e2d\u662f\u5426\u6dfb\u52a0\u6269\u5c55\u540d\u90fd\u4e0d\u884c<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u67e5\u770bpam_userdb.so\u4f7f\u7528\u7684\u94fe\u63a5\u5e93\uff0c\u5982\u679c\u662fgdbm\u683c\u5f0f\u663e\u793a\u5982\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo ldd \/usr\/lib64\/security\/pam_userdb.so\n        linux-vdso.so.1 (0x00007fff34dba000)\n        <strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-light-green-cyan-color\">libgdbm<\/mark><\/strong>_compat.so.4 =&gt; \/usr\/lib64\/libgdbm_compat.so.4 (0x00007f6d68f68000)\n        libcrypt.so.1 =&gt; \/usr\/lib64\/libcrypt.so.1 (0x00007f6d68f28000)\n        libpam.so.0 =&gt; \/usr\/lib64\/libpam.so.0 (0x00007f6d68f16000)\n        libc.so.6 =&gt; \/usr\/lib64\/libc.so.6 (0x00007f6d68d69000)\n        libgdbm.so.6 =&gt; \/usr\/lib64\/libgdbm.so.6 (0x00007f6d68d59000)\n        libaudit.so.1 =&gt; \/usr\/lib64\/libaudit.so.1 (0x00007f6d68d20000)\n        libdl.so.2 =&gt; \/usr\/lib64\/libdl.so.2 (0x00007f6d68d19000)\n        \/lib64\/ld-linux-x86-64.so.2 (0x00007f6d68f99000)\n        libcap-ng.so.0 =&gt; \/usr\/lib64\/libcap-ng.so.0 (0x00007f6d68d11000)\n        libpthread.so.0 =&gt; \/usr\/lib64\/libpthread.so.0 (0x00007f6d68cf1000<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u89e3\u51b3\u65b9\u6cd5\uff1a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/blog.csdn.net\/qq_26102311\/article\/details\/129656279\">https:\/\/blog.csdn.net\/qq_26102311\/article\/details\/129656279<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u4f7f\u7528gdbmtool\u751f\u6210pag\u6269\u5c55\u540d\u7684\u6570\u636e\u5e93\uff08\u6269\u5c55\u540d\u5fc5\u987b\u662fpag\uff0c\u4e0d\u7136\u4f9d\u7136\u8bc6\u522b\u4e0d\u5230\uff09<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u53e6\u5916\uff1abdb\u683c\u5f0f\u663e\u793a\u5982\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ldd \/usr\/lib\/x86_64-linux-gnu\/security\/pam_userdb.so\n  linux-vdso.so.1 (0x00007ffe291fa000)\n  libdb-5.3.so =&gt; \/lib\/x86_64-linux-gnu\/libdb-5.3.so (0x00007f8345f5d000)\n  libcrypt.so.1 =&gt; \/lib\/x86_64-linux-gnu\/libcrypt.so.1 (0x00007f8345f23000)\n  libpam.so.0 =&gt; \/lib\/x86_64-linux-gnu\/libpam.so.0 (0x00007f8345f11000)\n  libc.so.6 =&gt; \/lib\/x86_64-linux-gnu\/libc.so.6 (0x00007f8345ce8000)\n  libaudit.so.1 =&gt; \/lib\/x86_64-linux-gnu\/libaudit.so.1 (0x00007f8345cba000)\n  \/lib64\/ld-linux-x86-64.so.2 (0x00007f834611b000)\n  libcap-ng.so.0 =&gt; \/lib\/x86_64-linux-gnu\/libcap-ng.so.0 (0x00007f8345cb0000)<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code># db_load -T -t hash -f vusers.txt vsftpd-virtual-user.db\n# chmod 600 vsftpd-virtual-user.db # make it not global readable\n# rm vusers.txt<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">PS: bdb\u683c\u5f0f\u5bc6\u7801\u6587\u672c(vusers.txt)\u662f\u4e00\u884c\u7528\u6237\u540d+\u4e00\u884c\u5bc6\u7801\u7ec4\u6210<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u5751\u70b92\uff1a500 OOPS: config file not owned by correct user, or not a file<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u67d0\u4e2avsftpd\u7684\u914d\u7f6e\u6587\u4ef6\u6240\u6709\u8005\u4e0d\u662froot\uff0c\u4e14\u9700\u8981\u6743\u9650\u4e3a600\uff1b\u8fd9\u91cc\u9700\u8981\u6ce8\u610f\u7684\u662f\u6240\u6709vsftpd\u7684\u914d\u7f6e\u6587\u4ef6\u90fd\u8981\u5982\u6b64\uff0c\u5c31\u8fde\u865a\u62df\u7528\u6237\u7684\u914d\u7f6e\u6587\u4ef6\u4e5f\u662f\u5982\u6b64\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>user_config_dir=\/ftp\/virtual\/config<br>virtual_use_local_privs=YES<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code># ftp01\u4e3a\u865a\u62df\u7528\u6237\nroot@local:\/ftp\/virtual\/config# cat ftp01\n#\u865a\u62df\u7528\u6237\u7684\u6839\u76ee\u5f55\nlocal_root=\/ftp\/virtual\/ftp01<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\u5751\u70b93\uff1a500 Illegal PORT command.<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>\u547d\u4ee4:\tPWD\n\u54cd\u5e94:\t257 \"\/\" is the current directory\n\u547d\u4ee4:\tTYPE I\n\u54cd\u5e94:\t200 Switching to Binary mode.\n\u547d\u4ee4:\tPASV\n\u54cd\u5e94:\t550 Permission denied.\n\u547d\u4ee4:\tPORT 192,168,1,93,157,12\n\u54cd\u5e94:\t500 Illegal PORT command.\n\u9519\u8bef:\t\u8bfb\u53d6\u76ee\u5f55\u5217\u8868\u5931\u8d25<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u8be5\u95ee\u9898\u662f\u7531\u4e8e\u670d\u52a1\u5668\u53d1\u73b0\u5ba2\u6237\u7aef\u4f7f\u7528\u7684Ip\u548c\u8fde\u63a5\u7684ip\u4e0d\u540c\uff0c\u800c\u4e14\u6ca1\u5f00\u542f\u88ab\u52a8\u6a21\u5f0f\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u89e3\u51b3\u65b9\u6cd5\uff1a\u540c\u65f6\u5f00\u542f\u4e3b\u88ab\u52a8\u6a21\u5f0f<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>pasv_enable=YES\npasv_min_port=40000\npasv_max_port=40100\nport_enable=YES<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">ps:\u670d\u52a1\u5668\u6709\u9632\u706b\u5899\u7684\u8bdd\u8981\u5f00\u542f\u88ab\u52a8\u7aef\u53e3\u8303\u56f4\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u5751\u70b91\uff1a\u4f7f\u7528pam_userdb.so\uff0c\u4f46\u662f\/var\/log\/secure\u4e00\u76f4\u63d0\u793a\u627e\u4e0d\u5230\u6587\u4ef6\uff0c\u65e0\u8bba\u5728pam\u4e2d\u662f\u5426\u6dfb\u52a0\u6269\u5c55\u540d\u90fd\u4e0d\u884c \u67e5\u770bpam_userdb.so&#8230;<\/p>\n<p class=\"read-more\"><a class=\"btn btn-default\" href=\"https:\/\/www.5x44.cn\/?p=7662\"> Read More<span class=\"screen-reader-text\">  Read More<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[],"class_list":["post-7662","post","type-post","status-publish","format-standard","hentry","category-it"],"_links":{"self":[{"href":"https:\/\/www.5x44.cn\/index.php?rest_route=\/wp\/v2\/posts\/7662","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.5x44.cn\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.5x44.cn\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.5x44.cn\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.5x44.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=7662"}],"version-history":[{"count":5,"href":"https:\/\/www.5x44.cn\/index.php?rest_route=\/wp\/v2\/posts\/7662\/revisions"}],"predecessor-version":[{"id":7670,"href":"https:\/\/www.5x44.cn\/index.php?rest_route=\/wp\/v2\/posts\/7662\/revisions\/7670"}],"wp:attachment":[{"href":"https:\/\/www.5x44.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=7662"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.5x44.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=7662"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.5x44.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=7662"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}