apache2 내에서 encfs를 사용할 때 / etc / mtab에 마운트 지점이 없습니다.

Luksen

WebDAV를 통해 액세스 할 수있는 encfs 암호화 폴더를 원격으로 마운트 할 수있는 웹 페이지를 작성했습니다. 기본적으로 마운트 / 마운트 해제 버튼이있는 비밀번호 양식으로, 양식을 통해 제공된 비밀번호로 사전 정의 된 encfs 암호화 드라이브를 마운트 / 마운트 해제하려고 시도합니다. 기본적으로 인터넷에 액세스 할 수있는 래퍼

encfs --stdinpass /encfs/drive/encrypted/ /var/www/unencrypted

이것은 암호화 된 드라이브를 마운트 / 마운트 해제 할 수 있고 WebDAV를 통해 암호화되지 않은 데이터를 보거나 읽을 수 있기 때문에 의도 한대로 작동합니다.

그러나 이상한 일이 벌어지고 있습니다. 폴더의 암호화되지 않은보기는 WebDAV를 통해서만 액세스 할 수 있습니다.

나는 실행하는 경우 는 sudo -u www가 데이터 LS -la의 / var / www가 또는 다른 사용자로 (WWW-데이터는 또한 드라이브를 장착, 사용자가, 내가 htop과를 확인했습니다 때문에 웹 서버을 실행하는 사용자입니다), I 일반적으로 다음과 같은 일반적인 encfs 폴더가 아닌 일반 폴더로 마운트 지점 (위의 예에서 / var / www / unencrypted)을 참조하십시오.

drwxr-xr-x  5 www-data www-data  4096 Feb  1 02:25 .
drwxr-xr-x 15 root     root      4096 Jan 31 11:46 ..
d?????????  ? ?        ?            ?            ? unencrypted

그러나 실제로는 다음과 같이 보입니다.

drwxr-xr-x  5 www-data www-data  4096 Feb  1 02:25 .
drwxr-xr-x 15 root     root      4096 Jan 31 11:46 ..
drwxr-xr-x  2 www-data www-data  4096 Jan 31 21:47 unencrypted

일반 폴더와 같습니다 (WebDAV를 통해 액세스 할 때 동일한 폴더에 데이터가 있지만 비어있는 것으로보고 됨).

또한 encfs 드라이브가 마운트되었음을 ​​나타내는 항목이 / etc / mtab에 없습니다. 모든 의도와 목적을 위해 드라이브가 마운트되지 않은 것처럼 보이지만 실제로는 확실하지만 WebDAV를 통해 액세스 할 수 있고 htop에 표시된 것처럼 ecnfs 프로세스도 명확하게 실행되고 있기 때문입니다.

어떻게 이런 일이 발생하고 어떻게 해결합니까?

추신 : 내가 달리면

sudo -u www-data bash -c "echo $(cat /tmp/passwort_file) | encfs --stdinpass /encfs/drive/encrypted/ /var/www/unencrypted"

터미널에서 그러한 동작이 없습니다. 폴더는 여전히 WebDAV를 통해 액세스 할 수 있지만이 경우 / etc / mtab에도 올바르게 표시되며 ls -la를 사용할 때 encfs 드라이브로도 표시됩니다 .

user1686

나는 이것이 서비스 관리자로 systemd를 사용하는 Debian Linux 또는 Ubuntu라고 가정하고 있습니다.

Linux는 파일 시스템의 다른 뷰를 다른 프로세스에 제공하는 "마운트 네임 스페이스"를 지원합니다 (예 : chroot와 같지만 훨씬 더 유연하고 골치 아플 수 있음). Systemd는이 기능을 사용하여 보안 문제 및 공격으로부터 시스템을 강화할 수 있습니다. 예를 들어, 특정 서비스는 / home을 비어 있거나 / etc를 읽기 전용으로 볼 수 있습니다.

대부분의 배포판은 apache2.service에서 이러한 보안 설정을 사용합니다.를 실행 systemctl cat apache2하면 자체 개인 /tmp디렉터리 를 갖도록 구성되어 있음을 알 수 있습니다 .

[Service]
...
PrivateTmp=true

