{"id":18166,"date":"2014-01-23T06:08:13","date_gmt":"2014-01-22T22:08:13","guid":{"rendered":"https:\/\/2blog.ilc.edu.tw\/25793\/2014\/01\/23\/pure-ftpd-ftp-server-%e4%bd%bf%e7%94%a8-ldap-server-%e8%aa%8d%e8%ad%89\/"},"modified":"2014-01-23T06:08:13","modified_gmt":"2014-01-22T22:08:13","slug":"pure-ftpd-ftp-server-%e4%bd%bf%e7%94%a8-ldap-server-%e8%aa%8d%e8%ad%89","status":"publish","type":"post","link":"https:\/\/2blog.ilc.edu.tw\/25793\/2014\/01\/23\/pure-ftpd-ftp-server-%e4%bd%bf%e7%94%a8-ldap-server-%e8%aa%8d%e8%ad%89\/","title":{"rendered":"Pure-FTPd FTP Server \u4f7f\u7528 LDAP Server \u8a8d\u8b49"},"content":{"rendered":"<p>\u958b\u555f PureFTPd FTP Server\u00a0\u7684 LDAP\u00a0\u00a0\u8a2d\u5b9a<br \/># <span style=\"color: #ff0000;\">vim \/etc\/pure-ftpd\/pure-ftpd.conf<\/span><br \/><span style=\"color: #0000ff;\"># LDAP configuration file (see README.LDAP)<\/span><br \/><span style=\"color: #0000ff;\">LDAPConfigFile\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \/etc\/pure-ftpd\/pureftpd-ldap.conf<\/span><\/p>\n<p>\u4fee\u6539 \/etc\/pure-ftpd\/pureftpd-ldap.conf\u00a0\u8a2d\u5b9a<br \/># <span style=\"color: #ff0000;\">vim \/etc\/pure-ftpd\/pureftpd-ldap.conf<\/span><br \/><span style=\"color: #0000ff;\"># Optional : name of the LDAP server. Default : localhost<\/span><br \/><span style=\"color: #0000ff;\"># LDAP Server IP<\/span><br \/><span style=\"color: #0000ff;\">LDAPServer 192.168.154.167<\/span><\/p>\n<p><span style=\"color: #0000ff;\"># Optional : server port. Default : 389<\/span><br \/><span style=\"color: #0000ff;\"># LDAP Server\u00a0\u9023\u7dda Port<\/span><br \/><span style=\"color: #0000ff;\">LDAPPort\u00a0\u00a0 389<\/span><\/p>\n<p><span style=\"color: #0000ff;\"># Mandatory : the base DN to search accounts from. No default.<\/span><br \/><span style=\"color: #0000ff;\">LDAPBaseDN ou=Student,dc=ldap,dc=tces.ilc.edu.tw<\/span><\/p>\n<p><span style=\"color: #0000ff;\"># Optional : who we should bind the server as.<\/span><br \/><span style=\"color: #0000ff;\">#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Default : binds anonymously or binds as FTP users<\/span><br \/><span style=\"color: #0000ff;\">LDAPBindDN cn=Manager,dc=ldap,dc=tces.ilc.edu.tw<\/span><\/p>\n<p><span style=\"color: #0000ff;\"># Password if we don&#8217;t bind anonymously<\/span><br \/><span style=\"color: #0000ff;\"># This configuration file should be only readable by root<\/span><br \/><span style=\"color: #0000ff;\"># LDAP\u00a0\u7ba1\u7406\u8005\u5bc6\u78bc<\/span><br \/><span style=\"color: #0000ff;\">LDAPBindPW 123456<\/span><\/p>\n<p>\u91cd\u65b0\u555f\u52d5 PureFTPd FTP Server<br \/># <span style=\"color: #ff0000;\">service pure-ftpd restart<\/span><br \/><span style=\"color: #0000ff;\">\u6b63\u5728\u505c\u6b62 pure-ftpd\uff1a\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 [\u00a0 \u78ba\u5b9a\u00a0 ]<\/span><br \/><span style=\"color: #0000ff;\">\u6b63\u5728\u555f\u52d5 pure-ftpd\uff1a\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 [\u00a0 \u78ba\u5b9a\u00a0 ]<\/span><br \/>[@more@]<br \/>\u8981\u6e2c\u8a66\u7684\u5e33\u865f s0990499\u00a0\u548c s0990999<br \/># <span style=\"color: #ff0000;\">cat s0990t.ldif<\/span><br \/><span style=\"color: #0000ff;\">dn: uid=s0990499,ou=s0990,ou=Student,dc=ldap,dc=tces.ilc.edu.tw<\/span><br \/><span style=\"color: #0000ff;\">uid: s0990499<\/span><br \/><span style=\"color: #0000ff;\">cn: \u56db\u5fe001\u8521\u4e2d\u706b<\/span><br \/><span style=\"color: #0000ff;\">sn: \u56db\u5fe001\u8521\u4e2d\u706b<\/span><br \/><span style=\"color: #0000ff;\">mail: s0990499@tces.ilc.edu.tw<\/span><br \/><span style=\"color: #0000ff;\">objectClass: person<\/span><br \/><span style=\"color: #0000ff;\">objectClass: organizationalPerson<\/span><br \/><span style=\"color: #0000ff;\">objectClass: inetOrgPerson<\/span><br \/><span style=\"color: #0000ff;\">objectClass: posixAccount<\/span><br \/><span style=\"color: #0000ff;\">objectClass: top<\/span><br \/><span style=\"color: #0000ff;\">userPassword: {SSHA}xecUVfAyOlao7udDzLccUvf4fHOonjzN<\/span><br \/><span style=\"color: #0000ff;\">loginShell: \/sbin\/nologin<\/span><br \/><span style=\"color: #0000ff;\">uidNumber: 500<\/span><br \/><span style=\"color: #0000ff;\">gidNumber: 500<\/span><br \/><span style=\"color: #0000ff;\">homeDirectory: \/home\/s0990\/s0990499<\/span><br \/><span style=\"color: #0000ff;\">gecos: \u56db\u5fe001\u8521\u4e2d\u706b<\/span><\/p>\n<p><span style=\"color: #0000ff;\">dn: uid=s0990999,ou=s0990,ou=Student,dc=ldap,dc=tces.ilc.edu.tw<\/span><br \/><span style=\"color: #0000ff;\">uid: s0990999<\/span><br \/><span style=\"color: #0000ff;\">cn: \u56db\u5fe002\u9673\u5927\u6c34<\/span><br \/><span style=\"color: #0000ff;\">sn: \u56db\u5fe002\u9673\u5927\u6c34<\/span><br \/><span style=\"color: #0000ff;\">mail: s0990999@tces.ilc.edu.tw<\/span><br \/><span style=\"color: #0000ff;\">objectClass: person<\/span><br \/><span style=\"color: #0000ff;\">objectClass: organizationalPerson<\/span><br \/><span style=\"color: #0000ff;\">objectClass: inetOrgPerson<\/span><br \/><span style=\"color: #0000ff;\">objectClass: posixAccount<\/span><br \/><span style=\"color: #0000ff;\">objectClass: top<\/span><br \/><span style=\"color: #0000ff;\">userPassword: {SSHA}WqVy40LfOfoRV1KBwlJFPpfGNgnkIbtr<\/span><br \/><span style=\"color: #0000ff;\">loginShell: \/sbin\/nologin<\/span><br \/><span style=\"color: #0000ff;\">uidNumber: 500<\/span><br \/><span style=\"color: #0000ff;\">gidNumber: 500<\/span><br \/><span style=\"color: #0000ff;\">homeDirectory: \/home\/s0990\/s0990999<\/span><br \/><span style=\"color: #0000ff;\">gecos: \u56db\u5fe002\u9673\u5927\u6c34<\/span><\/p>\n<p>\u532f\u5165 LDAP\u00a0\u8cc7\u6599<br \/># <span style=\"color: #ff0000;\">service slapd stop<\/span><br \/>#<span style=\"color: #ff0000;\"> \/usr\/sbin\/slapadd -l s0990t.ldif<\/span><br \/># <span style=\"color: #ff0000;\">chown -R ldap:ldap \/var\/lib\/ldap<\/span><br \/># <span style=\"color: #ff0000;\">service slapd start<\/span><\/p>\n<p>\u641c\u5c0b LDAP\u00a0\u8cc7\u6599\u5eab\u662f\u5426\u6709\u52a0\u5165\u7684\u8cc7\u6599<br \/># <span style=\"color: #ff0000;\">ldapsearch -x -b &#8220;ou=Student,dc=ldap,dc=tces.ilc.edu.tw&#8221; uid=s0990999 | php \/root\/utf8ldif.php<\/span><\/p>\n<p><span style=\"color: #0000ff;\"># extended LDIF<\/span><br \/><span style=\"color: #0000ff;\">#<\/span><br \/><span style=\"color: #0000ff;\"># LDAPv3<\/span><br \/><span style=\"color: #0000ff;\"># base &lt;ou=Student,dc=ldap,dc=tces.ilc.edu.tw&gt; with scope subtree<\/span><br \/><span style=\"color: #0000ff;\"># filter: uid=s0990999<\/span><br \/><span style=\"color: #0000ff;\"># requesting: ALL<\/span><br \/><span style=\"color: #0000ff;\">#<\/span><\/p>\n<p><span style=\"color: #0000ff;\"># s0990999, s0990, Student, ldap.tces.ilc.edu.tw<\/span><br \/><span style=\"color: #0000ff;\">dn: uid=s0990999,ou=s0990,ou=Student,dc=ldap,dc=tces.ilc.edu.tw<\/span><br \/><span style=\"color: #0000ff;\">uid: s0990999<\/span><br \/><span style=\"color: #0000ff;\">cn: \u56db\u5fe002\u9673\u5927\u6c34<\/span><br \/><span style=\"color: #0000ff;\">sn: \u56db\u5fe002\u9673\u5927\u6c34<\/span><br \/><span style=\"color: #0000ff;\">mail: s0990999@tces.ilc.edu.tw<\/span><br \/><span style=\"color: #0000ff;\">objectClass: person<\/span><br \/><span style=\"color: #0000ff;\">objectClass: organizationalPerson<\/span><br \/><span style=\"color: #0000ff;\">objectClass: inetOrgPerson<\/span><br \/><span style=\"color: #0000ff;\">objectClass: posixAccount<\/span><br \/><span style=\"color: #0000ff;\">objectClass: top<\/span><br \/><span style=\"color: #0000ff;\">userPassword: {SSHA}WqVy40LfOfoRV1KBwlJFPpfGNgnkIbtr<\/span><br \/><span style=\"color: #0000ff;\">loginShell: \/sbin\/nologin<\/span><br \/><span style=\"color: #0000ff;\">uidNumber: 500<\/span><br \/><span style=\"color: #0000ff;\">gidNumber: 500<\/span><br \/><span style=\"color: #0000ff;\">homeDirectory: \/home\/s0990\/s0990999<\/span><br \/><span style=\"color: #0000ff;\">gecos: \u56db\u5fe002\u9673\u5927\u6c34<\/span><\/p>\n<p><span style=\"color: #0000ff;\"># search result<\/span><br \/><span style=\"color: #0000ff;\">search: 2<\/span><br \/><span style=\"color: #0000ff;\">result: 0 Success<\/span><\/p>\n<p><span style=\"color: #0000ff;\"># numResponses: 2<\/span><br \/><span style=\"color: #0000ff;\"># numEntries: 1<\/span><\/p>\n<p>\u5efa\u7acb\u4f7f\u7528\u8005\u865b\u64ec\u76ee\u9304<br \/># <span style=\"color: #ff0000;\">vim mkuserdir.awk<\/span><br \/><span style=\"color: #0000ff;\"># \u5efa\u7acb\u4f7f\u7528\u8005\u76ee\u9304<\/span><br \/><span style=\"color: #0000ff;\">{print &#8220;mkdir -p \/home\/&#8221;$6&#8243;\/&#8221;$4 }<\/span><br \/><span style=\"color: #0000ff;\"># \u66f4\u6539\u6a94\u6848\u76ee\u9304\u7684\u6240\u5c6c\u64c1\u6709\u8005\u53ca\u7fa4\u7d44<\/span><br \/><span style=\"color: #0000ff;\">{print &#8220;chown -R\u00a0 500:500\u00a0 \/home\/&#8221;$6&#8243;\/&#8221;$4&#8243; &#8221; }<\/span><\/p>\n<p>\u6e2c\u8a66<br \/># <span style=\"color: #ff0000;\">awk -f mkuserdir.awk 102_class41.lst<\/span><br \/><span style=\"color: #0000ff;\">mkdir -p \/home\/s0990\/s0990499<\/span><br \/><span style=\"color: #0000ff;\">chown -R\u00a0 500:500\u00a0 \/home\/s0990\/s0990499<\/span><br \/><span style=\"color: #0000ff;\">mkdir -p \/home\/s0990\/s0990999<\/span><br \/><span style=\"color: #0000ff;\">chown -R\u00a0 500:500\u00a0 \/home\/s0990\/s0990999<\/span><\/p>\n<p>\u4f7f\u7528\u65b9\u5f0f<br \/># <span style=\"color: #ff0000;\">awk -f mkuserdir.awk 102_class41.lst\u00a0 | sh<\/span><\/p>\n<p>\u6e2c\u8a66<br \/># <span style=\"color: #ff0000;\">lftp -u s0990999 localhost<\/span><br \/><span style=\"color: #0000ff;\">\u5bc6\u78bc\uff1a<\/span><br \/><span style=\"color: #0000ff;\">lftp s0990999@localhost:~&gt; ls -l<\/span><br \/><span style=\"color: #0000ff;\">drwxr-xr-x\u00a0\u00a0\u00a0 2 500\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 virtualgrp\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 4096 Jan\u00a0 2 10:58 .<\/span><br \/><span style=\"color: #0000ff;\">drwxr-xr-x\u00a0\u00a0\u00a0 2 500\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 virtualgrp\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 4096 Jan\u00a0 2 10:58 ..<\/span><br \/><span style=\"color: #0000ff;\">lftp s0990999@localhost:\/&gt;<\/span><\/p>\n<p>\u5982\u679c\u7cfb\u7d71\u6709\u4f7f\u7528 SELinux\uff0c\u8981\u8a18\u5f97\u628a\u5bb6\u76ee\u9304\u7684\u529f\u80fd\u6253\u958b<br \/># <span style=\"color: #ff0000;\">setsebool -P ftp_home_dir 1<\/span><br \/># <span style=\"color: #ff0000;\">setsebool -P allow_ftpd_full_access=1<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u958b\u555f PureFTPd FTP Server\u00a0\u7684 LDAP\u00a0\u00a0\u8a2d\u5b9a# vim \/etc\/pure-ftpd\/p &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/2blog.ilc.edu.tw\/25793\/2014\/01\/23\/pure-ftpd-ftp-server-%e4%bd%bf%e7%94%a8-ldap-server-%e8%aa%8d%e8%ad%89\/\" class=\"more-link\">\u95b1\u8b80\u5168\u6587<span class=\"screen-reader-text\">\u3008Pure-FTPd FTP Server \u4f7f\u7528 LDAP Server \u8a8d\u8b49\u3009<\/span><\/a><\/p>\n","protected":false},"author":55,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[130,115],"tags":[],"class_list":["post-18166","post","type-post","status-publish","format-standard","hentry","category-c-78475","category-c-78460"],"meta_key":{"_encloseme":["1"],"lt_post_id":["469105"]},"_links":{"self":[{"href":"https:\/\/2blog.ilc.edu.tw\/25793\/wp-json\/wp\/v2\/posts\/18166"}],"collection":[{"href":"https:\/\/2blog.ilc.edu.tw\/25793\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/2blog.ilc.edu.tw\/25793\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/2blog.ilc.edu.tw\/25793\/wp-json\/wp\/v2\/users\/55"}],"replies":[{"embeddable":true,"href":"https:\/\/2blog.ilc.edu.tw\/25793\/wp-json\/wp\/v2\/comments?post=18166"}],"version-history":[{"count":0,"href":"https:\/\/2blog.ilc.edu.tw\/25793\/wp-json\/wp\/v2\/posts\/18166\/revisions"}],"wp:attachment":[{"href":"https:\/\/2blog.ilc.edu.tw\/25793\/wp-json\/wp\/v2\/media?parent=18166"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/2blog.ilc.edu.tw\/25793\/wp-json\/wp\/v2\/categories?post=18166"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/2blog.ilc.edu.tw\/25793\/wp-json\/wp\/v2\/tags?post=18166"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}