ftp的配置

FTP服務器配置

VSFTP主配置文件路徑:/etc/vsftpd/vsftpd.conf,重要參數:

anonymous_enable=yes/no 是否允許匿名用戶訪問

anon_upload_enable=yes/no 是否允許匿名用戶上傳文件

anon_mkdir_write_enable=yes/no 是否允許匿名用戶創建目錄

anon_other_write_enable=yes/no 匿名用戶和虛擬用戶是否擁有刪除權限

local_enable=yes/no 是否允許本地用戶登陸

write_enable=yes/no 設置全局是否可寫

anon_root=/var 指定匿名用戶目錄

chroot_local_user=yes 鎖定所有用戶到用戶主目錄

chroot_list_enable=yes/no 鎖定列表中的用戶到主目錄,需要配合下一參數使用

chroot_list_file=/etc/vsftpd/chroot_list 指定存儲被鎖定用戶的列表文件位置

chown_uploads=yes/no 匿名用戶上傳所有者指定功能,需要與下一參數配合使用

chown_username=用戶名 指定匿名用戶上傳文件的所有者

max_clients=300 最大客戶端連接數為300

anon_max_rate=30000 匿名用戶和虛擬用戶限速為30K/S

local_max_rate=30000 本地用戶限速為30K/S

max_per_ip=10 每個IP最大連接數

listen_port=22 更改監聽端口

實現如下要求:允許匿名用戶登陸,匿名用戶限速為60K/S,只允許下載。監聽端口為22,最大連接數為10。新建用戶ftp1,限速為200K/S,允許上傳下載刪除新建文件夾。進入目錄/etc/vsftpd,用vi編輯器打開vsftpd.conf主配置文件:

直接添加以下選項: [root@LidadeFedora vsftpd]# service vsftpd restart

添加用戶ftp1,設置登錄腳本為 /sbin/nologin:

vsftp默認目錄為:/var/ftp,為方便測試,在/var/ftp下新建一個文件”testLocal”,在”/var/ftp/pub”新建一個文件”testAnon”。

由于使用root用戶新建文件,文件的所有者為root,所以需要把文件的權限設置為644其他用戶才能讀取該文件

設置/var/ftp/pub權限為777,表示所有用戶均有讀寫權限.

由于端口22被ssh服務器占用,所以需要關閉ssh服務并重啟vsftp服務。

客戶端用Flashfxp測試:新建站點”VsftpTest”,輸入Vsftp服務器的IP地址,端口填22,用戶名填ftp1,密碼填你設置的密碼,然后點擊”連接”按鈕:

由于沒有使用選項:local_root,登陸本地用戶時自動跳轉到該用戶的主目錄.沒有使用chroot_local_user=yes,所以本地用戶可以瀏覽整個文件系統中他有權限讀取的文件和文件夾:

切換到目錄”/var/ftp/pub”,該目錄的權限為777,上傳一個10M以上的文件,測試ftp1的上傳速度:

新建文件夾和刪除權限測試省略。下面測試匿名用戶權限:勾選”匿名”選項并連接:

匿名用戶登陸成功: 進入pub目錄,嘗試刪除testAnon文件失敗,說明這里是配置文件中的anon_other_write_enable=no生效了。最終權限等于配置文件中的權限和linux文件系統權限相或的結果。比如vsftp配置文件中允許匿名用戶下載,但光這樣是不夠的,還需要被下載的文件或文件夾的能夠被其他用戶讀取。

嘗試上傳文件失敗,符合匿名用戶只允許下載的要求:

最后測試匿名用戶的下載速度:

vsftp的配置參數總共也就10來行,但是想要使用好它,絕沒有單單理解這10來行這么簡單,需要對每一行所定義的參數都理解透徹才可以.

匿名用戶的配置:

anonymous_enable=YES //允許匿名用戶登錄

anon_root=/var/ftp/anonymous //設定匿名用戶登錄后的根目錄

anon_upload_enable=YES //允許匿名用戶上傳文件

只需要打開如上的參數即可,不用做其他的設置.本地用戶登錄配置

首先說一下概念,什么是本地用戶,本地用戶就是你系統/home目錄下的用戶,當然有的用戶建立時候使用-m命令,使用戶在/home下沒有目錄,但是這個詞的意思就是系統里面有的用戶.

local_enable=YES //允許本地用戶登錄

local_root=/home //限制本地用戶登錄后的根目錄

