파일 acl(setfacl)이 예상대로 작동하지 않습니다.

파일 acl(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

이 문제를 해결하는 데 도움이 정말 필요합니다. 이전에 약 1년 전에 이와 같은 설정을 했지만 모든 명령/권한을 잊어버렸기 때문에 이 질문을 하게 되었습니다.

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.

고마워요, 알렉스

관련 정보