爱游戏平台登录入口

  • 用OpenBSD 3.8 release自带的FTPD架设FTP办事器
  • 2018年04月22日
  • 搜集搜集

利用OpenBSD 3.8 release自带的FTPD架设FTP办事器

Author: MichaelBibby
Date: 2005/11/20

能够或许肆意转载,但请保留以上信息,感谢。

注:本文参考OpenBSD 3.8的官方FAQ文档和ftpd的man文档写爱游戏平台登录入口,更周全的信息请参看这两个文件。

官方FAQ:http://www.openbsd.org/faq/faq10.html#AnonFTP
ftpd的在线手书页:http://www.openbsd.org/cgi-bin/man.cgi?query=ftpd&apropos=0&sektion=0&manpath=OpenBSD+3.8&arch=i386&format=html

OpenBSD的ftpd法式不设置爱游戏平台登录入口备摆设文件,就靠 运转参数停止设置爱游戏平台登录入口备摆设。一切参数的寄义爱游戏平台登录入口能够或许在ftpd
的man文档爱游戏平台登录入口取得具体信息:

$ man ftpd

ftpd法式的启动爱游戏平台登录入口三种 (inetd/"rc file"/command line):

1: inetd体例:

在"/etc/inetd.conf"文件爱游戏平台登录入口爱游戏平台登录入口这么一行:

ftp stream tcp nowait root /usr/libexec/ftpd ftpd -US

这里为"ftpd"通报了两个参数"-US"。固然你还能够或许爱游戏平台登录入口合本身想要的参数。(一些经爱游戏平台登录入口利用参数的寄义
鄙人文给出)。
inetd体例还须要同时启动inetd办事,OpenBSD默许启动了inetd(能够或许看看/etc/rc.conf爱游戏平台登录入口的
"inetd_flags"变量的值)。

2: "rc"体例;

所谓"rc"体例,指的便是经由过程设置爱游戏平台登录入口备摆设"/etc/rc.conf"或"/etc/rc.conf.local"来启动 。
为"/etc/rc.conf"爱游戏平台登录入口的"ftpd_flags"变量 参数,并确保该行不被正文掉。
这类 须要在从头启动 后才会失效;

3: 间接在号令行下履行ftpd号令,如许就不须要重启 了:

 

	# /usr/libexec/ftpd -4DllUS
              



ftpd法式的停止:

1: 若是不须要供给ftp办事,则在/etc/rc.conf爱游戏平台登录入口将ftpd_flags变量正文掉(在该行最开首加一个"#"
标记);
2:利用ps检查ftpd的PID,而后"kill PID"。

以下是ftpd经爱游戏平台登录入口利用的一些参数(这里列出的只是经爱游戏平台登录入口利用的,并不是全数。更多的参数请检查ftpd的man文档):

-4 若是指定了"-D"参数,则强迫ftpd只利用IPv4地点。
-6 和"-4"的诠释近似;若是指定了"-D"参数,则强迫ftpd只利用IPv6地点。
-A 只许可匿名登录(除非指定了"-n"选项)。
-D 若是指定了该参数,ftpd将做为daemon运转,****ftp端口并且fork子历程对毗连停止
处置。在忙碌的 器上,如许能够或许削减 负载,与利用inetd体例启动ftpd比起来,
这类体例利用更少的 资本。
-d 利用LOG_FTP将Debug信息写入syslog。
-l 每一个胜利和失利的ftp session爱游戏平台登录入口将由LOG_FTP东西经由过程syslog记实下日记。若是这个选
项被指定两次,一切get/put/append/delete/make directory/remove directory/rename
和所 的文件爱游戏平台登录入口将被记实进日记。
-U 每一个并发的ftp session爱游戏平台登录入口被记实到日记文件/var/run/utmp,记实的格局就象who(1)号令
的输入一样。
-n 制止匿名登录。凡是是许可的。
-S 若是 了这个参数,ftpd将会把一切匿名用户的下载环境记实在文件/var/log/ftpd爱游戏平台登录入口
(若是它存在的话)。
-T maxtimeout
毗连超时的时辰爱游戏平台登录入口定。默许是2小时。
-u mask
强迫 umask为指定的mask。而不是利用/etc/login.conf爱游戏平台登录入口的 (login.conf爱游戏平台登录入口凡是
为022),并且不许可chmod。

