Linux sftp 服務器配置

Linux 7  sftp 服務器配置

sftp配置

1、創建用戶組

# groupadd sftpgroup

2、創建用戶

# useradd -g sftpgroup -s /sbin/nologin -d /ftpdata/sftp/user user

3、設置密碼

# passwd user

4、創建用戶ftp文件目錄

# mkdir -p /ftpdata/sftp/user

5、修改ssh 的配置文件

# vim /etc/ssh/sshd_config
註釋掉Subsystem sftp /usr/libexec/openssh/sftp-server 這句話 
並且在文件末尾添加如下語句
Subsystem sftp internal-sftp    
Match Group sftpgroup    
ChrootDirectory /ftpdata/sftp/%u    
ForceCommand   internal-sftp    
AllowTcpForwarding no    
X11Forwarding no

6、重啓ssh 服務

# systemctl restart sshd

這時候sftp 能連接(不能上傳和寫入),需在根目錄/ftpdata/sftp/user配置文件夾的權限,user這個目錄下創建個文件夾作爲根目錄。

7、創建ftp根目錄

# mkdir /ftpdata/sftp/user/file
# chown -R user.sftpgroup /ftpdata/sftp/user/file
# chmod -R 755 /ftpdata/sftp/user/file

完成。

附帶我寫的創建用戶的腳本如下:

#!/bin/sh

#############################
## Writer By Tian           #
## Ver 1.0 at 20190108      #
## sh sftp.sh name password #
#############################
data=/ftpdata/sftp
name=$1
pass=$2
echo "you are setting username : ${name}"
echo "you are setting password : $pass for ${name}"

mkdir -p $data/$name
useradd -g sftpgroup -d /ftpdata/sftp/$name/file -s /sbin/nologin $name

if [ $? -eq 0 ];then
   echo "user ${name} is created successfully!!!"
else
   echo "user ${name} is created failly!!!"
   exit 1
fi

echo $pass | passwd $name --stdin  &>/dev/null
if [ $? -eq 0 ];then
   echo "${name}'s password is set successfully"
else
   echo "${name}'s password is set failly!!!"
fi



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