현재 사용자가 자신의 파일을 읽지 못하도록 방지

현재 사용자가 자신의 파일을 읽지 못하도록 방지

편집: 짧은 질문은: 권한이 없는 내 사용자가 현재 소유한 파일에 대한 액세스를 어떻게 포기합니까? 어떤 식으로든 접근할 수 없기를 바랍니다. 자세한 설명은 나머지 게시물을 참조하세요.


일부 백업의 경우 파일을 원격 위치에 복사하고 싶습니다. 로컬 시스템이 손상되더라도 이 파일이 안전하기를 바랍니다.

처음에 내 계획은 chown원격 파일이 작성되자마자 루트를 작성하는 것이었습니다. 이렇게 하면 더 이상 로컬 시스템에서 액세스할 수 없지만 재해 발생 시 원격 시스템에서 복구할 수 있습니다(물론 하나의 시스템이 파괴되지 않는다는 가정 하에). 그러나 chown보안상의 이유로 Linux에서는 다른 사용자의 접근이 허용되지 않습니다. 현재 소유하고 있는 파일에 대한 액세스를 포기하는 다른 방법이 있습니까?

원격 컴퓨터는 Raspbian Stretch를 실행하는 Raspberry Pi이고, 로컬 컴퓨터는 FreeNAS 11.0-U4를 실행하고 있습니다. 로컬 컴퓨터는 ssh권한이 없는 사용자로 원격 컴퓨터에 액세스할 수 있습니다. 원격 컴퓨터에 대한 이 사용자의 권한을 최대한 제한하고 싶습니다.

답변1

디스크 할당량이 있는 다중 사용자 시스템에서 권한이 없는 사용자가 다른 사용자에게 파일을 선물할 수 있도록 허용하면 사용자가 서로의 디스크 할당량을 남용할 수 있습니다.

사용자 A가 사용자 A만 액세스할 수 있는 디렉터리를 만든 다음 해당 디렉터리를 대용량 파일로 채우고 이를 모두 사용자 B에게 제공하는 것은 간단합니다. 이제 사용자 B가 액세스할 수 없는 파일로 인해 사용자 B의 디스크 할당량이 소진되었습니다. .

사용자가 파일을 유출할 수 있는 능력(chown()의 SysV 의미 체계)은 한때 다양한 보안 문제를 야기했으며 이제는 문헌에서 위반으로 간주됩니다. 예를 들어 실수로 다른 사용자가 홈 디렉터리에 쓸 수 있도록 허용한 경우 동일한 시스템의 다른 사용자가 일부 파일/디렉터리를 제공하려고 할 수 있습니다. 예를 들어 <your_homedir>/.ssh/authorized_keys. 아니면 <your_homedir>/.rhosts나쁜 옛날에. 이들 각각은 귀하의 계정에 대한 액세스를 허용하는 데 사용될 수 있으며 귀하가 아니라는 것을 증명하는 데 어려움을 겪게 됩니다.

sudoLinux 시스템에서는 파일을 설정할 수 있지만 명령을 사용하여 파일을 지울 수는 없는 "불변" 속성을 사용할 수 있습니다 . 다음은 구성 라인의 예입니다 /etc/sudoers.

Octaviour  ALL=(root) NOPASSWD: /usr/bin/chattr -R +i /your/backup/directory

그런 다음 일반 사용자 계정을 사용하여 실행할 수 있지만 sudo chattr -R +i /your/backup/directory해당 명령은 사용할 수 없습니다. chattr -R -i불변 비트는 일반적으로 루트에서만 설정하거나 지울 수 있습니다.

(Linux 기능을 사용하는 경우 CAP_LINUX_IMMUTABLE 기능이 있는 프로세스가 이를 수행할 수 있습니다. 그러나 일반 사용자의 경우 해당 기능을 갖는 것은 매우 이례적이며 기능 자체를 사용하는 경우도 매우 드뭅니다.)

관련 정보