搭建linux sftp服务

一、修改复制好的配置文件

1、 拷贝/usr/lib/systemd/system/目录下的sshd.service文件,放到/etc/systemd/system/目录下,命名为:sftpd.service

cp /usr/lib/systemd/system/sshd.service /etc/systemd/system/sftpd.service
2、 拷贝/etc/pam.d/目录下的sshd文件,放到同目录,命名为:sftpd

cp /etc/pam.d/sshd /etc/pam.d/sftpd
3、 拷贝/etc/ssh/目录下的sshd_config文件,放到同目录,命名为:sftpd_config

cp /etc/ssh/sshd_config /etc/ssh/sftpd_config
4、 对service和rcsftpd进行软连接

ln -sf /usr/sbin/service /usr/sbin/rcsftpd
5、 对sshd和sftpd进行软连接

ln -sf /usr/sbin/sshd /usr/sbin/sftpd
6、 拷贝/etc/sysconfig/目录下的sshd文件,放到同目录,命名为:sftp

cp /etc/sysconfig/sshd /etc/sysconfig/sftp

 二、修改复制好的配置文件

1、 修改/etc/systemd/system/目录下sftpd.service文件

 2、 修改/etc/ssh/目录下的sftpd_config文件

//配置文件第17行,将端口改为自己想要的端口
Port 12080
//配置文件第38行,禁止root登录
PermitRootLogin no
//配置文件第116行,取消该行的注释,并将sshd.pid改成sftpd.pid
PidFile /var/run/sftpd.pid
//配置文件第132行,将这行注释,并在最后添加6行
#Subsystem    sftp    /usr/libexec/openssh/sftp-server
 
Subsystem sftp internal-sftp
Match Group banks
ChrootDirectory /workspace/projects/sftpfile
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no

3、添加sftp的专用账户

//创建文件夹
mkdir -p /workspace/projects/sftpfile
chmod 755 /workspace/projects/sftpfile
 
//添加组
groupadd banks
 
//创建用户并添加到组(禁止ssh登录)
useradd -g banks -s /bin/false ccb
//修改用户密码
passwd ccb
 
 
//新建ccb文件夹存放对账文件
mkdir -p /workspace/projects/sftpfile/ccb
 
//将ccb文件夹的所有者和组为ccb:banks
chown ccb:banks /workspace/projects/sftpfile/ccb
 

 

三、重启sftpd服务

systemctl daemon-reload
systemctl start sftpd

 

四、添加开机启动项

//添加开机启动项
systemctl enable  sftpd
//查询开机启动项
systemctl list-unit-files | grep sftpd

  

posted @ 2023-04-26 19:21  zk01  阅读(235)  评论(0编辑  收藏  举报