eg:

[root@centos ftp]# ftp 192.168.0.125

Connected to 192.168.0.125.

220 (vsFTPd 2.0.5)

530 Please login with USER and PASS.

530 Please login with USER and PASS.

KERBEROS_V4 rejected as an authentication type

Name (192.168.0.125:root): xu

331 Please specify the password.

Password:

230 Login successful.

Remote system type is UNIX.

Using binary mode to transfer files.

ftp> ls

227 Entering Passive Mode (192,168,0,125,135,123)

150 Here comes the directory listing.

drwx—— 2 505 503 4096 Jun 26 09:42 chuan

drwx—— 2 507 507 4096 Jun 30 22:26 ftp

drwx—— 2 504 502 4096 Jun 26 09:42 joe

drwx—— 2 506 503 4096 Jun 26 09:43 laomeng

drwx—— 2 502 504 4096 Jun 26 09:42 master

drwx—— 2 503 502 4096 Jun 26 09:42 mike

drwx—— 2 500 500 4096 Jun 25 21:34 xiaochuan

drwxrwxrwx 2 508 508 4096 Jun 30 22:39 xu

drwx—— 2 501 501 4096 Jun 25 20:25 xujunchuan

226 Directory send OK.

ftp> pwd

257 “/home”

限制用戶目錄部分

chroot_local_use=YES|NO //是否將本地用戶鎖定在家目錄

chroot_list_enable=YES|NO //是否鎖定使用者在家目錄中

chroot_list_file=/etc/vsftpd/chroot_list //一般情況下都將這個文件寫在/etc/vsftpd目錄下,這個文件就是設置鎖定用戶的一個列表文件,其中一行就代表一個用戶

設置歡迎信息

dirmessage_enable=YES

message_file=.message

[root@centos ftp]# cd /home

[root@centos home]# vi .message

welcomt to VSFTP………….

C:Documents and SettingsAdministrator>ftp 192.168.0.125

Connected to 192.168.0.125.

220 (vsFTPd 2.0.5)

User (192.168.0.125:(none)): xu

331 Please specify the password.

Password:

230-welcomt to VSFTP………….

230 Login successful.

ftp>

虛擬賬戶配置

本地賬戶vuser,目錄定在/var/ftp/vuser.虛擬賬戶may密碼123;ccc密碼123

隨意哪個目錄建立vuser.txt,按行將虛擬賬戶及其密碼輸入進去,我在/目錄下設置的,格式如下:

may

123

ccc

123

[root@centos /]# db_load -T -t hash -f vuser.txt /etc/vsftpd/vuser.db

[root@centos /]# cd /etc/vsftpd/

[root@centos vsftpd]# ls

ftpusers user_list vsftpd.conf vsftpd_conf_migrate.sh vuser.db

[root@centos vsftpd]# vi chroot_list

vuser

[root@centos vsftpd]# ls

chroot_list ftpusers user_list vsftpd.conf vsftpd_conf_migrate.sh vuser.db

[root@centos vsftpd]# vi vsftpd.conf //進入配置文件,更改如下配置

anonymous_enable=NO

local_enable=YES //虛擬帳戶對應的是系統本地用戶,所以必須開啟這一項

anon_upload_enable=YES //開啟此項以后,使用虛擬賬戶后可以上傳文件.

write_enable=YES //開啟用戶寫權限.與上面那個參數需要同時開啟,才可以上傳文件

pam_service_name=vsftpd

userlist_enable=YES

tcp_wrappers=YES

guest_enable=YES

guest_username=vuser

chroot_list_enable=YES //將虛擬用戶鎖定在其對應本地賬戶設置時的根目錄下.

chroot_list_file=/etc/vsftpd/chroot_list

多虛擬賬戶對應不同目錄的VSFTP

本地用戶vuser,ftpvip.虛擬賬戶ftp1,ftp2密碼均是123.ftp1對應vuser,ftp2對應ftpvip.

修改vuser.txt,添加新的虛擬賬戶.

[root@centos vsftpd]# vi /vuser.txt

may

123

ccc

123

ftp1

123

ftp2

123

[root@centos vsftpd]# useradd -d /var/ftp/vip ftpvip

修改主conf參數,增加以下配置,填寫”user_config_dir=/ftpconfig”,這個就是定義不同賬戶對應不同目錄的重要所在.

pam_service_name=vsftpd

