{"id":1481,"date":"2015-01-15T00:10:45","date_gmt":"2015-01-14T15:10:45","guid":{"rendered":"http:\/\/tech.akat.info\/?p=1481"},"modified":"2015-01-15T00:10:45","modified_gmt":"2015-01-14T15:10:45","slug":"python-pyftpdlib","status":"publish","type":"post","link":"https:\/\/tech.akat.info\/?p=1481","title":{"rendered":"python-pyftpdlib"},"content":{"rendered":"<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\nroot@hostname:\/home\/shimizu# aptitude install python-pyftpdlib\r\n\u4ee5\u4e0b\u306e\u65b0\u898f\u30d1\u30c3\u30b1\u30fc\u30b8\u304c\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3055\u308c\u307e\u3059:\r\n  python-pyftpdlib\r\n...\r\nroot@hostname:\/home\/shimizu# cat ftp.py\r\nfrom pyftpdlib import ftpserver\r\n\r\nauthorizer = ftpserver.DummyAuthorizer()\r\nauthorizer.add_user('hoge_user', 'hoge_password', '\/home\/guest\/', perm=('elradfmw'))\r\nftp_handler = ftpserver.FTPHandler\r\nftp_handler.authorizer = authorizer\r\naddress = (&quot;49.212.204.46&quot;, 3000)\r\nftpd = ftpserver.FTPServer(address, ftp_handler)\r\nftpd.serve_forever()\r\n\r\nroot@hostname:\/home\/shimizu# python ftp.py\r\nStarting FTP server\r\n...\r\n<\/pre>\n<p>http:\/\/itpro.nikkeibp.co.jp\/members\/NNW\/NETHOT\/20030131\/1\/<br \/>\nhttp:\/\/atasatamatara.hatenablog.jp\/entry\/20120814\/1344940288<br \/>\nhttps:\/\/code.google.com\/p\/pyftpdlib\/wiki\/Tutorial<\/p>\n","protected":false},"excerpt":{"rendered":"<p>root@hostname:\/home\/shimizu# aptitude install python-pyftpdlib \u4ee5\u4e0b\u306e\u65b0\u898f\u30d1\u30c3\u30b1\u30fc\u30b8\u304c\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3055\u308c\u307e\u3059: python-pyftpdlib &#8230; roo [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[62],"tags":[],"_links":{"self":[{"href":"https:\/\/tech.akat.info\/index.php?rest_route=\/wp\/v2\/posts\/1481"}],"collection":[{"href":"https:\/\/tech.akat.info\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tech.akat.info\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tech.akat.info\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tech.akat.info\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1481"}],"version-history":[{"count":1,"href":"https:\/\/tech.akat.info\/index.php?rest_route=\/wp\/v2\/posts\/1481\/revisions"}],"predecessor-version":[{"id":1482,"href":"https:\/\/tech.akat.info\/index.php?rest_route=\/wp\/v2\/posts\/1481\/revisions\/1482"}],"wp:attachment":[{"href":"https:\/\/tech.akat.info\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1481"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tech.akat.info\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1481"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tech.akat.info\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1481"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}