标签:
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
标签:
来源: http://blog.51cto.com/2475296/2340121