導航:首頁 > 文件管理 > centosvsftpd配置文件

centosvsftpd配置文件

發布時間:2023-02-24 11:55:21

1. centos怎麼搭建ftp伺服器

方法/步驟
一:安裝vsftpd
查看是否已經安裝vsftpd

二:基於虛擬用戶的配置
所謂虛擬用戶就是沒有使用真實的帳戶,只是通過映射到真實帳戶和設置許可權的目的。虛擬用戶不能登錄CentOS系統
修改配置文件
配置文件直接貼出來吧

三:使用Berkeley DB進行認證
yum install db4 db4-utils
然後,創建用戶密碼文本/etc/vsftpd/vuser_passwd.txt ,注意奇行是用戶名,偶行是密碼

接著,生成虛擬用戶認證的db文件
編輯認證文件/etc/pam.d/vsftpd,全部注釋掉原來語句,再增加以下兩句:
最後,創建虛擬用戶配置文件

設置FTP根目錄許可權
最新的vsftpd要求對主目錄不能有寫的許可權所以ftp為755,主目錄下面的子目錄再設置777許可權

添加防火牆,把ftp的21埠開放 vi /etc/sysconfig/iptables

經過以上步驟我們就完成了ftp伺服器的搭建,讓我們暢游ftp吧

2. linux下安裝vsftpd常見問題

當我們限定了用戶不能跳出其主目錄(chroot_local_user=YES)之後,使用該用戶登錄FTP時往往會遇到這個錯誤,這個問題由於版本更新造成的,從2.3.5之後,vsftpd增強了安全檢查, 如果用戶被限定在了其主目錄下,則該用戶的主目錄不能再具有寫許可權了! 如果檢查發現還有寫許可權,就會報該錯誤。
要修復這個錯誤,可以用命令chmod a-w /home/user去除用戶主目錄的寫許可權,注意把目錄替換成你自己的。或者你可以在vsftpd的配置文件中增加下列兩項中的一項:

參考: https://www.cnblogs.com/116970u/p/10788285.html

要是還不行,就使用客戶端工具吧,常用的FileZilla個大平台免費使用。

可以通過systemctl status vsftpd -l查看出現了什麼問題,本立當中就是出現了變數錯誤的情況

11月 20 19:01:36 MyCentos vsftpd[40707]: 500 OOPS: unrecognised variable in config file: anno_root
anno_root變數寫錯了,修改即可

3. 怎麼進入到vsftpd的主配置文件

嚴格來說,整個 vsftpd 的配置文件就只有這個檔案!這個檔案的設定是以 bash
的變數設定相同的方式來處理的, 也就是`參數=設定值`來設定的,注意,
等號兩邊不能有空白喔!至於詳細的 vsftpd.conf 可以使用 `man 5 vsftpd.conf` 來詳查。

#### 與伺服器環境較相關的設定值

1. connect_from_port_20=YES (NO)

ftp-data 的埠號

2. listen_port=21

vsftpd 使用的命令通道 port,如果你想要使用非正規的埠號,這個設置。
不過你必須要知道,這個設定值僅適合以 stand alone 的方式來啟動!
(對於 super daemon 無效)

3. dirmessage_enable=YES (NO)

當用戶進入某個目錄時,會顯示該目錄需要注意的內容,顯示的檔案默認
是 `.message` ,你可以使用第四個設置來修改。

4. message_file=.message

當 dirmessage_enable=YES 時,可以修改這個設置來讓 vsftpd 尋找該文件來顯示消息!

5. listen=YES (NO)

若設置為 YES 表示 vsftpd 是以 stand alone 的方式來啟動的!預設是 NO!
所以我們的 CentOS 將它改為 YES!這樣才能使用 stand alone 的方式來喚醒。

6. pasv_enable=YES (NO)

支持數據流的被動式聯機模式(passive mode),一定要設定為 YES!

7. use_localtime=YES (NO)

是否使用本地時間?vsftpd 預設使用 GMT 時間(格林威治),所以預設的 FTP
的日期會比中國晚 8 小時,建議修改設定為 YES !

8. write_enable=YES (NO)

如果你允許用戶上傳數據時,就要啟動這個設定值

9. connect_timeout=60

單位是秒,在數據連接的主動式聯機模式下,我們發出的連接訊號在 60 秒內得
不到客戶端的響應,則不等待並強制斷線。

10. accept_timeout=60

