CentOS中vsftp安裝與配置

2022-09-05 16:33:13 字數 4481 閱讀 5882

1. 安裝 

使用chkconfig --list來檢視是否裝有vsftpd服務; 

使用yum命令直接安裝:yum -y install vsftpd 

然後為它建立日誌檔案:touch /var/log/vsftpd.log 

這樣簡單的兩個命令就完成了vsftp的安裝,但是如果你現在想這樣ftp://your_ip來訪問的話,那還不行,還需要配置許可權! 

2. 啟動與配置自啟動 

使用chkconfig --list來檢視vsftpd服務啟動項情況; 

如果看到的是如下顯示的結果: 

vsftpd          0:off   1:off   2:off   3:off   4:off   5:off   6:off 

服務全部都是off的,注意這裡的off表示的是伺服器啟動的時候是否會自啟動服務,我們使用如下命令來配置其自啟動: 

chkconfig --level 2345 vsftpd on #2345對應的是上面對應的0-6項 

檢視與管理ftp服務: 

啟動ftp服務:service vsftpd start 

檢視ftp服務狀態:service vsftpd status 

重啟ftp服務:service vsftpd restart 

關閉ftp服務:service vsftpd stop 

3. 配置vsftp服務 

#vi /etc/vsftpd/vsftpd.conf 

3.1 編輯修改如下專案: 

anonymous_enable=no #設定不允許匿名訪問 

local_enable=yes #設定本地使用者可以訪問。注:如使用虛擬宿主使用者,在該專案設定為no的情況下所有虛擬使用者將無法訪問。 

chroot_list_enable=yes #使使用者不能離開主目錄 

xferlog_file=/var/log/vsftpd.log #設定vsftpd的服務日誌儲存路徑。注意,該檔案預設不存在。必須要手動touch出來 

ascii_upload_enable=yes #允許使用ascii模式上傳 

pam_service_name=vsftpd #pam認證檔名。pam將根據/etc/pam.d/vsftpd進行認證 

以下這些是關於vsftpd虛擬使用者支援的重要centos ftp服務配置專案。預設vsftpd.conf中不包含這些設定專案,需要自己手動新增rhel/centos ftp服務配置。 

guest_enable=yes #設定啟用虛擬使用者功能。 

guest_username=ftp #指定虛擬使用者的宿主使用者。-rhel/centos中已經有內建的ftp使用者了 

user_config_dir=/etc/vsftpd/vuser_conf #設定虛擬使用者個人vsftp的rhel/centos ftp服務檔案存放路徑。存放虛擬使用者個性的centos ftp服務檔案(配置檔名=虛擬使用者名稱) 

3.2 建立chroot list,將ftp使用者加入其中: 

touch /etc/vsftpd/chroot_list 

echo ftp >> /etc/vsftpd/chroot_list 

3.3 進行認證: 

首先,安裝berkeley db工具,很多人找不到db_load的問題就是沒有安裝這個包。 

yum install db4 db4-utils 

然後,建立使用者密碼文字/etc/vsftpd/vuser_passwd.txt ,注意奇行是使用者名稱,偶行是密碼 

ftpuser1 

ftppass1 

ftpuser2 

ftppass2 

接著,.生成虛擬使用者認證的db檔案 

db_load -t -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db 

隨後,編輯認證檔案/etc/pam.d/vsftpd,全部注釋掉原來語句 

再增加以下兩句 

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

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

最後,建立虛擬使用者個性rhel/centos ftp服務檔案 

mkdir /etc/vsftpd/vuser_conf/ 

vi /etc/vsftpd/vuser_conf/ftpuser1 

內容如下: 

local_root=/etc/vsftpd/ftp1    虛擬使用者的根目錄(根據實際修改) 

write_enable=yes 可寫 

anon_umask=022 掩碼 

anon_world_readable_only=no 

anon_upload_enable=yes 

anon_mkdir_write_enable=yes 

anon_other_write_enable=yes 

4. 為目錄附許可權並重啟動vsftp服務: 

