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

一: FTPlinux

Centos7中默認已經安裝了sshd服務(sftp), vsftpd須要手動安裝vim

一、安裝並啓動FTP服務安全

1.1 安裝vsftpd服務器

使用 yum 安裝 vsftpdssh

yum install -y vsftpd測試

 

1.2 啓動vsftpdspa

安裝完成後, 啓動vsftpd服務 :rest

service vsftpd startserver

啓動後, 能夠看到系統已經監聽了 21 端口(Ubuntu下命令爲: lsof -i:21)test

netstat -nltp | grep 21

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

 

二、配置 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

 

三、OK

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

訪問前, 記得關閉防火牆

service firewalld stop

若是須要使用root登陸鏈接FTP服務, 須要配置 /etc/vsftpd/user_list 和 /etc/vsftpd/ftpusers, 將文件中的root註釋

 

二: SFTP

一、建立用戶組 sftp

groupadd sftp

二、建立用戶 test

useradd -G sftp -s /sbin/nologin test

-s 禁止用戶ssh登陸

-G 加入sftp用戶組

三、建立密碼

passwd test

四、修改配置文件 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

 

五、設置目錄權限

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

六、解決報錯問題

修改 /etc/selinux/config 中SELINUX 爲 disabled

七、使用sftp客戶端鏈接服務器

使用第三方客戶端鏈接sftp服務器, 或者使用Python中的paramiko模塊鏈接

相關文章
相關標籤/搜索