當用戶以被動式 PASV 來進行數據傳輸時,如果伺服器啟用 passive port 並等
待 client 超過 60 秒而無回應, 那麼就給他強制斷線!這個設定值與
connect_timeout 類似,不過一個是管理主動聯機,一個管理被動聯機。

11. data_connection_timeout=300

如果伺服器與客戶端的數據聯機已經成功建立 (不論主動還是被動聯機),但是
可能由於線路問題導致 300 秒內還是無法順利的完成數據的傳送,那客戶端的
聯機就會被我們的 vsftpd 強制剔除!

12. idle_session_timeout=300

如果使用者在 300 秒內都沒有命令動作,強制離線!

13. max_clients=0

如果 vsftpd 是以 stand alone 方式啟動的,那麼這個設定項目可以設定同一
時間,最多有多少 client 可以同時連上 vsftpd !限制使用 FTP 的用量!

14. max_per_ip=0

與上面 max_clients 類似,這里是同一個 IP 同一時間可允許多少聯機

15. pasv_min_port=0, pasv_max_port=0

上面兩個是與 passive mode 使用的 port number 有關,如果你想要使用 65400
到 65410 這 11 個 port 來進行被動式聯機模式的連接,可以這樣設定
pasv_max_port=65410 以及 pasv_min_port=65400。 如果是 0 的話,表示隨機
取用而不限制。

16. ftpd_banner=一些文字說明

當使用者聯機進入到 vsftpd 時,在 FTP 客戶端軟體上頭會顯示的說明文字。
不過,這個設定值數據比較少啦! 建議你可以使用底下的 banner_file 設定值
來取代這個設置

17. banner_file=/path/file

這個設置可以指定某個純文本檔作為使用者登入 vsftpd 伺服器時所顯示的歡
迎消息。同時,也能夠放置一些讓使用者知道本 FTP 伺服器的目錄架構!

4. linux 伺服器怎麼啟動ftp

Liux系統下有好幾款很不錯的ftp服務,各有特點,適應於不同的應用場合。一般在各種Linux的發行版中,默認帶有的ftp軟體是vsftp,本文是針對CentOs7系統下搭建vsftpd服務為例。
1. 首先確定系統中已經安裝了vsftpd軟體,查看命令:
rpm -q vsftpd
rpm -qa |grep vsftpd
2. 安裝vsftpd(以yum安裝為例)
yum install -y vsftpd
3.關閉selinux和iptables(也可配置防火牆相關訪問策略,反之系統阻斷),設置vsftpd開機自啟
永久關閉selinux
vi /etc/sysconfig/selinux
將配置SELinux=enforcing改為SELinux=disabled
保存退出並重啟伺服器
驗證是否關閉命令:getenforce
關閉防火牆
centos 7 操作命令:systemctl stop firewalld.service
centos 6 操作命令:service stop iptables
設置vsftpd開機自啟
centos 7 操作命令:systemctl enable vsftpd.service
centos 6 操作命令:chkconfig vsftpd on
4.vsftpd的配置
ftpusers 該文件用來指定哪些用戶不能訪問ftp伺服器。
user_list 該文件用來指定的默認賬戶在默認情況下也不能訪問ftp伺服器。
vsftpd.conf vsftpd的主要配置文件,路徑:
/etc/vsftpd/vsftpd.conf
# vsftpd.conf的配置
# 是否允許匿名登錄
anonymous_enable=NO
# 是否允許本地用戶登錄
local_enable=YES
# 是否允許本地用戶對FTP伺服器文件具有寫許可權
write_enable=YES
# 本地用戶主目錄
local_root=/var/ftp
# 匿名用戶主目錄
anon_root=/var/ftp/pub
# 是否允許匿名用戶上傳文件,如允許,須將全局的
write_enable=YES
anon_upload_enable=YES
# 是否允許匿名用戶創建新文件夾
anon_mkdir_write_enable=YES
# 容許匿名用戶除了新建和上傳外的其他許可權
anon_other_write_enable=YES
# 本地用戶掩碼
local_umask=022
# 設置匿名登入者新增或上傳檔案時的umask值
anon_umask=022
# 是否激活目錄歡迎信息功能
dirmessage_enable=YES
xferlog_enable=YES
# 主動模式數據傳輸20埠
connect_from_port_20=NO
xferlog_std_format=YES
# 是否監聽ipv4
listen=YES
# listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
# 是否設置被動模式
pasv_enable=YES
# 被動模式傳輸使用埠
pasv_min_port=20020
pasv_max_port=20020
# 被動模式返回給客戶端的ip地址(伺服器內網穿透時使用)
pasv_address=0.0.0.0( 伺服器外網ip )
# 設置用戶訪問目錄,默認只允許用戶自己的ftp目錄
# 需要同時設置allow_writeable_chroot,允許受限用戶的寫許可權,不然會報錯
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
allow_writeable_chroot=YES
5.創建例外用戶文件
#哪怕沒有例外用戶也必須創建
vim /etc/vsftpd/chroot_list
只想讓指定賬戶不限制在其主目錄,其它賬戶都限制在主目錄。
對於chroot_local_user與chroot_list_enable的組合效果,可以參考下表:
6. 創建ftp新用戶
#新增一個test(用戶名),並指定上傳目錄在/home/ftp/test下
useradd -g root -d /home/ftp/test -s /sbin/nologin test
# 如果後期想變更此用戶的上傳到(/XXX/ftp/test),請使用下面的命令:
usermod -d /XXX/ftp/test test

