解决SFTP使用NAS或NFS限制问题

我们都知道,SFTP对目录有两个限制:

1、目录开始一直往上到系统根目录为止都只能是root

2、目录开始一直往上到系统根目录位置都不可以具有群组写入限制

举个例子,有sftp配置如下:

# Subsystem sftp /usr/libexec/openssh/sftp-server

UseDNS no

AddressFamily inet

PermitRootLogin yes

SyslogFacility AUTHPRIV

PasswordAuthentication yes

Subsystem sftp internal-sftp

Match Group sftp

ChrootDirectory /data/sftp/%u

ForceCommand internal-sftp

AllowTcpForwarding no

X11Forwarding no

上面红色部分代表的目录,有以下限制:

1、/、/data、/data/sftp目录所属都只能是root

2、/、/data、/data/sftp目录的属组不可以有写的权限

如果是我们使用nfs作为sftp的目录的话,肯定是需要rw权限的。但是在mount指定rw后,权限会变成777(如下),这样就违背了sftp的权限限制,导致sftp不可用

[root@localhost /]# ls -ld /data

drwxrwxrwt 3 root root 4096 Dec 10 18:05 /data

有人可能想到通过chmod方式,改变挂载目录的,但是也会报错,如下:

[root@localhost /]# chmod 755 data

chmod: changing permissions of ‘data’: Operation not permitted

其实解决方法很简单,只能在/下面建立一个软件,如下:

ln -s /data/sftp /sftp

然后改下sftp的配置

ChrootDirectory /data/sftp/%u 改成 ChrootDirectory /sftp/%u

重启sftp,亲测可上传下载。

原文链接:https://blog.csdn.net/weixin_33852020/article/details/92543867?ops_request_misc=%257B%2522request%255Fid%2522%253A%25225b32e28a45ea2bffdc9c5f1e9a3601a0%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=5b32e28a45ea2bffdc9c5f1e9a3601a0&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~times_rank-21-92543867-null-null.nonecase&utm_term=%E7%BB%BF%E8%81%94nas

© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享