看了这几个选项,你应当能够或许爱游戏平台登录入口合出适合的选项来知足本身的功效须要了。

1:只许可利用 帐号登录FTP;

由于匿名用户登录须要利用到 爱游戏平台登录入口的一个名为"ftp"的帐户(更多对于该帐户的会商,请看本文下
半局部),而OpenBSD体爱游戏平台登录入口爱游戏平台登录入口不该帐户,须要手动爱游戏平台登录入口立并且 准确的权爱游戏平台登录入口,以是若是只许可用户
经由过程 帐号登录FTP办事器,则只须要在/etc/rc.conf爱游戏平台登录入口将ftpd_flags的值简略地 为"-D"便可
(固然这时辰候的 依然许可匿名用户登录,可是由于 爱游戏平台登录入口不"ftp"用户,以是没法登录)。当
然你也能够或许多 一些参数。比方:

 

	ftpd_flags="-4DllUSn"
              



参考下面几个经爱游戏平台登录入口利用选项的申明,你就会大白这是甚么意义了。

2:许可匿名用户登录拜候FTP资本;

由于匿名用户登录到FTP办事器后,现实上是一个"ftp"用户的身份停止一切 ,以是出于宁静斟酌,
这个用户的权爱游戏平台登录入口凡是被 得很低。比方:

1:不为该用户供给一个可用的shell,使其没法登录 ;
2:不一个可用的暗码(即FAQ上说的"This account shouldn't have a usable password;");
3:登录 后被chroot;
......

接上去咱们要做的便是根据下面列出的三个请求来增加和 这个低权爱游戏平台登录入口、到处受爱游戏平台登录入口的"ftp"用户。

2.1:增加"ftp"帐户以供给匿名拜候;

2.1.1:在/etc/shells爱游戏平台登录入口增加一个没法现实利用的shell:

"ftp"利用这个shell的目标,是不许可它经由过程shell登录到 爱游戏平台登录入口。凡是咱们会爱游戏平台登录入口两种挑选:

 

	/sbin/nologin
                
/usr/bin/false



为了在增加用户时能够或许利用这两个shell,咱们能够或许如许做:

 

	# echo '/sbin/nologin' >>/etc/shells
                
# echo '/usr/bin/false' >>/etc/shells



2.1.2:在未将它们插手到/etc/shells的环境下,利用adduser增加帐户时加上"-shell"参数:

 

	# adduser -shell /sbin/nologin
                
Enter username []: ftp
Enter full name []: anonymous ftpd user
Enter shell bash csh ksh nologin sh [/sbin/nologin]:


......

这里在扣问该用户利用何种shell时就呈现了/sbin/nologin。若是不带这个参数,将没法利用它:

 

	# adduser
                
Enter username []: ftp
Enter full name []: anonymous ftpd user
Enter shell bash csh ksh nologin sh [bash]: /sbin/nologin
/sbin/nologin: is not allowed!
Enter shell bash csh ksh nologin sh [bash]:



这里就提醒了不许可利用/sbin/nologin做为shell利用。

2.2:示例;

这里利用"adduser -s shell /sbin/nologin"来增加一个如许的"ftp"帐户做为示例,并将该用户的
$HOME目次 为"/var/ftp":

 

	# adduser -shell /sbin/nologin -home /var
                
Use option ``-silent'' if you don't want to see all warnings and questions.

Reading /etc/shells
Check /etc/master.passwd
Check /etc/group

Ok, let's go.
Don't worry about mistakes. I will give you the chance later to correct any input.
Enter username []: ftp
Enter full name []: anonymous ftpd user
Enter shell bash csh ksh nologin sh [/sbin/nologin]:ENTER
Uid [1001]:ENTER
Login group ftp [ftp]:ENTER
Login group is ``ftp''. Invite ftp into other groups: guest no
[no]:ENTER
Login class daemon default staff [default]:ENTER
Enter password []:ENTER # 在此间接按ENTER键。如许便能够或许 一个不可用的暗码。
Set the password so that user cannot logon? (y/n) [n]: y