# 設置用戶密碼
passwd test
因為安全問題,vaftpd不允許匿名用戶在ftp主目錄上傳,可以新建一個子目錄,設置許可權為777
7. 關於local_umask和anon_umask掩碼
掩碼決定了上傳文件的許可權,掩碼為022代表上傳後的文件許可權為
666-022=644 -> rw-r--r--
掩碼即為要去除的許可權為,默認設為033即可。

8. 啟動vsftp服務
#centos7 操作命令
啟動: systemctl start vsftpd.service
停止: systemctl stop vsftpd.service
重啟: systemctl restart vsftpd.service
查看狀態: systemctl status vsftpd.service
#centos6 操作命令
啟動: service vsftpd start
停止: service vsftpd stop
重啟: service vsftpd restart
查看狀態: service vsftpd status

5. CentOS7安裝及配置vsftpd-精簡絕版

備註:如果後期想變更此用戶的上傳目錄到
(/run/media/root/xxx/wwwroot/ xxx.org ),
請使用下面的命令:

輸入怎麼想設置的密碼則可。

(1)當我們限定了用戶不能跳出其主目錄之後,使用該用戶登錄FTP時往往會遇到這個錯誤:

500 OOPS: vsftpd: refusing to run with writable root inside chroot ()

(2)從2.3.5之後,vsftpd增強了安全檢查,如果用戶被限定在了其主目錄下,

則該用戶的主目錄不能再具有寫許可權了!如果檢查發現還有寫許可權,就會報該錯誤。

要修復這個錯誤,可以用命令chmod a-w /home/user去除用戶主目錄

的寫許可權,注意把目錄替換成你自己的。

或者你可以在vsftpd的配置文件中增加下列一項:

allow_writeable_chroot=YES

(3)使用cmd命令容器發生

500 OOPS: could not read chroot() list file:/etc/vsftpd/chroot_list錯誤

解決:修改vsftpd.conf配置文件,注釋以下內容

(4)本地使用ftpClient調試是發生

java.net.SocketException: Connection reset異常

解決:在本地電腦執行以下命令

netsh advfirewall set global StatefulFTP disable

# 啟動服務
systemctl start vsftpd.service
# 停止服務
systemctl stop vsftpd.service
# 重啟服務
systemctl restart vsftpd.service
# 服務狀態查看
systemctl status vsftpd.service
# 設置開機啟動
systemctl enable vsftpd

6. centos最小安裝後 如何安裝vsftpd

以下主要參考《Linux就該這么學》vsftpd安裝教程部分

[root@linuxprobe~]#yuminstallvsftpd-y

iptables防火牆管理工具中默認禁止了ftp傳輸協議的埠號,因此咱們在正式配置vsftpd服務程序前還需要清空一下iptables防火牆的默認策略,並將當前已經被清理的防火牆策略狀態保存下來:

[root@linuxprobe~]#iptables-F
[root@linuxprobe~]#serviceiptablessave
iptables:Savingfirewallrulesto/etc/sysconfig/iptables:[OK]

vsftpd服務程序的主配置文件(/etc/vsftpd/vsftpd.conf)中參數總共有123行左右,但大多數都是以#(井號)開頭的注釋信息,咱們可以用grep命令的-v參數來過濾並反選出沒有包含#(井號)的參數行,也就是把所有的注釋信息都過濾掉,這樣再通過輸出重定向符寫會到原始的主配置文件名稱中即可:

[root@linuxprobe~]#mv/etc/vsftpd/vsftpd.conf/etc/vsftpd/vsftpd.conf_bak
[root@linuxprobe~]#grep-v"#"/etc/vsftpd/vsftpd.conf_bak>/etc/vsftpd/vsftpd.conf
[root@linuxprobe~]#cat/etc/vsftpd/vsftpd.conf
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

