사용자가 홈 폴더를 삭제하지 못하도록 방지하는 방법

사용자가 홈 폴더를 삭제하지 못하도록 방지하는 방법

홈 폴더가 삭제되는 것을 방지하는 것은 매우 좋은 생각이라고 생각합니다. 그래서 나는 이것을 할 수 있는 가능한 방법을 찾았습니다. 이것이 내가 찾은 것입니다:

  1. 사용 chattr +i /home/user- 루트로도 추가/제거/이름 바꾸기가 불가능합니다.사용자폴더 및 모든 직접 하위 폴더사용자- 좋은것과 나쁜 것.
  2. 사용자 디렉터리의 소유자를 루트로 변경하고 고정 비트를 설정합니다. .keep 파일을 추가하고 소유자도 루트로 변경합니다.

    chown root:user /home/user
    chmod 1775 /home/user
    chown root /home/user/.keep 
    

    루트 삭제 가능/홈/사용자, 사용자는 할 수 없습니다. 그러나 사용자는 자신의 디렉터리에 있는 파일을 자유롭게 추가/제거/이름 바꿀 수 있습니다.

  3. 사용 chattr +a /home/user- 첫 번째 방법과 동일하지만 사용자가 파일을 추가할 수 있습니다.

나는 chattr +a홈 디렉토리에서: chattr +a /home이 가장 좋은 방법이라고 생각합니다.

  1. 다른 사용자를 위해 새 홈 폴더를 쉽게 만들 수 있습니다.
  2. 파일을 자유롭게 편집할 수 있습니다/홈/사용자
  3. 우리는 조심할 수 없습니다sudo rm -rf /home/user

실제로 질문은 이 접근 방식의 함정은 무엇입니까?

답변1

필요한 디렉토리를 삭제하려면쓰다상위 항목에 대한 권한입니다. 이는 다음을 의미합니다.사용자을(를) 쓸 수 없으므로 /home자신의 디렉토리를 삭제할 수 없습니다.

$ chown root:root /home
$ chmod 0755 /home

$ chown user:user /home/user
$ chmod 0750 /home/user

이러한 권한을 사용하면 루트만 작업할 수 있습니다 . 이 설정은 Linux 시스템이 다중 사용자이기 때문에 실제로 매우 일반적입니다. 그러나 첫 번째 사용자(일반적으로 ID 1000)에 속하는 Ubuntu 설정을 /home보았습니다 . /homeUbuntu의 첫 번째 사용자는 일반적으로 sudoer이지만(sudoer를 사용하여 모든 것을 삭제할 수 있음을 의미함) sudo루트가 아닌 다른 사용자에게 이를 제공하는 것은 좋은 습관이 아니라고 생각합니다./home

결론적으로 말하자면 chattr, 나는 이것이 약간 과잉이라고 생각합니다. 권한 문제가 발생했습니다. 추가 파일 속성이 필요하지 않습니다.

관련 정보