userlist_enable=YES

tcp_wrappers=YES

guest_enable=YES

user_config_dir=/ftpconfig

ftp1和ftp2用戶的具體參數配置都需要/ftpconfig下的ftp1和ftp2文件來定義.我將已經寫好的配置如下:

[root@centos vsftpd]# cat /ftpconfig/ftp1

local_root=/var/ftp/vuser

guest_username=vuser

anon_world_readable_only=no

[root@centos vsftpd]# cat /ftpconfig/ftp2

local_root=/var/ftp/vip

guest_username=ftpvip

anon_world_readable_only=no

vsftp的含義就是Very Security Ftp,下面就簡要的說一下它的配置和使用方法,通過本文的介紹也希望您能了解在Linux下配置一個網絡服務的基本過程

1.相關配置文件

/etc/vsftpd.conf,vsftpd.ftpuser,vsftpd.user_list,/etc/xinetd.d/vsftpd

2.配置vsftp

主要是修改/etc/vsftpd.conf就可以了,相關參數如下:

anonymous_enable=YES 是否允許匿名ftp,如否則選擇NO

local_enable=YES 是否允許本地用戶登錄

local_umask=022 默認的umask碼

anon_upload_enable=YES 是否允許匿名上傳文件

anon_mkdir_write_enable=YES 是否允許匿名用戶有創建目錄的權利

dirmessage_enable=YES 是否顯示目錄說明文件,默認是YES但需要收工創建.message文件

xferlog_enable=YES 是否記錄ftp傳輸過程

connect_from_port_20=YES 是否確信端口傳輸來自20(ftp-data)

chown_upload=YES

chown_username=username 是否改變上傳文件的屬主,如果是需要輸入一個系統用戶名,你可以把上傳的文件都改成root屬主

xferlog_file=/var/log/vsftpd.log ftp傳輸日志的路徑和名字默認是/var/log/vsftpd.log

xferlog_std_format=YES 是否使用標準的ftp xferlog模式

idle_session_timeout=600 設置默認的斷開不活躍session的時間

data_connection_timeout=120 設置數據傳輸超時時間

nopriv_user=ftpsecure 運行vsftpd需要的非特權系統用戶默認是nobody

async_abor_enable=YES 是否允許運行特殊的ftp命令async ABOR.這里我翻譯的不爽,原文如下:

When enabled, a special FTP command known as “async ABOR” will be enabled. Only ill advised FTP clients will use this feature.Addtionally, this feature is awkward to handle, so it is dis-abled by default. Unfortunately, some FTP clients will hang when cancelling a transfer unless this feature is available, so you may wish to enable it.

ascii_upload_enable=YES

ascii_download_enable=YES 是否使用ascii碼方式上傳和下載文件

ftpd_banner=Welcome to chenlf FTP service. 定制歡迎信息

deny_email_enable=YES

banned_email_file=/etc/vsftpd.banned_emails 是否允許禁止匿名用戶使用某些郵件地址,如果是輸入禁止的郵件地址的路徑和文件名

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd.chroot_list 是否將系統用戶限止在自己的home目錄下,如果選擇了yes那么chroot_list_file=/etc/vsftpd.chroot_list中列出的是不chroot的用戶的列表

max_clients=Number 如果以standalone模式起動,那么只有$Number個用戶可以連接,其他的用戶將得到錯誤信息,默認是0不限止

message_file 設置訪問一個目錄時獲得的目錄信息文件的文件名,默認是.message

沒發現有限止帶寬的地方,如果誰知道請告訴我,詳細的幫助說明請參考man vsftpd.conf

3 配置實例

以下是我的配置文件.允許匿名FTP,允許上傳,chroot用戶目錄,上傳文件屬主改為root

anonymous_enable=YES

local_enable=YES

write_enable=YES

local_umask=022

anon_upload_enable=YES

anon_mkdir_write_enable=YES

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

chown_uploads=YES

chown_username=root

xferlog_file=/var/log/vsftpd.log

xferlog_std_format=YES

pam_service_name=vsftpd

chroot_local_user=YES

VSFTP故障排除:

匿名用戶 /var/ftp

本地用戶 /home/username

配置vsftpd時,強烈建議

?# cp /etc/vsftpd.conf /etc/vsftpd.conf1 //備份,vsftpd.conf是個比較苛刻的主文件,修改時不小心在有效行后加一個空格就會使服務啟用失敗