마운트 네임 스페이스의 부작용은 다소 전역 적이라는 /것입니다. 단일 마운트 만 필요하더라도 아래에 Apache 전용 마운트를 생성 할 수 있도록 시스템이 "unshares" 되면 동일한 효과가에서 생성 된 모든 마운트에 계속 적용됩니다 . Apache 서비스. (서비스의 경우 이는 어느 정도 의도적 인 것입니다. 웹 서버가 파일 시스템을 마운트해야하는 이유는 무엇입니까? 최소 권한의 원칙입니다.)

따라서 findmnt또는 을 실행 cat /proc/self/mounts하면 루트 네임 스페이스에서만 마운트가 표시됩니다. 그러나 nsenter --mount --target <APACHE_PID> findmnt또는 을 실행 cat /proc/<APACHE_PID>/mounts하면 루트 네임 스페이스에서 상속 된 것과 Apache 프로세스에 대한 개인 정보가 모두 표시됩니다.

이 보호, 실행을 해제하려면 systemctl edit --full apache2로 시작하고 모든 설정을 제거 Private*, ReadOnly*또는 Inaccessible*.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

apache2 내에서 encfs를 사용할 때 / etc / mtab에 마운트 지점이 없습니다.

분류에서Dev

Ubuntu Live USB에서 ENCFS 컨테이너를 마운트 할 수 있습니까?

분류에서Dev

/ etc / fstab에 하드 드라이브를 마운트 할 수 없습니다.

분류에서Dev

/ etc / fstab에 하드 드라이브를 마운트 할 수 없습니다.

분류에서Dev

Apache2에서 자체 서명 된 인증서를 사용할 때 .htaccess 파일을 사용하여 클라이언트에 HTTPS를 적용하려고 할 때 내부 500 오류가 발생합니다.

분류에서Dev

Apache2 웹 서버에서 이미지를로드 할 수 없습니다.

분류에서Dev

/ etc / mtab 또는 / proc / mounts에서 "유용한"마운트를 필터링하는 방법

분류에서Dev

/ etc / fstab에서 CIFS 공유를 마운트 할 수 없습니다.

분류에서Dev

cryptkeeper에서 encfs 암호화 된 폴더를 마운트 해제 할 수 없습니다.

분류에서Dev

우분투 18.04LTS의`/ etc / apache2 / ports.conf` 파일에서 SSL 포트 443을 열면 apace2를 다시 시작할 수 없습니다.

분류에서Dev

ENCFS 컨테이너를 라이브 디스크에서 마운트 할 수 있습니까?

분류에서Dev

AWS Apache2이 사이트에 연결할 수 없습니다.

분류에서Dev

우분투 14.04에서 apache2를 사용할 수 없습니다.

분류에서Dev

웹 사이트를 실행하려면 / etc / apache2 폴더에 .conf 파일이 필요합니까?

분류에서Dev

웹 사이트를 실행하려면 / etc / apache2 폴더에 .conf 파일이 필요합니까?

분류에서Dev

apache2 사용 가능한 청취 소켓이 없지만 포트에서 청취하지 않습니다.

분류에서Dev

내 사이트 (localhost에서)를 탐색 할 때 특정 지점에서 이미지가 깨집니다.

분류에서Dev

Apache를 구성 할 때 / etc / apache2 / sites-available / default를 찾을 수 없습니다.

분류에서Dev

Apache를 구성 할 때 / etc / apache2 / sites-available / default를 찾을 수 없습니다.

분류에서Dev

WSL에서 apache2를 시작할 수 없습니다.

분류에서Dev

GUI 파일 관리자에서 디스크를 클릭 할 때 자동 마운트가 갑자기 Ubuntu에서 작동을 중지했습니다. ( "마운트 할 수 없습니다 ... 작업을 수행 할 권한이 없습니다.")

분류에서Dev

GUI 파일 관리자에서 디스크를 클릭 할 때 자동 마운트가 갑자기 Ubuntu에서 작동을 중지했습니다. ( "마운트 할 수 없습니다 ... 작업을 수행 할 권한이 없습니다.")

분류에서Dev

"LoadImageA ()"를 사용할 때 리소스 내의 비트 맵에서 이미지 핸들을 가져올 수 없으며 이유를 이해할 수 없습니다.

분류에서Dev

FUSE를 사용할 때 모든 기존 디렉토리가 마운트 지점에 어떻게 마운트됩니까?

분류에서Dev

Apache가 이미 해당 포트를 사용하고 있기 때문에 다시 시작할 수 없습니다.