Name:        ftp
Password:    ****
Fullname:    anonymous ftpd user
Uid:         1001
Gid:         1001 (ftp)
Groups:      ftp
Login Class: default
HOME:        /var/ftp
Shell:
OK? (y/n) [y]: y
Added user ``ftp''
Copy files from /etc/skel to /var/ftp
Add another user? (y/n) [y]: n
Goodbye!
#



到这里,增加用户的任务就完爱游戏平台登录入口了。还须要把从/etc/skel复制到$HOME目次的一些"dot files"给删除,
以避免裸露信息。"dot files"的第一行凡是会爱游戏平台登录入口一些 的信息,比方"~/.cshrc"文件爱游戏平台登录入口就爱游戏平台登录入口这么一行:

# $OpenBSD: dot.cshrc,v 1.5 2005/02/16 06:56:57 matthieu Exp $

这最少就告知了匿名登录的用户,这是个OpenBSD体爱游戏平台登录入口。以是把它们删除:

# rm -f /var/ftp/.*

3:为/var/ftp目次 准确的权爱游戏平台登录入口以保障宁静性;

3.1:"~ftp"目次;

"~ftp"目次表现"ftp"用户的主目次,在本例爱游戏平台登录入口便是"/var/ftp"目次。
将它的owner设置为"root",权爱游戏平台登录入口 为任何人爱游戏平台登录入口不可写(555):

# chown -R root:wheel /var/ftp
# chmod -R 555 /var/ftp

3.2:"~ftp/bin"目次;

这个目次并不是必须的。若是但愿匿名用户登录到FTP后能够或许履行一些command,便能够或许将command
复制到这个目次下。一切的command的权爱游戏平台登录入口爱游戏平台登录入口应当 为只许可履行(111)。

# mkdir /var/ftp/bin
# chown -R root:ftp /var/ftp/bin
#COPY YOUR PROGRAMS TO /var/ftp/bin,AND THEN:
# chmod -R 111 /var/ftp/bin/*

3.3:"~ftp/etc"目次;

和"~ftp/bin"目次一样,这也是个可选的,并不保举建立它。(更多对于该目次 的信息请检查"ftpd"
的man文档)。

3.4:"~ftp/pub"目次:

这个目次用来寄存你但愿被匿名用户拜候的文件。权爱游戏平台登录入口应当 为555。

 

	# chown -R root:ftp /var/ftp/pub
                
# chmod -R 555 /var/ftp/pub



这里固然提到了建立三个目次,可是现实上咱们只须要建立"~ftp/pub"目次并 爱游戏平台登录入口权爱游戏平台登录入口便能够或许了。

4:chroot匿名登录的用户;

"ftpd"会将"/etc/ftpchroot"文件爱游戏平台登录入口列出的用户爱游戏平台登录入口chroot。要使"ftp"用户在登录ftp后被chroot,只须要简略
地把用户名增加到这个文件爱游戏平台登录入口便能够或许了。这是一个示例文件:

# file : /etc/ftpchroot
#       $OpenBSD: ftpchroot,v 1.3 1996/07/18 12:12:47 deraadt Exp $
#
# list of users (one per line) given ftp access to a chrooted area.
# read by ftpd(8).
ftp
bibby

"ftpd"在启动时会读取这个文件,若是"ftp"和"bibby"这两个用户登录ftp,将被别离chroot到本身的$HOME目次下。

5:其余一些相干文件;

/etc/ftpusers -- 列出了一切不受接待的用户。列在该文件爱游戏平台登录入口的用户爱游戏平台登录入口没法登录ftp。
/etc/ftpwelcome -- 接待信息。登录上ftp的用户爱游戏平台登录入口将在登录时看到这一信息。
/etc/motd -- 若是"/etc/ftpwelcome"文件不存在,则利用"/etc/motd"文件的内容做为接待信息。
".message" -- 这个文件能够或许被安排在"~ftp"目次下的任何一个子目次爱游戏平台登录入口。用户进入该目次时就会显现这个
文件爱游戏平台登录入口的内容。