文件 acls (setfacl) 没有按照我期望的方式工作

文件 acls (setfacl) 没有按照我期望的方式工作

我有一个基本的 SFTP 服务器设置,使用OpenSSH。为了设置 SFTP 服务器,我按照以下步骤操作:

步骤1:我安装了 OpenSSH 软件包。

sudo apt-get install openssh-server -y

第2步:为 SFTP 用户创建单独的组。

sudo groupadd sftpaccess

步骤3:/etc/ssh/sshd_config通过查找Subsystem sftp /usr/lib/openssh/sftp-server并注释掉该文件来编辑该文件。之后我转到文件的最底部并添加了以下内容:

Subsystem sftp internal-sftp
Match group ftpaccess
ChrootDirectory %h
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp

步骤4:重新启动 sshd 服务。

sudo /etc/init.d/ssh restart

第5步:添加具有 sftpaccess 组的用户并创建密码

useradd -s /bin/bash -m -U -G sftpaccess sftp-alex
passwd sftp-alex

第6步:创建和修改用户目录。

sudo mkdir -p /mnt/users/sftp-alex/www
sudo chown root:root /mnt/users/sftp-alex
sudo chown root:sftpaccess /mnt/users/sftp-alex/www

我的目标(困扰我的事情):

  1. 我想在此处创建一个目录 ( /mnt/www) 来存放用户共享之类的内容,然后将其绑定到,/mnt/users/sftp-alex/www以便它看起来像这样:

    • 让用户分享: mkdir /mnt/www
    • 绑定共享给用户 mount --bind /mnt/www /mnt/users/sftp-alex/www
  2. 此过程中的下一步是创建共享系统/权限系统。我对如何做到这一点的想法在执行中非常简单。我想创建两个组,一个称为sftp_read_write另一个叫sftp_read现在,如果您还不知道我要说的是什么,那么让我解释一下。我将使用setfacl向文件和文件夹添加 acl。我的想法是这样的setfacl -Rm g:sftp_read_write:rwX,g:sftp_read:rX /mnt/www。现在这一切都很棒,但它不起作用我可以无论我在sftp_read_write或者sftp_read或者sftpaccess

我真的需要帮助来解决这个问题,我之前已经有了这样的设置,大约一年前,但我忘记了所有的命令/权限,这就是我问这个问题的原因。

getfacl 的输出

# file: www
# owner: root
# group: sftpaccess
user::---
group::---
group:sftp_read:r-x
group:sftp_read_write:rwx
mask::rwx
other::---

尝试编辑文件

# file: Test.txt
# owner: sftp-alex
# group: sftp-alex
user::rw-
group::rw-
other::r--

笔记:无论我在什么位置,我都可以编辑这个文件sftp_read或者sftp_read_write不应该是这样,如果我在,我应该只能读和写sftp_read_write

谢谢,亚历克斯

相关内容