FTPã§å€éšé£æºããããã®ããã°ã©ã ãéçºããéã«ãæ¥ç¶å
ã®FTPãµãŒãã®æºåã«å°ãå ŽåããããŸãã
ããã§ã¯ãWidnwos10äžã«éçºã»æ€èšŒçšã®FTPãµãŒããæ§ç¯ããããã®æé ã説æããŸãã
ãIIS(FTPãµãŒã)ã®ã€ã³ã¹ããŒã«ãã§IISãã€ã³ã¹ããŒã«åŸãçšéã«å¿ããŠãèªèšŒãå¿
èŠãªFTPãµã€ãã®æ§ææ¹æ³ããŸãã¯ãå¿åã¢ã¯ã»ã¹ãå¯èœãªFTPãµã€ãã®æ§ææ¹æ³ãã宿œããŠãã ããã
åæ
- éçºè ãWindows10ã䜿çšããŠããããã®ç°å¢ã§FTPã䜿çšããã¢ããªã±ãŒã·ã§ã³ãéçºããæ³å®ãããŠããŸããéçºè èªèº«ãèªç±ã«FTPãµãŒããæäœã§ããããããŒã«ã«ã«ãFTPãµãŒããæ§ç¯ããåæãšãªããŸãã
- äŒæ¥ã«ãã£ãŠã¯ãå€éšããã®ãœãããŠã§ã¢ã®ããŠã³ããŒããã€ã³ã¹ããŒã«ãçŠæ¢ãããŠããå ŽåããããŸãããã®ãããªå¶çŽãåããªãããã«ããããã«ãWindowsã®æšæºã³ã³ããŒãã³ãã«å«ãŸããIISã䜿çšããŸãã
- ããŒã«ã«ã®ããã°ã©ã ããFTPæ¥ç¶ããæ³å®ã§ãããããå€éšããã®FTPæäœãè¡ããããªèšå®ã¯èæ ®ããŠããŸãããå€éšããFTPæäœãè¡ãããå ŽåãWindows Firewallã®èšå®ããã€ã³ãã¢ãã¬ã¹ã®å€æŽãå¿ èŠã«ãªãå ŽåããããŸãã
IIS(FTPãµãŒã)ã®ã€ã³ã¹ããŒã«
- [ã³ã³ãããŒã«ããã«]-[ã·ã¹ãã ãšã»ãã¥ãªãã£]-[ããã°ã©ã ]-[Windowsã®æ©èœã®æå¹åãŸãã¯ç¡å¹å]ãã¯ãªãã¯ããã
- 衚瀺ããã[Windowsã®æ©èœ]ãŠã€ã³ããŠã§ã[ã€ã³ã¿ãŒããã ã€ã³ãã©ãŒã¡ãŒã·ã§ã³ ãµãŒãã¹]ãéãã[FTPãµãŒããŒ]ãš[Web管çããŒã«]ããã§ãã¯ãã[OK]ãã¯ãªãã¯ããããã®åŸãã€ã³ã¹ããŒã«ãå®äºãããŸã§åŸ
ã€ããåèã[FTPãµãŒããŒ]ã«å«ãŸãã[FTPæ¡åŒµ]ã¯ããŠãŒã¶ç¬èªã®èªèšŒïŒèªå¯ãéçºããå Žåã«äœ¿çšããã³ã³ããŒãã³ãã§ãã詳现ã¯ãã¡ããåç §ã®ããšã
èªèšŒãå¿ èŠãªFTPãµã€ãã®æ§ææ¹æ³
æ¥ç¶çšãŠãŒã¶ãäœæåŸã«ãèªèšŒãå¿ èŠãªFTPãµã€ããæ§æããæ¥ç¶çšãŠãŒã¶ã䜿ã£ãŠåäœã確èªããŸãã
æ¥ç¶çšãŠãŒã¶ã®äœæ
ãã¡ã€ã³ãŠãŒã¶ãå©çšããããšãã§ããããã§ãããããã§ã¯ããŒã«ã«PCäžã®WindowsãŠãŒã¶ãäœæããŸãã
以éã§ã¯ãftpuser1ãšãããŠãŒã¶ãäœæããå Žåã®æé äŸã§ãã
- ã³ãã³ãããã³ãããŸãã¯PowerShellã管çè æš©éã§èµ·åããã
- 次ã®ããã«net/wmicã³ãã³ãã§ãŠãŒã¶ãäœæããã12345PS > net user ftpuser1 mypassword /add /fullname:"ftpuser1"ã³ãã³ãã¯æ£åžžã«çµäºããŸãããPS > wmic useraccount where "NAME='ftpuser1'" set PasswordExpires=false'....Domain="myserver",Name="ftpuser1"' ã®ããããã£ãæŽæ°ããŠããŸãããããã£ã¯æ£ããæŽæ°ãããŸãããå¯èœãªéãäžèšã®GUIãšåããŠãŒã¶å±æ§ãèšå®ããããããfullnameãªãã·ã§ã³çãéžæããŠããŸããnet userã³ãã³ãã§[ãã¹ã¯ãŒããç¡æéã«ããããèšå®ããã«ã¯ã”/EXPIRES:NEVER”ãæå®ããã°è¯ãããã«èŠããŸãããããã¯ã¢ã«ãŠã³ãã®æå¹æéãèšå®ãããªãã·ã§ã³ã§ããããŠãŒã¶äœæåŸã«GUIã§ç¢ºèªããŠããã§ãã¯ã¯å ¥ã£ãŠããŸãããïŒè©³çްã¯MSã®ãªãã¡ã¬ã³ã¹ãåç §ã®ããšã”/EXPIRES”ãªãã·ã§ã³ã®èª¬æãšããŠã”Causes the user account to expire if you specify the date”ãšãããŸããïŒ
ãã¹ã¯ãŒãã®æå¹æéãèšå®ããã«ã¯wmicã䜿ãããã§ãã
- [ã¹ã¿ãŒãã¡ãã¥ãŒ]å³ã¯ãªãã¯-[ã³ã³ãã¥ãŒã¿ãŒã®ç®¡ç]ãã¯ãªãã¯ããã
- [ã³ã³ãã¥ãŒã¿ãŒã®ç®¡ç]-[ããŒã«ã«ãŠãŒã¶ãŒãšã°ã«ãŒã]-[ãŠãŒã¶ãŒ]ãå³ã¯ãªãã¯ãã[æ°ãããŠãŒã¶ãŒ]ãã¯ãªãã¯ããã
- ãŠãŒã¶æ
å ±ãå
¥åãã[OK]ãã¯ãªãã¯ããã
éçºçšãŠãŒã¶ã§ãããã[ãŠãŒã¶ãŒã¯æ¬¡åãã°ã€ã³æã«ãã¹ã¯ãŒãã®å€æŽãå¿ èŠ]ã®ãã§ãã¯ãå€ãã[ãã¹ã¯ãŒããç¡æéã«ãã]ããã§ãã¯ããã
FTPãµã€ãã®æ§æ
èªèšŒããããŠãŒã¶ããã¡ã€ã«ãã¢ããããŒãã»ããŠã³ããŒãã§ãããµã€ããæ§æããŸãã
- [ã³ã³ãããŒã« ããã«]-[ã·ã¹ãã ãšã»ãã¥ãªãã£]-[管çããŒã«]ãéãã[ã€ã³ã¿ãŒããã ã€ã³ãã©ã¡ãŒã·ã§ã³ ãµãŒãã¹ (IIS) ãããŒãžã£ãŒ]ãããã«ã¯ãªãã¯ããã
ïŒãŸãã¯ãWindows+Rãã”inetmgr”ãå ¥åããŠèµ·åã§ããŸããïŒ - [æ¥ç¶]ã¿ãã§[ãµã€ã]ãå³ã¯ãªãã¯ãã[FTPãµã€ãã®è¿œå …]ãã¯ãªãã¯ããŸãã
- FTPãµã€ãåãšç©çãã©ã«ããæå®ããã
- ãã€ã³ããšSSLã®èšå®ãæå®ããã
ä»åãSSLãæå®ããäºå®ã¯ãªãã®ã§[ç¡ã]ãæå®ããã - èªèšŒãšæ¿èª(èªèšŒãšèªå¯)ã®èšå®ãæå®ããã
[èªèšŒ]ã¯[åºæ¬]ããã§ãã¯ããã[ã¢ã¯ã»ã¹èš±å¯]ã§ã¯[ãã¹ãŠã®ãŠãŒã¶ãŒ]ãæå®ãããå®éçšã®FTPãµãŒãã§ããã°ã¢ã¯ã»ã¹å¯èœãªãŠãŒã¶ãå¶éãã¹ãã§ãããä»åã¯éçºçšãªã®ã§ãããã§è¯ããšããŸãã - åäœç¢ºèªçšã®èªã¿æžãå¯èœãªãã©ã«ããäœæããã
äžèšäŸã¯ãèªèšŒããããŠãŒã¶ã§å ±éã®ãã©ã«ãtmpã䜿çšããæ³å®ã§ãããèªèšŒããããŠãŒã¶ã«å¯ŸããŠãã«ã³ã³ãããŒã«ãä»äžããã - ã³ãã³ãããã³ãããPowerShellã«ãŠãftpã³ãã³ãã§åäœç¢ºèªãè¡ããŸãã12345678910111213141516171819202122232425262728C:\Users\test>ftp localhostmyserver ã«æ¥ç¶ããŸããã220 Microsoft FTP Service200 OPTS UTF8 command successful - UTF8 encoding now ON.ãŠãŒã¶ãŒ (myserver:(none)): ftpuser1331 Password requiredãã¹ã¯ãŒã:230 User logged in.ftp> ls200 EPRT command successful.125 Data connection already open; Transfer starting.tmp226 Transfer complete.ftp: 8 ãã€ããåä¿¡ãããŸãã 0.00ç§ 8000.00KB/ç§ãftp> cd tmp250 CWD command successful.ftp> put test.txt200 EPRT command successful.125 Data connection already open; Transfer starting.226 Transfer complete.ftp: 14 ãã€ããéä¿¡ãããŸãã 0.00ç§ 14.00KB/ç§ãftp> get test.txt test2.txt200 EPRT command successful.125 Data connection already open; Transfer starting.226 Transfer complete.ftp: 14 ãã€ããåä¿¡ãããŸãã 0.00ç§ 14000.00KB/ç§ãftp> quit221 Goodbye.
ãŠãŒã¶æ¯ã®ããŒã ãã£ã¬ã¯ããªã䜿çšããå Žå
æ¥åèŠä»¶ããã¹ãçã®ç®çã§ããŠãŒã¶æ¯ã«ç°ãªãããŒã ãã£ã¬ã¯ããªã䜿çšïŒå¥ã®ãŠãŒã¶ã®ãã£ã¬ã¯ããªã¯åç
§ã§ããªãïŒããã«ãããå ŽåããããŸãã
ããã¯ãIISã®ãFTPãŠãŒã¶ã®åé¢ã(FTP User Isolation)ãšããæ©èœã䜿ã£ãŠå®çŸã§ããŸãããã®æ©èœã§ããŠãŒã¶ãåé¢ããããã«ããã€ãã®ã¢ãŒããéžæã§ãããã®ã¢ãŒãããŠãŒã¶ã®çš®å¥ã«ãã£ãŠããŒã ãã£ã¬ã¯ããªãæé»çã«æ±ºãŸãä»çµã¿ã«ãªã£ãŠããŸããè©³çŽ°ã¯æ¬ç¯æåŸã«ãããåèããã芧ãã ããã
- IISãããŒãžã£ã®FTPãµã€ãããŒã ã§ã[FTPãŠãŒã¶ãŒã®åé¢]ãããã«ã¯ãªãã¯ããã
- [ãŠãŒã¶ãŒåãã£ã¬ã¯ããª]ãéžæããã
- ããŒã ãã£ã¬ã¯ããªãäœæããã
FTPãµã€ãã®ç©çãã¹ã®çŽäžã«ãåãŠãŒã¶çšã®ããŒã ãã£ã¬ã¯ããªãæ ŒçŽããããã®LocalUserãã©ã«ã(C:\inetpub\ftproot\LocalUser)ãäœæããã
ãŸããã®çŽäžã«ããã°ã€ã³ãŠãŒã¶ãŒåãšååã®ãã©ã«ããäœæããã¢ã¯ã»ã¹èš±å¯ãèšå®ãããäžèšäŸã§ã¯ãã«ã³ã³ãããŒã«ãèšå®ããŠããã - åååæ§ã«ã³ãã³ãããã³ãããPowerShellã«ãŠãftpã³ãã³ãã§åäœç¢ºèªãè¡ããŸãã1234567891011121314151617181920212223242526PS C:\Users\test> ftp localhostmyserver ã«æ¥ç¶ããŸããã220 Microsoft FTP Service200 OPTS UTF8 command successful - UTF8 encoding now ON.ãŠãŒã¶ãŒ (myserver:(none)): ftpuser1331 Password requiredãã¹ã¯ãŒã:230 User logged in.ftp> dir200 EPRT command successful.125 Data connection already open; Transfer starting.226 Transfer complete.ftp> pwd257 "/" is current directory.ftp> put test.txt200 EPRT command successful.125 Data connection already open; Transfer starting.226 Transfer complete.ftp: 14 ãã€ããéä¿¡ãããŸãã 0.00ç§ 14000.00KB/ç§ãftp> get test.txt test2.txt200 EPRT command successful.125 Data connection already open; Transfer starting.226 Transfer complete.ftp: 14 ãã€ããåä¿¡ãããŸãã 0.00ç§ 14000.00KB/ç§ãftp> quit221 Goodbye.
FTPãŠãŒã¶åé¢ãšã¯ããŠãŒã¶ã«ããã¢ã¯ã»ã¹å
ããŠãŒã¶ãã£ã¬ã¯ããªã«éå®ããæ©èœã§ããããã®æ©èœãæå¹ãªå Žåãå¥ã®ãã°ã€ã³ãŠãŒã¶ã®ãã£ã¬ã¯ããªãåç
§ã§ããªããªããŸããFTPãŠãŒã¶åé¢ã®å
¬åŒãªãã¡ã¬ã³ã¹ã¯ãã¡ãã§ãã
FTPãŠãŒã¶åé¢ã«ã¯ããã€ãã®ã¢ãŒãããããŸããGUIäžã®ãŠãŒã¶åé¢ã¢ãŒããšããªãã¡ã¬ã³ã¹ã®ã¢ãŒãã®å¯Ÿå¿ã¯æ¬¡ã®éããïŒGUIã§ã¢ãŒãã倿Žãã”C:\Windows\System32\inetsrv\Config\applicationHost.config”ã®userIsolationèŠçŽ ãã©ãå€ãããæ€èšŒããçµæã§ããïŒ
åé¡ | GUIã®ã¢ãŒãè¡šèš | ãªãã¡ã¬ã³ã¹ã®ã¢ãŒãè¡šèš |
---|---|---|
ãŠãŒã¶ãåé¢ããªã | FTPã«ãŒããã£ã¬ã¯ã㪠| None |
ãŠãŒã¶ãŒåãã£ã¬ã¯ã㪠| StartInUsersDirectory | |
ãŠãŒã¶ãåé¢ãã | ãŠãŒã¶ãŒåãã£ã¬ã¯ã㪠(ã°ããŒãã«ãªä»®æ³ãã£ã¬ã¯ããªãç¡å¹ã«ããŸã) | IsolateAllDirectories |
ãŠãŒã¶ãŒåç©çãã£ã¬ã¯ã㪠(ã°ããŒãã«ãªä»®æ³ãã£ã¬ã¯ããªãæå¹ã«ããŸã) | IsolateRootDirectoryOnly | |
ActiveDirectoryã§æ§æãããFTPããŒã ãã£ã¬ã¯ã㪠| ActiveDirectory (æªæ€èšŒ) | |
ã«ã¹ã¿ã | Custom (æªæ€èšŒ) |
ãŠãŒã¶åé¢ã¢ãŒããIsolateRootDirectoryOnlyãŸãã¯IsolateAllDirectories)ãã®å Žåãç©çã»ä»®æ³ãã£ã¬ã¯ããªã¯æ¬¡ã®éå±€ã«ããå¿ èŠããããšã®ããšãä»åã®å ŽåãIsolateAllDirectoriesã¢ãŒããäœ¿ãæ³å®ã§ãããèªèšŒå¯Ÿè±¡ã¯WindowsããŒã«ã«ãŠãŒã¶(“Local Windows user accounts”)ã§ããããããŠãŒã¶ã®ããŒã ãã£ã¬ã¯ããªã¯”%FtpRoot%\LocalUser\%UserName%”ã«ãªããŸããïŒ2019幎12ææç¹ã§ã”%FtpRoot%\LocalUser%UserName%”ãšãããŸããã”%FtpRoot%\LocalUser\%UserName%”ã®ééããšæãããŸããïŒ
å¿åã¢ã¯ã»ã¹ãå¯èœãªFTPãµã€ãã®æ§ææ¹æ³
å¿åãŠãŒã¶(anonymous)ã§ãã°ã€ã³ãããã¡ã€ã«ãããŠã³ããŒãã§ããFTPãµã€ããæ§æããŸãã
ïŒå¿åãŠãŒã¶ãæžã蟌ã¿å¯èœã ãšã»ãã¥ãªãã£çã«åé¡ãããã®ã§ãèªã¿åãã®ã¿å¯èœãªæ§æãåæãšããŸããïŒ
FTPãµã€ãã®æ§æ
- [ã³ã³ãããŒã« ããã«]-[ã·ã¹ãã ãšã»ãã¥ãªãã£]-[管çããŒã«]ãéãã[ã€ã³ã¿ãŒããã ã€ã³ãã©ã¡ãŒã·ã§ã³ ãµãŒãã¹ (IIS) ãããŒãžã£ãŒ]ãããã«ã¯ãªãã¯ããã
ïŒãŸãã¯ãWindows+Rãã”inetmgr”ãå ¥åããŠèµ·åã§ããŸããïŒ - [æ¥ç¶]ã¿ãã§[ãµã€ã]ãå³ã¯ãªãã¯ãã[FTPãµã€ãã®è¿œå …]ãã¯ãªãã¯ããŸãã
- FTPãµã€ãåãšç©çãã©ã«ããæå®ããã
- ãã€ã³ããšSSLã®èšå®ãæå®ããã
ä»åãSSLãæå®ããäºå®ã¯ãªãã®ã§[ç¡ã]ãæå®ããã - èªèšŒãšæ¿èª(èªèšŒãšèªå¯)ã®èšå®ãæå®ããã
[èªèšŒ]ã¯[å¿å]ããã§ãã¯ããã
[ã¢ã¯ã»ã¹èš±å¯]ã§ã¯[ãã¹ãŠã®ãŠãŒã¶ãŒ]ãæå®ããã - ã³ãã³ãããã³ãããPowerShellã«ãŠãftpã³ãã³ãã§åäœç¢ºèªãè¡ããŸãã
ãŠãŒã¶åã«ã¯”anonymous”ããã¹ã¯ãŒãã¯ä»»æïŒç©ºã§ãè¯ãïŒãæå®ããŸãã123456789101112131415161718192021222324252627C:\Users\test>ftp localhostmyserverã«æ¥ç¶ããŸããã220 Microsoft FTP Service200 OPTS UTF8 command successful - UTF8 encoding now ON.ãŠãŒã¶ãŒ (myserver:(none)): anonymous331 Anonymous access allowed, send identity (e-mail name) as password.ãã¹ã¯ãŒã:230 User logged in.ftp> ls200 EPRT command successful.125 Data connection already open; Transfer starting.readme.txt226 Transfer complete.ftp: 15 ãã€ããåä¿¡ãããŸãã 0.00ç§ 15000.00KB/ç§ãftp> get readme.txt200 EPRT command successful.125 Data connection already open; Transfer starting.226 Transfer complete.ftp: 12 ãã€ããåä¿¡ãããŸãã 0.00ç§ 12000.00KB/ç§ãftp> put test.txt200 EPRT command successful.550-Access is denied.Win32 error: Access is denied.Error details: File system denied the access.550 Endftp> quit221 Goodbye.
å¿åã¢ã¯ã»ã¹ã«æžã蟌ã¿ãèš±å¯ããå Žå
ãã®ãããªæ¡ä»¶ã®ã¢ã¯ã»ã¹ã¯äžè¬çã«èãã¥ããããæ¬¡ã®ããã«FTPãµã€ãã®ãã£ã¬ã¯ããª(C:\inetpub\wwwroot)ã«ãå¿åã¢ã¯ã»ã¹çšãŠãŒã¶(æ¢å®ã§ã¯IUSR)ã倿Žã§ããæš©éããä»äžããããšã§å®çŸã§ããã
å¿åã¢ã¯ã»ã¹ã«äœ¿ããããŠãŒã¶ã¢ã«ãŠã³ãã¯ã[FTPèªèšŒ]ã®[å¿åèªèšŒ]ã§ç¢ºèªã§ããã
ãã©ãã«ã·ã¥ãŒãã£ã³ã°
ãã£ã¬ã¯ããªæ§é ãã¢ã¯ã»ã¹æš©éã®èšå®ãæ£ãããªãå Žåããã°ã€ã³æã«äžèšã®ãšã©ãŒãçºçãããã°ã€ã³ã«å€±æããŸãããã®ã±ãŒã¹ã®å ŽåããŸãã©ã®ãã©ã«ããèŠæ±ãããŠããã®ããèšå®å 容ããæšæž¬ããå¿ èŠããããŸãã
530-User cannot log in, home directory inaccessible. Win32 error:The system cannot find the file specified. Error details: File system returned an error.530 Endãã°ã€ã³ã§ããŸããã§ããã
æžã蟌ã¿ã®éã«ã察象ãã©ã«ãã®NTFSã¢ã¯ã»ã¹æš©ããªãå Žåã¯æ¬¡ã®ãšã©ãŒãçºçããŸãã
550-Access is denied. Win32 error:Access is denied. Error details: File system denied the access.550 End
æžã蟌ã¿ã®éã«ããŠãŒã¶ã«å¯ŸããŠãæžã蟌ã¿ããèš±å¯ãããŠããªãå Žå([FTPã®æ¿èªèŠå¶]ã®[ã¢ã¯ã»ã¹èš±å¯]-[æžã蟌ã¿])ãæ¬¡ã®ãšã©ãŒãçºçããŸãã
550-Access is denied. Win32 error:Access is denied. Error details: Authorization rules denied the access.550 End