劉遄老師給同學們整理出了vsftpd程序程序的主配置文件中常用的參數及作用介紹,您現在只要簡單的瀏覽一下,接下來的實驗中如果不明白再過來查閱就可以。

參數 作用

listen=[YES|NO] 是否以獨立運行的方式監聽服務。

listen_address=IP地址 設置要監聽的IP地址。

listen_port=21 設置FTP服務的監聽埠。

download_enable=[YES|NO] 是否允許下載文件。

userlist_enable=[YES|NO]
userlist_deny=[YES|NO] 是否啟用「禁止登陸用戶名單」。

max_clients=0 最大客戶端連接數,0為不限制。

max_per_ip=0 同一IP地址最大連接數,0位不限制。

anonymous_enable=[YES|NO] 是否允許匿名用戶訪問。

anon_upload_enable=[YES|NO] 是否允許匿名用戶上傳文件。

anon_umask=022 匿名用戶上傳文件的umask值。

anon_root=/var/ftp 匿名用戶的FTP根目錄。

anon_mkdir_write_enable=[YES|NO] 是否允許匿名用戶創建目錄。

anon_other_write_enable=[YES|NO] 是否開放匿名用戶其他寫入許可權。

anon_max_rate=0 匿名用戶最大傳輸速率(位元組),0為不限制。

local_enable=[YES|NO] 是否允許本地用戶登陸FTP。

local_umask=022 本地用戶上傳文件的umask值。

local_root=/var/ftp 本地用戶的FTP根目錄。

chroot_local_user=[YES|NO] 是否將用戶許可權禁錮在FTP目錄,更加的安全。

local_max_rate=0 本地用戶最大傳輸速率(位元組),0為不限制。

7. CentOs ftp 設置用戶訪問指定目錄

8. 限制虛擬用戶的家目錄的家目錄的配置是什麼

centos 6.5 vsftpd 虛擬用戶配置
一:基本知識
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.檢查是否安裝過vsftpd

rpm -qa vsftpd

安裝:

(1) yum -y install vsftpd lftp

(2) 關閉iptables 和 selinux

/etc/init.d/iptables stop

臨時關閉selinux

setenforce 0

永久性的關閉selinux

vim /etc/selinux/config

修改為 ————》SELINUX=disabled

(3) 創建虛擬用戶文本文件,添加用戶及密碼

cd /etc/vsftpd

touch vuser.txt

備註:奇數行是用戶名,偶數行是密碼。例如:

alix

123456

(4) 生成虛擬資料庫文件(需使用到db_load)

yum -y install db4-utils db4-devel db4-4.3

db-load -T -t hash -f /etc/vsftpd/vuser.txt /etc/vsftpd/vuser.db

(5) 配置PAM文件,用來驗證客戶端

vim /etc/pam.d/vsftpd

authrequiredpam_userdb.sodb=/etc/vsftpd/vuser

accountrequiredpam_userdb.sodb=/etc/vsftpd/vuser

(6)修改虛擬資料庫文件的許可權

chmod 700 /etc/vsftpd/vuser.db

(7) 增加一個系統用戶vuser,用於匿名用戶的映射。

mkdir /data

useradd -d /data vuser

chown vuser.vuser /data

usermod -s /sbin/nologinvuser

(8) 修改主配置文件vsftpd.conf,添加:

guest_enable=YES ##激活虛擬用戶

guest_uaername=vuser##把虛擬用戶綁定為系統賬戶vuser

pam_service_name=vuser##使用pam認證

(9) 添加虛擬用戶的配置文件

vim /etc/vsftpd/vsftpd.conf

添加:user_config_dir=/etc/vsftpd/vsftpd_user_conf

(10) 創建vsftpd_user_conf目錄

mkdir /etc/vsftpd/vsftpd_user_conf

(11) 設置虛擬用戶配置文件,與虛擬用戶名相同

touch /etc/vsftpd/vsftpd_user_conf/testuser

(12) 編輯虛擬用戶配置文件

vim /etc/vsftpd/vsftpd_user_conf/testuser

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

anon_upload_enable=YES ###允許上傳

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

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

local_root=/ftpdir/ #### 指定虛擬用戶在系統用戶下面的路徑,限制虛擬用戶的家目錄,虛擬用戶登錄後的主目錄。

備註:一定要檢查後面是否有空格。

(13)啟動