# diff /etc/vsftpd.conf /etc/vsftpd.conf1 //文件內容比較

?做一步,重啟一下,測試

# vi /etc/vsftpd.conf

anonymous_enable=YES // :7 ,匿名帳戶可登陸

local_enable=YES // :10 ,本地帳戶可以登陸

write_enable=YES // :13 ,用戶通過ftp在服務器上是否有寫權限

local_umask=022 // :17 ,創建時默認權限。文件夾=777-umask,文件=666-umask

anon_upload_enable=YES // :22 ,允許匿名帳戶上傳

anon_mkdir_write_enable=YES // :26 ,允許匿名帳戶創建文件夾

chown_uploads=YES // :41 ,開啟匿名帳戶上傳自動更改所屬功能

chown_username=bob // :42 ,屬主改為bob

idle_session_timeout=600 // :52 ,空閑會話超時時間

ascii_upload_enable=YES // :76 ,以ASCII方式上傳

ftpd_banner=Welcome to blah FTP service. // :80 ,歡迎界面

chroot_list_enable=YES // :91 ,開啟用戶更改根目錄功能,默認為禁用更改根

chroot_list_file=/etc/vsftpd.chroot_list // :93 ,該文件中所有用戶無法更改根

查看文件其它參數 # man vsftpd.conf

anon_other_write_enable=YES // 允許匿名帳戶刪除、重命名

anon_root=/ftp // 更改匿名帳戶根目錄,默認為”/var/ftp”

local_root=/local // 更改本地帳戶根目錄為/local,默認為用戶主目錄~

userlist_enable=YES // 開啟用戶列表功能

userlist_deny=YES // 用戶列表文件中所有帳戶全拒絕。NO時,只有列表中用戶能登陸

userlist_file=/etc/vsftpd.user_list // 用戶列表文件

anon_max_rate=0 // 匿名用戶最大傳輸速率,0為無限

local_max_rate=0 // 本地用戶最大傳輸速率,0為無限

max_clients=0 // 最大客戶端連接數,0為無限

pasv_max_port=0 // 客戶端端口最大限制,0為無限制

pasv_min_port=0 // 客戶端端口最小限制,0為無限制

測試:

方法一、IE(不建議)

方法二、cmd(強烈推薦),有回顯提示。

ftp常用測試命令

? 幫助

bye 退出

quit 退出

exit 退出(僅linux客戶端)

cd 服務器端路徑更改

lcd 本地路徑更改

pwd 顯示服務器端當前路徑

dir 顯示服務器端當前目錄中內容(顯示權限)

ls 顯示服務器端當前目錄中內容(在linux中使用時也顯示權限)

put 上傳

get 下載

mkdir 建文件夾

rmdir 刪除文件夾

rename 重命名

delete 刪除文件

實驗一、針對于本地用戶的設置

1、限定只有本地帳戶能登陸,匿名帳戶無法登陸

2、本地帳戶bob不可以更改自已主目錄以外的其他目錄

3、在本地帳戶中只有bob能登陸,alice不能登陸

4、本地帳戶可以上傳文件,以ASCII方式上傳

5、登陸時顯示歡迎信息“Welcome to my ftp site”

# vi /etc/vsftpd.conf

anonymous_enable=NO // 1、:7;需改

local_enable=YES // 1、:10;默認,確認

230 Login successful. Have fun. 驗證:登陸成功提示

Login failed. 驗證:登陸失敗提示

chroot_list_enable=YES // 2、:91;需刪除開頭#號注釋

chroot_list_file=/etc/vsftpd.chroot_list // 2、:93;需刪除開頭#號注釋

ftp> pwd

257 “/” 驗證:成功顯示

257 “/home/bob” 驗證:改之前顯示

userlist_enable=YES // 3、添加

userlist_deny=NO // 3、添加

userlist_file=/etc/vsftpd.user_list // 3、添加

write_enable=YES // 4、:13;默認,確認

ascii_upload_enable=YES // 4、:76;需刪除開頭#號注釋

ftpd_banner=Welcome to my ftpsite // 5、:80;需刪除開頭#號注釋,需修改

x: > ftp 192.168.1.201

Connected to 192.168.1.201.

220 Welcome to my ftp site 驗證:未登陸提示

# echo bob >> /etc/vsftpd.user_list // 3、添加新行bob

# echo bob > /etc/vsftpd.chroot_list // 2、需存在該文件

