日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > windows >内容正文

windows

openbsd系统可以做什么服务器,OpenBSD 3.8 release 架设FTP服务器

發(fā)布時(shí)間:2023/12/18 windows 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 openbsd系统可以做什么服务器,OpenBSD 3.8 release 架设FTP服务器 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

OpenBSD的ftpd程序沒(méi)有配置文件,就靠設(shè)置運(yùn)行參數(shù)進(jìn)行配置。所有參數(shù)的含義都可以在ftpd

的man文檔中獲得詳細(xì)信息:

$ man ftpd

ftpd程序的啟動(dòng)有三種方法(inetd/"rc file"/"command line"):

1:?inetd方式:

在"/etc/inetd.conf"文件中有這么一行:

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

這里為"ftpd"傳遞了兩個(gè)參數(shù)"-US"。當(dāng)然你還可以組合自己想要的參數(shù)。(一些常用參數(shù)的含義已在下文給出)。

inetd方式還需要同時(shí)啟動(dòng)inetd服務(wù),OpenBSD默認(rèn)啟動(dòng)了inetd(可以看看 /etc/rc.conf中的"inetd_flags"變量的值)。

2:?"rc"方式;

所謂"rc"方式,指的就是通過(guò)配置"/etc/rc.conf"或者"/etc/rc.conf.local"來(lái)啟動(dòng)系統(tǒng)服務(wù)。

為"/etc/rc.conf"中的"ftpd_flags"變量設(shè)置參數(shù),并確保該行沒(méi)有被注釋掉。

這種方法需要在重新啟動(dòng)系統(tǒng)后才會(huì)生效;

3:?直接在命令行下執(zhí)行ftpd命令,這樣就不需要重啟系統(tǒng)了:

# /usr/libexec/ftpd -4DllUS

ftpd 程序的終止:

1: 如果不需要提供ftp服務(wù),則在 /etc/rc.conf中將 ftpd_flags 變量注釋掉(在該行最開(kāi)頭加一個(gè)"#"符號(hào));

2: 使用ps查看ftpd的PID,或者查看"var/run/ftpd.pid"文件,然后"kill PID"。

以下是ftpd?常用的一些參數(shù)(這里列出的只是常用的,并不是全部。更多的參數(shù)請(qǐng)查看 ftpd 的man文檔):

-4?如果指定了"-D"參數(shù),則強(qiáng)制 ftpd只使用IPv4地址。

-6?和"-4"的解釋類(lèi)似;如果指定了"-D"參數(shù),則強(qiáng)制ftpd只使用IPv6地址。

-A?只允許匿名登錄(除非指定了"-n"選項(xiàng))。

-D?如果指定了該參數(shù), ftpd將做為daemon運(yùn)行,**** ftpd端口并且fork子進(jìn)程對(duì)連接進(jìn)行

處理。在繁忙的服務(wù)器上,這樣可以減少系統(tǒng)負(fù)載,與使用 inetd方式啟動(dòng)ftpd比起來(lái),

這種方式使用更少的系統(tǒng)資源。

-d?使用LOG_FTP將Debug信息寫(xiě)入 syslog。

-l? 每個(gè)成功和失敗的 ftp session 都將由 LOG_FTP 工具通過(guò)syslog記錄下日志。如果這個(gè)選

項(xiàng)被指定兩次,所有g(shù)et/put/append/delete/make directory/remove directory/rename

操作以及所操作的文件都將被記錄進(jìn)日志。

-U?每個(gè)并發(fā)的ftp session都被記錄到日志文件 /var/run/utmp,記錄的格式就象who(1)命令

的輸出一樣。

-n?禁止匿名登錄。通常是允許的。

-S?如果設(shè)置了這個(gè)參數(shù), ftpd將會(huì)把所有匿名用戶的下載情況記錄在文件 /var/log/ftpd 中

(如果該文件存在的話)。

-T maxtimeout

連接超時(shí)的時(shí)間限制。默認(rèn)是2小時(shí)。

-u mask

強(qiáng)制設(shè)置umask為指定的mask。而不是使用 /etc/login.conf 中的設(shè)置(/etc/login.conf 中通常

設(shè)置為022),并且不允許chmod。

看了這幾個(gè)選項(xiàng),你應(yīng)該可以組合出合適的選項(xiàng)來(lái)滿足自己的功能需求了。

1:只允許使用系統(tǒng)帳號(hào)登錄FTP;

因?yàn)槟涿脩舻卿浶枰褂玫较到y(tǒng)中的一個(gè)名為"ftp"的帳戶(更多關(guān)于該帳戶的討論,請(qǐng)看本文下

半部分),而OpenBSD系統(tǒng)中沒(méi)有該帳戶,需要手動(dòng)建立并且設(shè)置正確的權(quán)限,所以如果只允許用戶

通過(guò)系統(tǒng)帳號(hào)登錄FTP服務(wù)器,則只需要在 /etc/rc.conf 中將 ftpd_flags的值簡(jiǎn)單地設(shè)置為"-D"即可

(雖然這時(shí)候的設(shè)置仍然允許匿名用戶登錄,但是因?yàn)橄到y(tǒng)中沒(méi)有"ftp"用戶,所以無(wú)法登錄)。當(dāng)

然你也可以多設(shè)置一些參數(shù)。比如:

ftpd_flags="-4DllUSn"

參考上面幾個(gè)常用選項(xiàng)的說(shuō)明,你就會(huì)明白這是什么意思了。