/etc/init.d/vsftpd restart

三。添加新的虛擬用戶

添加虛擬用戶

vim /etc/vsftpd/vuser.txt

web2

123456

生成庫文件

db-load -T -t hash -f /etc/vsftpd/vuser.txt /etc/vsftpd/vuser.db

編輯虛擬用戶的配置文件

touch /etc/vsftpd/vsftpd_user_conf/web2

vim /etc/vsftpd/vsftpd_user_conf/web2

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

anon_upload_enable=YES ###允許上傳

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

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

local_root=/ftpdir/ #### 指定虛擬用戶在系統用戶下面的路徑,限制虛擬用戶的家目錄,虛擬用戶登錄後的主目錄。

創建用戶家目錄

mkdir /ftpdir/web2

修改許可權

chown -R vuser.vuser /ftpdir/web2

載入vsftpd

/etc/init.d/vsftpd reload

本地連接:

ftp

(需要把vsftpd.conf 里的ssl關了)

lftp

(在 /etc/lftp.cong里添加 set ssl:verify-certificate no)

四、配置ssl
1、安裝包
apt-get -y install openssl

2、創建一個證書(時間365天)並填寫相關一些信息
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -out /etc/ssl/certs/vsftpd.pem -keyout /etc/ssl/certs/vsftpd.pem
Generating a 2048 bit RSA private key
..........+++
.............+++
writing new private key to '/etc/ssl/certs/vsftpd.pem'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:CN
State or Province Name (full name) [Some-State]:shanghai
Locality Name (eg, city) []:shanghai
Organization Name (eg, company) [Internet Widgits Pty Ltd]:aaa
Organizational Unit Name (eg, section) []:aaa
Common Name (e.g. server FQDN or YOUR name) []:aaa
Email Address []:

3、修改許可權
chmod 0400 /etc/ssl/certs/vsftpd.pem

4、ssl具體配置/etc/vsftpd.conf最後添加
ssl_enable=YES
rsa_cert_file=/etc/ssl/certs/vsftpd.pem
ssl_sslv2=YES
ssl_sslv3=YES
ssl_tlsv1=YES

5、配置說明
ssl_enable=YES #開啟vsftpd對ssl協議的支持
ssl_sslv2=YES #支持SSL v2 protocol
ssl_sslv3=YES #支持SSL v3 protocol
ssl_tlsv1=YES #支持TSL v1
rsa_cert_file=/etc/ssl/certs/vsftpd.pem #存放證書地方

6、重啟服務
/etc/init.d/vsftpd restart
Stopping FTP server: vsftpd.
Starting FTP server: vsftpd.

7、測試
1)lftp fileftp:'redhat'@192.168.1.124
ls: Fatal error: Certificate verification: Not trusted
解決在/etc/lftp.conf文件中添加1行到最後
set ssl:verify-certificate no
再登錄一次就OK了
2)查看日誌
Sat Aug 1 13:52:23 2015 [pid 2] CONNECT: Client "192.168.1.124"
Sat Aug 1 13:52:23 2015 [pid 2] DEBUG: Client "192.168.1.124", "Connection terminated without SSL shutdown - buggy client?"
Sat Aug 1 13:56:25 2015 [pid 2] CONNECT: Client "192.168.1.120"
Sat Aug 1 13:56:25 2015 [pid 1] [fileftp] OK LOGIN: Client "192.168.1.120"

閱讀全文

與centosvsftpd配置文件相關的資料

熱點內容
名企筆試如何刷編程題 瀏覽:49
js跳到頁面某地 瀏覽:550
jsp展示clob欄位 瀏覽:779
nyx在網路上是什麼意思 瀏覽:145
樂播農業app是什麼 瀏覽:530
編程框架如何開發 瀏覽:136
金庸群俠傳3修改代碼 瀏覽:712
檢察院的文件類別有哪些 瀏覽:793
怎麼把九游殘留數據刪除 瀏覽:828
有什麼女生主動聊天的app 瀏覽:436
有哪些可以督促自己的app 瀏覽:244
用USB傳輸視頻文件夾顯示為空 瀏覽:710
恢復文件軟體免費版手機 瀏覽:648
lg怎麼隱藏文件 瀏覽:836
蘋果免費讀書app推薦 瀏覽:497
劉駿微信 瀏覽:113
書旗舊版本80 瀏覽:467
教編程考什麼證 瀏覽:990
下載編程貓後哪裡有客服 瀏覽:13
如何編輯歌曲文件格式 瀏覽:638

友情鏈接