# chkconfig vsftpd on // 超級守護立即啟動、開機自動啟動

# service xinetd restart // 重啟vsftpd服務

測試:

x: > ftp linux.wnt.com.cn

實驗二、針對于匿名帳戶的設置

1、只有匿名帳戶可以登陸

2、在FTP目錄下創建incoming目錄

3、允許匿名訪問,但不允許在ftp目錄中創建,刪除

4、允許匿名用戶在incoming目錄中上傳,創建,刪除目錄。

5、匿名帳戶上傳的文件,自動變為alice所屬

6、用戶空閑600秒自動中斷

7、匿名帳戶最大傳輸速率50kbytes/sec

8、客戶端口連接范圍50000到60000

# vi /etc/vsftpd.conf

anonymous_enable=YES // 1、:7或“/anonymous” 確認

local_enable=NO // 1、:10或“/local” 修改

anon_upload_enable=YES // 4、:22或“/upload” 刪除注釋

anon_mkdir_write_enable=YES // 4、:26或“/mkdir” 刪除注釋

anon_other_write_enable=YES // 4、:27 添加

chown_uploads=YES // 5、:41或“/chown” 刪除注釋

chown_username=alice // 5、:42 刪除注釋,再修改

idle_session_timeout=600 // 6、:52或“session” 刪除注釋

anon_max_rate=50000 // 7、 添加

pasv_min_port=50000 // 8、 添加

pasv_max_port=60000 // 8、 添加

# mkdir /var/ftp/incoming // 2、

# chmod go+w /var/ftp/incoming // 4、 g(group)組、o(other)其它人全有寫權限

# chkconfig vsftpd on ==> # service xinetd restart

實驗三、針對于超級守護的安全性限制(8。0版本可配,因9。0后vsftpd改為獨立守護進程不能用此方法)

1、限定192.168.1.0/24能訪問

2、10.0.0.0不能訪問

3、每個客戶機最大連接數1

4、服務器最大連接數200

5、只有13:00到17:00期間能訪問ftp服務器

# vi /etc/xinetd.d/vsftpd

only_from = 192.168.1.0 // 1、添加在括號內

no_access = 10.0.0.0 // 2、添加在括號內

per_source = 1 // 3、添加在括號內

instances = 200 // 4、添加在括號內

access_times = 13:00-17:00 // 5、添加在括號內

ftp客戶連接常見故障現象

現象0:

> ftp: connect :連接被拒絕

原因: 服務沒啟動

解決: # chkconfig –level 35 vsftpd on

現象1:

500 OOPS: cannot open user list file

原因: 不存在文件“/etc/vsftpd.user_list”或文件中不存在該帳戶

解決: # echo username >> /etc/vsftpd.user_list

現象2:

530 Permission denied.

Login failed.

原因: “/etc/vsftpd.user_list”文件中不存在當前登陸用戶

解決: # echo username >> /etc/vsftpd.user_list

現象3:

500 OOPS: cannot open chroot() user list file

Login failed.

原因: 不存在文件“/etc/vsftpd.chroot_list”

解決: # echo username >> /etc/vsftpd.chroot_list

現象4:

500 OOPS: missing value in config file

Connection closed by remote host.

原因: “=”等號前值有問題,或只有一個空格

解決: 修正相應的值即可,可能過 diff 來比較查找

現象5:

500 OOPS: bad bool value in config file

Connection closed by remote host.

原因: “=”等號后值有問題

解決: 將“=”等號后值確認修改

現象6:

500 OOPS: unrecognised variable in config file

Connection closed by remote host.

原因: 參數前有空格

解決: 將參數前空格刪除

現象7、

確認存在“local_enable=YES”,但本地用戶無法登陸

原因: 驗證參數被誤刪除

解決: 添加“pam_service_name=vsftpd”

現象8、

500 OOPS: chdir

500 OOPS: child died

Connection closed by remote host.

原因: 用戶主目錄沒有權限或沒有主目錄

解決: 正確設置用戶主目錄權限

RHEL4 VSFTP安裝:

實驗環境:AS4最小化安裝

實驗目標:架設VSFTP服務器

編輯: leige_linux 2009.5.29

聯系方式:

http://leige.cublog.cn

使用rpm命名可順利安裝該軟件包

# rpm -ivh vsftpd-2.0.1-5.i386.rpm