2:允許匿名用戶登錄訪問(wèn)FTP資源;

因?yàn)槟涿脩舻卿浀紽TP服務(wù)器后,實(shí)際上是一個(gè)"ftp"用戶的身份進(jìn)行所有操作,所以出于安全考慮,

這個(gè)用戶的權(quán)限通常被設(shè)置得很低。比如:

1:不為該用戶提供一個(gè)可用的shell,使其無(wú)法登錄系統(tǒng);

2:沒(méi)有一個(gè)可用的密碼(即FAQ上說(shuō)的"This account shouldn't have a usable password;");

3:登錄系統(tǒng)后被chroot;

......

接下來(lái)我們要做的就是按照上面列出的三個(gè)要求來(lái)添加和設(shè)置這個(gè)低權(quán)限、處處受限的"ftp"用戶。

2.1:添加"ftp"帳戶以提供匿名訪問(wèn);

2.1.1:在/etc/shells中添加一個(gè)無(wú)法實(shí)際使用的shell:

設(shè)置"ftp"使用這個(gè)shell的目的,是不允許它通過(guò)shell登錄到系統(tǒng)中。通常我們會(huì)有兩種選擇:

/sbin/nologin

/usr/bin/false

為了在添加用戶時(shí)可以使用這兩個(gè)shell,我們可以這樣做:

# echo '/sbin/nologin' >>/etc/shells

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

或者在未將它們加入到/etc/shells的情況下,在使用adduser添加帳戶時(shí)加上"-shell"參數(shù):

# adduser -shell /sbin/nologin

Enter username []: ftp

Enter full name []: anonymous ftpd user

Enter shell bash csh ksh nologin sh [/sbin/nologin]:?????? ......

這里在詢問(wèn)該用戶使用何種shell時(shí)就出現(xiàn)了 /sbin/nologin。如果不帶這個(gè)參數(shù),將無(wú)法使用它:

# 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使用。

這里使用"adduser -s shell /sbin/nologin"來(lái)添加一個(gè)這樣的"ftp"帳戶做為示例,并將該用戶的

$HOME目錄設(shè)置為"/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鍵。這樣就可以設(shè)置一個(gè)不可用的密碼。

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 復(fù)制到 $HOME 目錄的一些"dot files"給刪除,

以免暴露信息。"dot files"的第一行通常會(huì)有一些系統(tǒng)的信息,比如"~/.cshrc"文件中就有這么一句:

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

這至少就告訴了匿名登錄的用戶,這是個(gè)OpenBSD系統(tǒng)。所以把它們刪除:

# rm -f /var/ftp/.*

3:為/var/ftp目錄設(shè)置正確的權(quán)限以保證安全性;

3.1:"~ftp"目錄;

"~ftp"目錄表示"ftp"用戶的主目錄,在本例中就是"/var/ftp"目錄。

將它的owner設(shè)置為"root",權(quán)限設(shè)置為任何人都不可寫(xiě)(555):

# chown -R root:wheel /var/ftp

# chmod -R 555 /var/ftp

3.2:"~ftp/bin"目錄;

這個(gè)目錄并不是必須的。如果希望匿名用戶登錄到FTP后能夠執(zhí)行一些command,就可以將command

復(fù)制到這個(gè)目錄下。所有的command的權(quán)限都應(yīng)該設(shè)置為只允許執(zhí)行(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"目錄一樣,這也是個(gè)可選的,并不推薦創(chuàng)建它。(更多關(guān)于該目錄設(shè)置的信息請(qǐng)查看"ftpd"

的man文檔)。

3.4:"~ftp/pub"目錄:

這個(gè)目錄用來(lái)存放你希望被匿名用戶訪問(wèn)的文件。權(quán)限應(yīng)該設(shè)置為555。

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

# chmod -R 555 /var/ftp/pub

這里雖然提到了創(chuàng)建三個(gè)目錄,但是實(shí)際上我們只需要?jiǎng)?chuàng)建"~ftp/pub"目錄并設(shè)置好權(quán)限就可以了。

4:chroot匿名登錄的用戶;

"ftpd"會(huì)將"/etc/ftpchroot"文件中列出的用戶都chroot。要使"ftp"用戶在登錄ftp后被chroot,只需要簡(jiǎn)單

地把用戶名添加到這個(gè)文件中就可以了。這是一個(gè)示例文件:

# 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"在啟動(dòng)時(shí)會(huì)讀取這個(gè)文件,如果"ftp"和"bibby"這兩個(gè)用戶登錄ftp,將被分別chroot到自己的$HOME目錄下。

5:其他一些相關(guān)文件;

/etc/ftpusers -- 列出了所有不受歡迎的用戶。列在該文件中的用戶都無(wú)法登錄ftp。

/etc/ftpwelcome -- 歡迎信息。登錄上ftp的用戶都將在登錄時(shí)看到這一信息。

/etc/motd -- 如果"/etc/ftpwelcome"文件不存在,則使用"/etc/motd"文件的內(nèi)容做為歡迎信息。

.message -- 這個(gè)文件可以被放置在"~ftp"目錄下的任何一個(gè)子目錄中。用戶進(jìn)入該目錄時(shí)就會(huì)顯示這個(gè)文件中的內(nèi)容。

總結(jié)

以上是生活随笔為你收集整理的openbsd系统可以做什么服务器,OpenBSD 3.8 release 架设FTP服务器的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。