기존 디렉터리(및 하위 디렉터리)를 갑자기 ROOT만 쓸 수 있게 하려면 어떻게 해야 합니까?

기존 디렉터리(및 하위 디렉터리)를 갑자기 ROOT만 쓸 수 있게 하려면 어떻게 해야 합니까?

다음 위치에 디렉터리가 있다고 가정해 보겠습니다.

  • /tmp/uploads/

이전에 다른 사용자가 만든 여러 재귀 디렉터리와 파일이 있습니다.

이제 갑자기 위의 디렉토리를 어떻게 만들 수 있습니까?루트로만 쓸 수 있습니다.?

즉, 기존 사용자가 무엇이든 갑자기 쓸 수 없게 됩니다(읽기만 가능). 그러면 계속해서 글을 쓸 수 밖에 없습니다 root.


원래 소유권을 잃지 않는 것이 매우 중요합니다.(누가 무엇을 소유하고 있는가)안에 뭔가.


결국 이것은 보안상의 이유로 디렉토리를 잠그려고 한다는 의미이기도 합니다.

감사해요.

답변1

사용 속성:

chattr -R +i files

(루트로서) +i폴더와 파일에 속성을 재귀적으로 추가하므로 변경이 방지됩니다. 루트도 잠기므로 i매번 수동으로 설정을 해제해야 합니다. 소유권 등은 변경되지 않습니다.

답변2

먼저 사용자와 그룹을 루트로 변경하십시오.

chown -R root:root /tmp/uploads

그런 다음 루트만 쓸 수 있도록 권한을 변경합니다.

chmod -R 755 /tmp/uploads

편집하다:

파일 소유자만 복원해야 한다면 파일과 소유자를 하나의 파일에 저장하겠습니다(물론 더 좋은 방법도 있지만 이것이 제가 먼저 생각하는 것입니다). 다음 명령을 실행하기 전에 /tmp/old_file_owners가 존재하지 않는지 확인하십시오.

for i in $(find /tmp/uploads);do ls -ld $i|awk -vf=$i '{if (NF==9) {print $3 ":" $4 " " f}}'>>/tmp/old_file_owners; done

파일 소유자를 복원하려면 다음을 수행하십시오.

IFS=$'\n';for i in $(cat /tmp/old_file_owners);do chown $i;done

원래 파일 권한을 유지하려면 파일에 더 많은 정보를 저장해야 하지만 이전 정보를 참조로 사용하여 유사한 작업을 수행할 수 있습니다.

관련 정보