安裝完后默認就可以啟動vsftp服務了,

[root@localhost ~]# service vsftpd start

Starting vsftpd for vsftpd: [ OK ]

但是默認我們只能看,不能上傳。

1,下面我們開啟匿名用戶上傳

[root@localhost /]# vi /etc/vsftpd/vsftpd.conf

anon_upload_enable=YES

anon_mkdir_write_enable=YES

[root@localhost /]# service vsftpd restart

Shutting down vsftpd: [ OK ]

Starting vsftpd for vsftpd: [ OK ]

2,將FTP本地用戶禁錮在宿主目錄中 ,在vsftpd.conf文件中添加設置項

chroot_local_user=YES

重新啟動vsftpd服務,# service vsftpd restart

3.建立虛擬帳號

a,建立虛擬用戶口令庫文件

[root@localhost ~]# cat logins.txt

mike

123

john

321

口令庫文件中奇數行設置用戶名,偶數行設置口令

b,生成vsftpd的認證文件(在第3張光盤中安裝)

[root@localhost RPMS]# rpm -ivh db4-utils-4.2.52-7.1.i386.rpm

warning: db4-utils-4.2.52-7.1.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e

Preparing… ########################################### [100%]

1:db4-utils ########################################### [100%]

[root@localhost RPMS]# db_load -T -t hash -f /root/logins.txt /etc/vsftpd/vsftpd_login.db 生成認證文件

c, 設置認證文件只對用戶可讀可寫

# chmod 600 /etc/vsftpd/vsftpd_login.db

d,建立虛擬用戶所需的PAM配置文件

手工建立vsftpd.vu文件

# cat /etc/pam.d/vsftpd.vu

auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

e,建立虛擬用戶及要訪問的目錄并設置相應的權限

建立所有FTP虛擬用戶帳號使用的系統用戶帳號,并設置該帳號宿主目錄的權限

# useradd -d /home/ftpsite virtual

# chmod 700 /home/ftpsite

f,設置vsftpd.conf配置文件

在配置文件中添加虛擬用戶的配置內容

guest_enable=YES

guest_username=virtual

pam_service_name=vsftpd.vu

重新啟動vsftpd服務程序

g,對vsftpd.conf文件修改后需要重新啟動vsftpd服務程序

# service vsftpd restart

現在就應該可以用虛擬帳號登陸了,

4,對虛擬用戶設置不同的權限

設置主配置文件

在vsftpd.conf文件中添加用戶配置文件目錄設置

user_config_dir=/etc/vsftpd_user_conf

建立用戶配置文件目錄

使用mkdir命令建立用戶配置文件目錄

# mkdir /etc/vsftpd_user_conf

為虛擬用戶建立單獨的配置文件

用戶配置文件名稱與用戶名相同

/etc/vsftpd_user_conf/mike

/etc/vsftpd_user_conf/john

里面的內容如下:

anon_world_readable_only=NO 表示用戶可以瀏覽FTP目錄和下載文件

anon_upload_enable=YES 表示用戶可以上傳文件

anon_mkdir_write_enable=YES 表示用戶具有建立和刪除目錄的權限

anon_other_write_enable=YES 表示用戶具有文件改名和刪除文件的權限

沒有的配置項默認按照vsftpd.conf的配置內容

5,FTP服務器的資源限制

max_clients=100 允許最大的客戶端連接數

max_per_ip=5 同一IP最大客戶端的連接數

local_max_rate=5000000 設置本地用戶最大傳輸數率

anon_max_rate=2000000 匿名用戶最大的傳輸數率

虛擬用戶:

一:基本知識

1:虛擬用戶:與系統無關聯,不能登入系統,只能訪問FTP服務器

2:vsftp的服務進程是vsftpd

3:vsftpd的配置文件是/etc/vsftpd/vsftpd.conf .

4:vsftpd的用戶文件是/etc/vsftpd/ftpusers

5:vsftpd的用戶文件是/etc/vsftpd/user_list

6:推薦使用虛擬用戶登入vs-FTP服務器

二:建立虛擬用戶的過程

1:創建虛擬用戶文本文件,添加虛擬用戶和密碼

touch /etc/vsftpd/vuser.txt

mike

123456

john

123456

2:生成虛擬數據庫文件

db_load –T –t hash –f /etc/vsftpd/vuser.txt /etc/vsftpd/vuser.db

3:配置PAM文件,目的是對客戶端進行驗證

