搭建基于 Quota 的 SFTP 服务器

一、需求概述

1. 背景描述

SFTP 服务面向公司不同部门的用户开放,使用各自的目录(及权限),并设置磁盘限额。

2. 信息描述

信息

需求

操作系统

CentOS 7.x

OpenSSH 版本

OpenSSH_7.4p1

SFTP 服务端 IP

192.168.10.1/24

物理磁盘

/dev/sdb

逻辑卷

/dev/vgdata/lv_data

SFTP 根目录

/sftp/home/

SSH 监听端口

22 和 10022

管理员用户与 UID

sftpadm(600)

管理员群组与 GID

sftp(600)

二、系统环境准备

1. 文件系统空间相关

# 0. 准备一块独立的物理磁盘:
[root@sftpfileserver ~]# lsblk /dev/sdb
NAME MAJ:MIN RM SIZE RO TYPE
sdb 8:16 0 100G 0 disk


# 1. 进行分区:
[root@sftpfileserver ~]# parted -s /dev/sdb mklabel gpt mkpart primary 0% 100%


# 2. 创建PV:
[root@sftpfileserver ~]# pvcreate /dev/sdb1
Physical volume "/dev/sdb1" successfully created.

[root@sftpfileserver ~]# pvs /dev/sdb1
PV VG Fmt Attr PSize PFree
/dev/sdb1 lvm2 --- <100.00g <100.00g


# 3. 创建VG,将PV加入该VG池中:
[root@sftpfileserver ~]# vgcreate vgdata /dev/sdb1
Volume group "vgdata" successfully created

[root@sftpfileserver ~]# vgs /dev/vgdata
VG #PV #LV #SN Attr VSize VFree
vgdata 1 0 0 wz--n- <100.00g <100.00g


# 4. 使用VG新建LV空间:
[root@sftpfileserver ~]# lvcreate -l 100%Free -n lv_data vgdata
Logical volume "lv_data" created.

[root@sftpfileserver ~]# lvs /dev/vgdata/lv_data
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv_data vgdata -wi-a----- <100.00g


# 5. 对LV进行格式化,标记为FS:
[root@sftpfileserver ~]# mkfs.xfs /dev/vgdata/lv_data
meta-data=/dev/vgdata/lv_data isize=512 agcount=4, agsize=6553344 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=26213376, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=12799, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0


# 6. 新建挂载路径:
[root@sftpfileserver ~]# mkdir -p /sftp/home


# 7. 挂载文件系统:
[root@sftpfileserver ~]# mount /dev/vgdata/lv_data /sftp/home


# 8. 更新fstab文件:
[root@sftpfileserver ~]# echo "/dev/mapper/vgdata-lv_data /sftp/home xfs defaults 0 0" >> /etc/fstab


# 9. 查看FS状态:
[root@sftpfileserver ~]# df -h /sftp/home
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vgdata-lv_data 100G 33M 100G 1% /sftp/home

[root@sftpfileserver ~]# lsblk /dev/sdb
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdb 8:16 0 100G 0 disk
└─sdb1 8:17 0 100G 0 part
   └─vgdata-lv_data 253:3 0 100G 0 lvm /sftp/home


# 10. 更新目录权限:
[root@sftpfileserver ~]# chmod 0755 /sftp
[root@sftpfileserver ~]# chmod 0755 /sftp/home
[root@sftpfileserver ~]# chown -R root:root /sftp

2. SSH 监听多端口

# 1. 新增如下配置行:
[root@sftpfileserver ~]# vi /etc/ssh/sshd_config
#Port 22
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::
ListenAddress 0.0.0.0:22
ListenAddress 0.0.0.0:10022


# 2. 重载sshd服务:
[root@sftpfileserver ~]# systemctl reload sshd.service

三、SFTP 配置方案

方式一:SFTP 用户 “家目录” 即 “存储根目录”

0. 需求信息:

群组(部门)

SFTP 用户

SFTP 用户家目录(存储根路径)

认证方式

权限要求

dep_app

mystic

/sftp/home/mystic

密码 pwd

只能访问自己的目录,无法访问其它 SFTP 用户的目录及文件。

dep_db

king

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值