centos7安裝Vsftpd

一、 檢查服務器是否已經安裝
rpm -qa |grep vsftpd

二、安裝
如果輸入上面的命令提示沒有,那麼進行安裝
#yum install -y vsftpd

三、檢查服務是否正常啓動
1、啓動 vsftp 服務
#systemctl start vsftpd

2、檢查服務是否正常啓動
#ps -ef | grep vsftpd

3、把服務添加到開機啓動項
#systemctl enable vsftpd

四、修改 配置文件
1、進到安裝vsftpd安裝目錄
#cd /etc/vsftpd
2、編輯 vsftpd.conf 配置文件

vi vsftpd.conf 修改 一下幾個地方

anonymous_enable=NO

write_enable=YES

local_enable=YES

chroot_local_user=YES

pam_service_name=vsftpd:

listen=no

添加一下 內容:

userlist_enable=YES

tcp_wrappers=YES

allow_writeable_chroot=YES

保存退出

五、配置文件說明
配置的選項及說明

1、 核心設置

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

write_enable=YES //本地用戶的寫權限

local_umask=022 //使用FTP的本地文件權限,默認爲077,一般設置爲022

pam_service_name=vsftpd //驗證方式

connect_from_port_20=YES //啓用FTP數據端口的數據連接

listen=yes // 以獨立的FTP服務運行

listen_port=23 //修改連接端口
2、匿名登錄設置

anon_upload_enable=YES // 如果允許匿名登錄,是否開啓匿名上傳權限

anon_mkdir_write_enable=YES //如果允許匿名登錄,是否允許匿名建立文件夾並在文件夾內上傳文件

anon_other_write_enable=yes // 如果允許匿名登錄,匿名帳號可以有刪除的權限

anon_world_readable_only=no //如果允許匿名登錄,匿名的下載權限,匿名爲Other,可設置目錄/文

件屬性控制

anon_max_rate=30000 // 如果允許匿名登錄,限制匿名用戶傳輸速率,單位bite
3、限制登錄

userlist_enable=yes //用userlist來限制用戶訪問

userlist_deny=no //名單中的人不允許訪問
userlist_file=/etc/vsftpd/userlist_deny.chroot //限制名單文件放置的路徑
4、限制目錄

chroot_local_user=yes //限制所有用戶都在家目錄

chroot_list_enable=YES //調用限制在家目錄的用戶名單

chroot_list_file=/etc/vsftpd/chroot_list //限制在家目錄的用戶名單所在路徑

5、日誌設置

xferlog_file=/var/log/vsftpd.log //日誌文件路徑設置

xferlog_std_format=YES // 使用標準的日誌格式

6、安全設置

idle_session_timeout=600 //用戶空閒超時,單位秒

data_connection_timeout=120 //數據連接空閒超時,單位秒

accept_timeout=60 //將客戶端空閒1分鐘後斷開

local_max_rate=10000 //本地用戶傳輸速率,單位bite

max_clients=100 //FTP的最大連接數

max_per_ip= 3 //每IP的最大連接數

7、被動模式設置

pasv_enable=yes //是否開戶被動模式

pasv_min_port=3000 // 被動模式最小端口
pasv_max_port=5000 //#被動模式最大端口
六 、如沒有創建用戶和路徑需要創建要和指定用戶路徑

如:
mkdir /home/ftp
useradd -d /home/ftp -s /sbin/nologin test

給相應的權限
chowm -R test:test /home/ftp
七、問題解決
vsftpd:500 OOPS: vsftpd: refusing to run with writable root inside chroot ()錯誤

vsftpd:500 OOPS: vsftpd: refusing to run with writable root inside chroot ()錯誤原因:
是因爲從2.3.5之後,vsftpd增強了安全檢查,如果用戶被限定在了其主目錄下,則該用戶的主目錄不能再具有寫權限了!如果檢查發現還有寫權限,就會報該錯誤。
解決這個錯誤的方法,可以用命令chmod a-w /home/test去除用戶主目錄的寫權限,注意把目錄替換成你自己的。或者你可以在vsftpd的配置文件中增加下列兩項中的一項:allow_writeable_chroot=YES

centos7安裝Vsftpd

問題原因:/etc/vsftpd 目錄下沒有chroot_list文件

========================================================================================

服務運維
systemctl restart vsftpd.service # 重啓服務
systemctl start vsftpd.service # 啓動服務
systemctl status vsftpd.service # 服務狀態查看
systemctl enabled vsftpd # 把服務添加到開機啓動項

下載文件
ftp> get readme.txt # 下載 readme.txt 文件
ftp> mget *.txt # 下載

上傳文件
ftp> put /path/readme.txt # 上傳 readme.txt 文件
ftp> mput *.txt # 可以上傳多個文件

新建一個ftp用戶:

useradd -d /home/www/ftp -s /sbin/nologin [ftpuser]

-d /home/www/ftp 指定將來的分享的根目錄是:/home/www/ftp
-s /sbin/nologin 使此賬戶只能登陸ftp不能通過ssh登陸

給相應的權限
chowm -R [ftpuser]:[ftpuser] /home/www/ftp

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章