mkdir /opt/var/ftp/ftpuser1 

chmod 777 /opt/var/ftp/ftpuser1 

service vsftpd restart 

5. 常見問題: 

5.1 553 could not create file 

一般都是selinux的問題,設定selinux的乙個值,重啟伺服器即可。 

setsebool -p ftpd_disable_trans 1 

service vsftpd restart 

5.2 500 oops: bad bool value in config file for: write_enable 

注意你的centos ftp服務檔案中保證每一行最後沒有任何空格,一般出錯就是在多餘的空格上。 

在配置檔案中新增或修改anon_umask項的值。如anon_umask=022或000 

6. 使用命令新增ftp使用者(與3.3類似) 

6.1 新增ftp使用者,命令格式: 

#adduser -d /目錄路徑 -g ftp -s /sbin/nologin 使用者名稱 

如使用:#adduser -d /opt/dongge -g ftp -s /sbin/nologin dongge 

增加了乙個名為dongge的使用者,它的目錄屬於/opt/dongge下面,屬於ftp使用者組。此使用者是不可以登陸我們終端伺服器的。

6.2 新增密碼: 

#passwd dongge 

設定使用者名為ftpuser的使用者在目錄下可以讀寫的許可權 

#chown -r dongge:ftp /opt/dongge/ 

6.3 目錄掛載: 

如果我們想把/opt/dongge目錄掛到我們的ftp目錄下面,可以使用mount命令 

#mount –-bind /opt/dongge /var/ftp/dongge 

這樣我們就完成了新增使用者與掛載目錄的配置。 

新增如下**: 

alias /fileshare "/var/ftp/ftpuser1" 

options indexes multiviews 

allowoverride none 

order allow,deny 

allow from all 

8. 偷懶vsftp的配置方法 

完成步驟1,2,3.1後,直接將如下**新增到/etc/vsftpd/vsftpd.conf檔案中: 

write_enable=yes 可寫 

anon_umask=022 掩碼 

anon_world_readable_only=no 

anon_upload_enable=yes 

anon_mkdir_write_enable=yes 

anon_other_write_enable=yes 

重啟vsftpd服務即可

另外在網上也找到了一些做法:

如何把帳號ftp預設的路徑/var/ftp更改到別處?或者是,我的linux所有的目錄都放在/根分割槽,因為空間緊張,我能否把ftp這個使用者的預設路徑放到別的分割槽??

對於ftp這個使用者的管理,我們應該檢視/etc/passwd ,然後修改ftp使用者那行;

ftp:x:14:50:ftp user:/var/ftp:/sbin/nologin

比如我們想把ftp使用者的家目錄改為/opt/ftp,則要把類似上一行改為

ftp:x:14:50:ftp user:/opt/ftp:/sbin/nologin

然後我們要建立ftp使用者的新的家目錄;

[root@localhost ~]# mkdir /opt/ftp

[root@localhost ~]# chmod 755 /opt/ftp

[root@localhost ~]# chown root:root /opt/ftp

CentOS中vsftp安裝與配置

1.安裝 使用chkconfig list來檢視是否裝有vsftpd服務 使用yum命令直接安裝 yum y install vsftpd 然後為它建立日誌檔案 touch var log vsftpd.log 這樣簡單的兩個命令就完成了vsftp的安裝,但是如果你現在想這樣ftp your ip來...

CentOS中vsftp安裝與配置

1.安裝 使用chkconfig list來檢視是否裝有vsftpd服務 使用yum命令直接安裝 yum y install vsftpd 然後為它建立日誌檔案 touch var log vsftpd.log 這樣簡單的兩個命令就完成了vsftp的安裝,但是如果你現在想這樣ftp your ip來...

Centos安裝vsftp服務

1.安裝vsftp yum install vsftpd 2.開啟vsftp服務,設定開機自啟 service vsftpd restartchkconfig vsftpd on 停止vsftpd service vsftpd stop 重啟vsftpd service vsftpd restart...