編輯/etc/pam.d/vsftpd文件,批注所有內容,后添加:

auth required pam_userdb.so db=/etc/vsftpd/vuser

account required pam_userdb.so db=/etc/vsftpd/vuser

4:修改虛擬數據庫文件vuser.db的權限為 700

chmod 777 vuser.db

5:增加一個實體用戶vuser ,使用它來對應所有虛擬用戶,虛擬用戶使用實體用戶來訪問ftp服務器。

useradd -d /var/ftp/vuser vuser

mkdir /var/ftp/vuser

chown vuser.vuser /var/ftp/vuser

6:修改vsftpd.conf配置文件,使虛擬用戶可以訪問vsftpd服務器

guest_enable=YES ####激活虛擬賬戶

guest_username=vuser ####把虛擬賬戶綁定為實體賬戶vuser

pam_service_name=vsftpd ####使用PAM驗證

7:使用虛擬用戶mike成功訪問ftp服務器

三:控制虛擬用戶的訪問

1:設置虛擬用戶的主配置文件,編輯vsftpd.conf文件,激活:

user_config_dir=/etc/vsftpd/vsftpd_user_conf

2: 建立vsftpd_user_conf

mkdir /etc/vsftpd/vsftpd_user_conf

3:設置虛擬用戶配置文件,與虛擬賬戶同名

touch /etc/vsftpd/vsftpd_user_conf/mike

4:編輯虛擬賬戶mike的配置文件mike,是虛擬賬戶mike獲得相應的權限

anon_world_readable_only=NO ###瀏覽FTP目錄和下載

anon_upload_enable=YES ###上傳

anon_mkdir_write_enable=YES ###建立和刪除目錄

anon_other_write_enable=YES ####改名和刪除文件

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/87841

(0)
oranixoranix
上一篇 2017-10-16
下一篇 2017-10-16

相關推薦

  • linux基礎1

    linux基礎

    Linux干貨 2018-03-08
  • N26-第三周博客作業

    1、  列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。 命令:who | cut -d' ' -f1 | sort –u 涉及知識點: l  who命令 作用:查看當前所有的登錄會話 l  cut命令 作用:將文本內容按照指定內容分割,然后取出指定字段。 常用選項: &…

    Linux干貨 2017-02-10
  • RAID實現原理及常用級別

    RAID(Redundant Array of Independent Disks): 定義:獨立硬盤冗余陣列,舊稱廉價磁盤冗余陣列(Redundant Array of Independent Disks),簡稱磁盤陣列。 原理:把多個相對便宜的硬盤組合起來,成為一個硬盤陣列組,使其性能達到甚至超過價格昂貴,容量巨大的硬盤。 優勢: RAID在容量和管理上…

    Linux干貨 2016-07-22
  • shell腳本的一點補充

    腳本內容補充 數組 變量:存儲單個元素的內存空間數組:存儲多個元素的連續的內存空間,相當于多個變量的集合。 數組名和索引 索引:編號從0開始,屬于數值索引注意:索引可支持使用自定義的格式,而不僅是數值格式,即為關聯索引,bash4.0版本之后開始支持。bash的數組支持稀疏格式(索引不連續) 數組的使用 聲明數組: declare -a ARRAY_NAME…

    Linux干貨 2016-08-24
  • Linux發行版的基礎目錄名稱命名法則及功用規定

    /bin ?存儲單用戶維護模式還能操作的命令 /boot 存儲開機時會使用到的文件 /dev? 存儲設備與接口文件 /etc? 存儲系統的配置文件 /home 系統默認的用戶主目錄 /lib? 存儲函數庫文件 /media 光盤掛載點 /mnt?? 光盤或者U盤掛載點 /opt?? 第三方應用程序文件存放目錄 /root? root用戶家目錄 /sbin ?…

    Linux干貨 2018-03-04
  • 初識linux:計算機的組成及功能

    一、描述計算機的組成及功能。 由馮諾伊曼提出計算機體系結構(5大部件)控制器(Controller):是整個計算機的中樞神經,其功能是對程序規定的控制信息進行解釋,根據其要求進行控制,調度程序、數據、地址,協調計算機各部分工作及內存與外設的訪問等。運算器(Datapath):運算器的功能是對數據進行各種算術運算和邏輯運算,即對數據進行加工處理。 (cpu由控…

    2017-12-03
欧美性久久久久