±¾ÎIJο¼OpenBSD 3.8µÄ¹Ù·½FAQÎĵµºÍftpdµÄmanÎĵµÐ´³É£¬¸üÈ«ÃæµÄÐÅÏ¢Çë²Î¿´ÕâÁ½¸öÎļþ¡£
¡¤FAQ: Setting up Anonymous FTP Services
¡¤Manual Page: ftpd
ËùÓвÙ×÷¾ùÔÚOpenBSD 3.8 ReleaseÉϲâÊÔͨ¹ý¡£
×¢£º±¾ÎÄ¿ÉÒÔÈÎÒâ×ªÔØ£¬µ«Çë±£Áô×÷ÕßÐÅÏ¢£¬Ð»Ð»¡£
OpenBSDµÄftpd³ÌÐòûÓÐÅäÖÃÎļþ£¬¾Í¿¿ÉèÖÃÔËÐвÎÊý½øÐÐÅäÖá£ËùÓвÎÊýµÄ
º¬Òå¶¼¿ÉÒÔÔÚftpd µÄmanÎĵµÖлñµÃÏêϸÐÅÏ¢£º
$ man ftpd
ftpd³ÌÐòµÄÆô¶¯ÓÐÈýÖÖ·½·¨£º
¡¤inetd·½Ê½
¡¤'rc'·½Ê½
¡¤Ö±½ÓÔÚÃüÁîÐÐÏÂÖ´ÐÐftpdÃüÁî
1¡¢inetd·½Ê½
ÔÚ'etc/inetd.conf'ÎļþÖÐÓÐÕâôһÐУº
2¡¢'rc'·½Ê½
Ëùν'rc'·½Ê½£¬Ö¸µÄ¾ÍÊÇͨ¹ýÐÞ¸Ä'/etc/rc.conf'»òÕß'/etc/rc.conf.local'ÎļþÖбä
Á¿µÄÖµ£¬Îª·þÎñµÄÆô¶¯Ìí¼Ó'entry'£¬Ê¹·þÎñÄܹ»ËæÏµÍ³Æô¶¯¡£Ê¹ÓÃ'rc'·½Ê½Æô
¶¯fttpd£¬Ö»ÐèÒª½«'/etc/rc.conf'ÖеÄ'ftpd_flags'±äÁ¿ÉèÖÃΪ×Ô¼º×éºÏºÃµÄ²ÎÊý
¼´¿É¡£ÕâÖÖ·½·¨ÐèÒªÔÚÏµÍ³ÖØÆôºó·þÎñ²Å»áËæÏµÍ³Æô¶¯£¨ÕâÀïµÄ²ÎÊýÔÝʱʹÓÃ
Óë'inetd'·½Ê½ÏàͬµÄ²ÎÊý£©£º
3¡¢Ö±½ÓÔÚÃüÁîÐÐÖ´ÐÐftpdÃüÁî
ÕâÖÖ·½·¨µÄºÃ´¦ÊDz»ÐèÒªÖØÐÂÆô¶¯ÏµÍ³¾Í¿ÉÒÔÆô¶¯ftpd·þÎñ£º
1¡¢'/etc/rc.conf'
Èç¹û²»ÐèÒªftpdËæÏµÍ³Æô¶¯£¬ÔòÔÚ'/etc/rc.conf'ÎļþÖн«'ftpd_flags'±äÁ¿µÄÖµÉè
ÖÃΪ"NO"¡±£º
2¡¢# kill PID
Èç¹ûÐèÒªÏÖÔھͽáÊøftpd½ø³Ì£¬ÔòʹÓÃ\kill PID"µÄ·½Ê½À´ÊµÏÖ£º
ÒÔÏÂÊÇftpd ³£ÓõÄһЩ²ÎÊý£¨ÕâÀïÁгöµÄÖ»Êdz£Óõ쬲¢²»ÊÇÈ«²¿¡£¸ü¶àµÄ²Î
ÊýÇë²é¿´OpenBSD µÄManual Page¡£
¡¤ -4 Èç¹ûÖ¸¶¨ÁË\-D"²ÎÊý£¬ÔòÇ¿ÖÆftpd ֻʹÓÃIPv4µØÖ·¡£
¡¤ -6 ºÍ\-4"µÄ½âÊÍÀàËÆ£»Èç¹ûÖ¸¶¨ÁË\-D"²ÎÊý£¬ÔòÇ¿ÖÆftpdֻʹÓÃIPv6µØÖ·¡£
¡¤ -A Ö»ÔÊÐíÄäÃûµÇ¼£¨³ý·ÇÖ¸¶¨ÁË\-n"Ñ¡Ï¡£
¡¤ -D Èç¹ûÖ¸¶¨Á˸òÎÊý£¬ftpd ½«×öΪdaemonÔËÐУ¬¼àÌýftpd ¶Ë¿Ú²¢ÇÒfork×Ó½ø³Ì¶ÔÁ¬½Ó½øÐд¦Àí¡£ÔÚ·±Ã¦µÄ·þÎñÆ÷ÉÏ£¬ÕâÑù¿ÉÒÔ¼õÉÙϵͳ¸ºÔØ£¬ÓëʹÓÃinetd ·½Ê½Æô¶¯ftpd±ÈÆðÀ´£¬ÕâÖÖ·½Ê½Ê¹ÓøüÉÙµÄϵͳ×ÊÔ´¡£
¡¤ -d ʹÓÃLOG FTP½«DebugÐÅϢдÈësyslog¡£
¡¤ -l ÿ¸ö³É¹¦ºÍʧ°ÜµÄftp session ¶¼½«ÓÉLOG FTP ¹¤¾ßͨ¹ýsyslog¼Ç¼ÏÂÈÕÖ¾¡£Èç¹ûÕâ¸öÑ¡Ïî±»Ö¸¶¨Á½´Î£¨-ll£©£¬ËùÓÐget/put/append/delete/make¡¢ directory/remove¡¢dire²Ù×÷ÒÔ¼°Ëù²Ù×÷µÄÎļþ¶¼½«±»¼Ç¼½øÈÕÖ¾¡£
¡¤ -U ÿ¸ö²¢·¢µÄftp session¶¼±»¼Ç¼µ½ÈÕÖ¾Îļþ/var/run/utmp£¬¼Ç¼µÄ¸ñʽ¾ÍÏówho(1)ÃüÁîµÄÊä³öÒ»Ñù¡£
¡¤ -n ½ûÖ¹ÄäÃûµÇ¼¡£Ä¬ÈÏÊÇÔÊÐíµÄ¡£
¡¤ -S Èç¹ûÉèÖÃÁËÕâ¸ö²ÎÊý£¬ftpd ½«»á°ÑËùÓÐÄäÃûÓû§µÄÏÂÔØÇé¿ö¼Ç¼ÔÚÎļþ/var/log/ftpd ÖУ¨Èç¹û¸ÃÎļþ´æÔڵϰ£©¡£
¡¤ -T maxtimeout Á¬½Ó³¬Ê±µÄʱ¼äÏÞÖÆ¡£Ä¬ÈÏÊÇ2Сʱ¡£
¡¤ -u mask Ç¿ÖÆÉèÖÃumaskΪָ¶¨µÄmask¡£¶ø²»ÊÇʹÓÃ/etc/login.conf ÖеÄÉèÖã¨/etc/login.conf ÖÐͨ³£ÉèÖÃΪ022£©£¬²¢ÇÒ²»ÔÊÐíchmod¡£
¿´ÁËÉÏÃæ¼¸¸ö³£ÓÃÑ¡ÏîµÄº¬Ò壬ÄãÓ¦¸Ã¿ÉÒÔ×éºÏ³öºÏÊʵÄÑ¡ÏîÀ´Âú×ã×Ô¼ºµÄ¹¦ÄÜÐèÇóÁË¡£
1¡¢Ö»ÔÊÐíʹÓÃϵͳÕʺŵǼFTP
ÒòΪÄäÃûÓû§µÇ¼ÐèҪʹÓõ½ÏµÍ³ÖеÄÒ»¸öÃûΪ"ftp"µÄÕÊ»§£¨¸ü¶à¹ØÓÚ¸ÃÕÊ»§µÄÃèÊö£¬Çë¿´±¾ÎÄϰ벿·Ö£©£¬¶øOpenBSDϵͳÖÐĬÈÏûÓиÃÕÊ»§£¬ÐèÒªÊÖ¶¯½¨Á¢²¢ÇÒÉèÖÃÕýÈ·µÄȨÏÞ£¬ËùÒÔÈç¹ûÖ»ÔÊÐíÓû§Í¨¹ýϵͳÕʺŵǼFTP·þÎñÆ÷£¬ÔòÖ»ÐèÒªÔÚ/etc/rc.conf Öн«ftpd ¡ãags µÄÖµ¼òµ¥µØÉèÖÃΪ"-D"¼´¿É£¨ËäÈ»ÕâʱºòµÄÉèÖÃÈÔÈ»ÔÊÐíÄäÃûÓû§µÇ¼£¬µ«ÊÇÒòΪϵͳÖÐûÓÐ"ftp"Óû§£¬ËùÒÔÎÞ·¨µÇ¼£©¡£µ±È»ÄãÒ²¿ÉÒÔ¶àÉèÖÃһЩ²ÎÊý¡£±ÈÈ磺
½ÓÏÂÀ´ÎÒÃÇÒª×öµÄ¾ÍÊǰ´ÕÕÉÏÃæÁгöµÄÈý¸öÒªÇóÀ´Ìí¼ÓºÍÉèÖÃÕâ¸öµÍȨÏÞ¡¢´¦´¦ÊÜÏÞµÄ"ftp"Óû§¡£
1¡¢Ìí¼Ó"ftp"ÕÊ»§ÒÔÌṩÄäÃû·ÃÎÊ
ÔÚ/etc/shellsÖÐÌí¼ÓÒ»¸öÎÞ·¨Êµ¼ÊʹÓõÄshellÉèÖÃ"ftp"ʹÓÃÕâ¸öshellµÄÄ¿µÄ£¬ÊDz»ÔÊÐíËüͨ¹ýshellµÇ¼µ½ÏµÍ³ÖС£Í¨³£ÎÒÃÇ»áÓÐÁ½ÖÖÑ¡Ôñ£º
¡¤ /sbin/nologin
¡¤ /usr/bin/false
ΪÁËÔÚÌí¼ÓÓû§Ê±¿ÉÒÔʹÓÃÕâÁ½¸öshell£¬ÎÒÃÇ¿ÉÒÔÕâÑù×ö£º
Ìí¼ÓÕÊ»§
ÕâÀïʹÓÃ"adduser -s shell /sbin/nologin"À´Ìí¼ÓÒ»¸öÕâÑùµÄ'ftp'ÕÊ»§×öΪʾÀý£¬²¢½«¸ÃÓû§µÄ$HOMEĿ¼ÉèÖÃΪ"/var/ftp"£º
1¡¢'ftp'Ŀ¼
"ftp"Ŀ¼±íʾ"ftp"Óû§µÄÖ÷Ŀ¼£¬ÔÚ±¾ÀýÖоÍÊÇ"/var/ftp"Ŀ¼¡£½«ËüµÄownerÉèÖÃΪ"root"£¬È¨ÏÞÉèÖÃΪÈκÎÈ˶¼²»¿Éд£¨555£©£º
'ftpd'»á½«'/etc/ftpchroot'ÎļþÖÐÁгöµÄÓû§¶¼chroot¡£ÒªÊ¹'ftp'Óû§ÔڵǼftpºó±»chroot£¬Ö»ÐèÒª¼òµ¥µØ°ÑÓû§ÃûÌí¼Óµ½Õâ¸öÎļþÖоͿÉÒÔÁË¡£ÕâÊÇÒ»¸öʾÀýÎļþ£º
¡¤ /etc/ftpusers { ÁгöÁËËùÓв»ÊÜ»¶ÓµÄÓû§¡£ÁÐÔÚ¸ÃÎļþÖеÄÓû§¶¼ÎÞ·¨
µÇ¼ftp·þÎñÆ÷¡£
¡¤ /etc/ftpwelcome { »¶ÓÐÅÏ¢¡£µÇ¼µÄÓû§¶¼½«ÔڵǼʱ¿´µ½ÕâÒ»ÐÅÏ¢¡£
¡¤ /etc/motd { Èç¹û'/etc/ftpwelcome'Îļþ²»´æÔÚ£¬ÔòʹÓÃ'/etc/motd'ÎļþµÄÄÚÈÝ×öΪ»¶ÓÐÅÏ¢¡£
2 .message { Õâ¸öÎļþ¿ÉÒÔ±»·ÅÖÃÔÚ' ftp'Ŀ¼ÏµÄÈκÎÒ»¸ö×ÓĿ¼ÖС£Óû§½øÈë¸ÃĿ¼ʱ¾Í»áÏÔʾÕâ¸öÎļþÖеÄÄÚÈÝ¡£
| ×ÔÓÉ¹ã¸æÇø |
| ¡¡ |