분류에서Dev

기존 마운트 지점에 마운트 할 때 마운트 작업 순서가 중요합니까?

분류에서Dev

Fedora에서 ddrecovery로 만든 이미지를 마운트 할 수 없습니다.

분류에서Dev

VMWare Fusion 내 Windows 8에서 ISO 이미지를 마운트 할 수 없습니다.

분류에서Dev

Debian Jessie에 Apache2를 설치할 수 없습니다.

Related 관련 기사

  1. 1

    apache2 내에서 encfs를 사용할 때 / etc / mtab에 마운트 지점이 없습니다.

  2. 2

    Ubuntu Live USB에서 ENCFS 컨테이너를 마운트 할 수 있습니까?

  3. 3

    / etc / fstab에 하드 드라이브를 마운트 할 수 없습니다.

  4. 4

    / etc / fstab에 하드 드라이브를 마운트 할 수 없습니다.

  5. 5

    Apache2에서 자체 서명 된 인증서를 사용할 때 .htaccess 파일을 사용하여 클라이언트에 HTTPS를 적용하려고 할 때 내부 500 오류가 발생합니다.

  6. 6

    Apache2 웹 서버에서 이미지를로드 할 수 없습니다.

  7. 7

    / etc / mtab 또는 / proc / mounts에서 "유용한"마운트를 필터링하는 방법

  8. 8

    / etc / fstab에서 CIFS 공유를 마운트 할 수 없습니다.

  9. 9

    cryptkeeper에서 encfs 암호화 된 폴더를 마운트 해제 할 수 없습니다.

  10. 10

    우분투 18.04LTS의`/ etc / apache2 / ports.conf` 파일에서 SSL 포트 443을 열면 apace2를 다시 시작할 수 없습니다.

  11. 11

    ENCFS 컨테이너를 라이브 디스크에서 마운트 할 수 있습니까?

  12. 12

    AWS Apache2이 사이트에 연결할 수 없습니다.

  13. 13

    우분투 14.04에서 apache2를 사용할 수 없습니다.

  14. 14

    웹 사이트를 실행하려면 / etc / apache2 폴더에 .conf 파일이 필요합니까?

  15. 15

    웹 사이트를 실행하려면 / etc / apache2 폴더에 .conf 파일이 필요합니까?

  16. 16

    apache2 사용 가능한 청취 소켓이 없지만 포트에서 청취하지 않습니다.

  17. 17

    내 사이트 (localhost에서)를 탐색 할 때 특정 지점에서 이미지가 깨집니다.

  18. 18

    Apache를 구성 할 때 / etc / apache2 / sites-available / default를 찾을 수 없습니다.

  19. 19

    Apache를 구성 할 때 / etc / apache2 / sites-available / default를 찾을 수 없습니다.

  20. 20

    WSL에서 apache2를 시작할 수 없습니다.

  21. 21

    GUI 파일 관리자에서 디스크를 클릭 할 때 자동 마운트가 갑자기 Ubuntu에서 작동을 중지했습니다. ( "마운트 할 수 없습니다 ... 작업을 수행 할 권한이 없습니다.")

  22. 22

    GUI 파일 관리자에서 디스크를 클릭 할 때 자동 마운트가 갑자기 Ubuntu에서 작동을 중지했습니다. ( "마운트 할 수 없습니다 ... 작업을 수행 할 권한이 없습니다.")

  23. 23

    "LoadImageA ()"를 사용할 때 리소스 내의 비트 맵에서 이미지 핸들을 가져올 수 없으며 이유를 이해할 수 없습니다.

  24. 24

    FUSE를 사용할 때 모든 기존 디렉토리가 마운트 지점에 어떻게 마운트됩니까?

  25. 25

    Apache가 이미 해당 포트를 사용하고 있기 때문에 다시 시작할 수 없습니다.

  26. 26

    기존 마운트 지점에 마운트 할 때 마운트 작업 순서가 중요합니까?

  27. 27

    Fedora에서 ddrecovery로 만든 이미지를 마운트 할 수 없습니다.

  28. 28

    VMWare Fusion 내 Windows 8에서 ISO 이미지를 마운트 할 수 없습니다.

  29. 29

    Debian Jessie에 Apache2를 설치할 수 없습니다.

뜨겁다태그

보관