CentOS 7下安裝配置FTP和SFTP服務

2022-09-09 15:24:20 字數 2977 閱讀 9925

一: ftp

centos7中預設已經安裝了sshd服務(sftp), vsftpd需要手動安裝

1、安裝並啟動ftp服務

1.1 安裝vsftpd

使用 yum 安裝 vsftpd

yum install -y vsftpd

1.2 啟動vsftpd

安裝完成後, 啟動vsftpd服務 :

service vsftpd start

啟動後, 可以看到系統已經監聽了 21 埠(ubuntu下命令為: lsof -i:21)

netstat -nltp | grep 21

此時, 訪問ftp://ipaddr 就可瀏覽主機上的 /var/ftp目錄了

2、配置 ftp 許可權

2.1 了解 vsftpd 配置

vsftpd 的配置目錄為 /etc/vsftpd, 包含下列的配置檔案 :

a. vsftpd.conf 為主要配置檔案

b. ftpusers 配置禁止訪問 ftp 伺服器的使用者列表

c. user_list 配置使用者訪問控制

2.2 阻止匿名訪問和切換根目錄

匿名訪問和切換目錄都會給伺服器帶來安全風險, 我們把這兩個功能關閉.

編輯 /etc/vsftpd/vsftpd.conf, 找到下面兩處配置並修改:

# 禁用匿名使用者  yes 改為no

anonymous_enable=no

# 禁止切換根目錄 刪除或#

chroot_local_user=yes

編輯完成後儲存配置, 重新啟動 ftp 服務

service vsftpd restart

2.3 建立 ftp 使用者

建立乙個使用者 ftpuser

useradd ftpuser

為使用者 ftpuser 設定密碼

passwd ftpuser  或  echo "new_password" | passwd ftpuser --stdin

2.4 限制該使用者僅能通過ftp訪問

限制使用者 ftpuser 只能通過 ftp 訪問伺服器, 而不能直接登入伺服器

usermod -s /sbin/nologin ftpuser

2.5 為使用者分配主目錄

為使用者 ftpuser建立主目錄並約定

/data/ftp 為主目錄, 該目錄不可上傳檔案

/data/ftp/pub 檔案只能上傳到該目錄下

在/data中建立相關的目錄

mkdir -p /data/ftp/pub

設定訪問許可權

chmod a-w /data/ftp && chmod 777 -r /data/ftp/pub

設定為使用者的主目錄

usermod -d /data/ftp ftpuser

3、ok

至此, ftp服務已經搭建完成, 可以使用各種第三方客戶端來測試訪問ftp伺服器

訪問前, 記得關閉防火牆

service firewalld stop

如果需要使用root登入連線ftp服務, 需要配置 /etc/vsftpd/user_list 和 /etc/vsftpd/ftpusers, 將檔案中的root注釋

二: sftp

1、建立使用者組 sftp

groupadd sftp

2、建立使用者 test

useradd -g sftp -s /sbin/nologin test

-s 禁止使用者ssh登入

-g 加入sftp使用者組

3、建立密碼

passwd test

4、修改配置檔案 sshd_config

vim /etc/ssh/sshd_config

將下面這行注釋

# subsystem       sftp  /usr/libexec/openssh/sftp-server

然後在末行加入:

match group sftp

x11forwarding no

allowtcpforwarding no

chrootdirectory %h

forcecommand internal-sftp

說明:match group sftp 匹配sftp使用者組中的使用者

chrootdirectory %h 只能訪問預設的使用者目錄(自己的目錄), 例如 /home/test

5、設定目錄許可權

chown root:sftp /home/test

chgrp -r sftp /home/test

chmod -r 755 /home/test

# 設定使用者可以上傳的目錄, 該使用者下允許使用者上傳刪除修改檔案及資料夾

mkdir /home/test/upload

chown -r test:sftp /home/test/upload

chmod -r 755 /home/test/upload

6、解決報錯問題

修改 /etc/selinux/config 中selinux 為 disabled

7、使用sftp客戶端連線伺服器

使用第三方客戶端連線sftp伺服器, 或者使用python中的paramiko模組連線

CentOS 7下安裝配置FTP

ftp工具使用flashfxp,不推薦使用filezilla。yum install y vsftpdvi etc vsftpd vsftpd.conf anonymous enable no anonymous enable yes chroot local user yes 去掉前面的注釋 ch...

CentOS 7 安裝配置FTP

安裝vsftpd yum install y vsftpd編輯ftp配置檔案 vi etc vsftpd vsftpd.conf anonymous enable no anonymous enable yes chroot local user yes 去掉前面的注釋 chroot list en...

CentOS7下安裝配置vncserver

centos7下安裝配置 centos7下安裝配置 centos7安裝配置vncserver centos上vnc 啟動和關閉 常見問題彙總 vnc 連線不上,出現warning zhouziqi 1 is taken because of tmp x11 unix x1 vnc和主機之間共享剪下板...