특정 디렉토리의 파일을 삭제할 수 없도록 하고 싶습니다. chmod
이러한 파일을 삭제할 수 없는 동안 해당 파일을 읽고 사용할 수 있으려면 어떤 것을 선택해야 합니까 ? 나중에 chmod
다시 삭제하고 싶을 경우를 대비해 이 작업을 실행 취소할 수 있기를 원합니다 .
답변1
어쩌면 루트만 쓸 수 있는 파일을 삭제하려고 할 수도 있습니다. 이를 수행하는 방법에는 두 가지가 있습니다. 루트 사용자로 파일을 삭제합니다. 또는 파일을 공개로 설정하세요.
sudo rm -rf <directory name>
chmod
라이센스를 위해. 권한이 3개 있습니다.
읽다
쓰다.
구현하다.
이 모든 것을 공개적으로 활성화하려면 다음 명령을 실행하십시오.
sudo chmod 777 <directory name>
공개 및 그룹에 대한 권한을 비활성화하려면 다음 명령을 실행해야 합니다.
sudo chmod 700 <directory name>
첫 번째 숫자는 owner
(루트 사용자), 두 번째 숫자는 group
, 세 번째 숫자는 other access
(공개라고 부릅니다) 입니다.
허가번호를 기억하시면 됩니다이 방법.
- 읽기=4
- 쓰기 = 2
- 실행=1
답변2
파일을 생성하고 삭제하는 권한은 해당 파일이 있는 디렉터리에 속합니다. 디렉터리에서 쓰기 권한을 제거하면 디렉터리에 있는 파일을 계속 읽고 쓸 수 있지만 파일을 삭제하거나 생성할 수는 없습니다.
mkdir try
touch try/one try/two
chmod u-w try # Remove write (w) permission from the user (u)
# No more deletions or creations but files can still be edited
echo boo > try/one # Ok
date > try/two # Ok
echo baa > try/new # Fails
rm try/two # Fails
chmod u+w try # Restore delete/create access
rm try/two # Ok
답변3
디렉터리의 개별 파일이 삭제되는 것을 방지하려면 해당 파일을 변경할 수 없도록 설정할 수 있습니다. chattr +i filename
파일을 변경할 수 없게 만들려면 이 명령을 사용하십시오 . 변경 불가능한 파일은 수정, 이름 변경 또는 삭제할 수 없습니다. 참고: 모든 파일 시스템이 불변 속성을 지원하는 것은 아닙니다. CAP_LINUX_IMMUTABLE 기능이 있는 프로세스나 수퍼유저만 이 속성을 설정하거나 지울 수 있습니다.