루트가 읽기 전용 액세스 권한을 갖고 있는 파일에 대한 권한을 변경할 수 있습니까?

루트가 읽기 전용 액세스 권한을 갖고 있는 파일에 대한 권한을 변경할 수 있습니까?

며칠 전에 Debian에서 Arch로 전환했습니다. 이렇게 하면 파일을 외장 하드 드라이브에 백업합니다.

해당 백업의 내용을 일반 하드 드라이브로 옮겼습니다. 이제 다른 목적으로 사용할 수 있도록 이동식 하드 드라이브의 파일을 삭제하고 싶지만 이러한 파일에 대한 권한은 읽기 전용입니다.

dr-x------

이러한 파일을 조작할 수 있도록 해당 파일에 대한 권한을 변경할 수 있는 방법이 있습니까?

답변1

예, 사용자로서 이 작업을 수행하면 root해당 파일 및 디렉터리(및 해당 소유자)에 대한 권한을 변경할 수 있습니다.

$ cd /backup/dir/somewhere
$ sudo chown myname:mygroup myfile
$ sudo chmod u+rw myfile

...여기서 mynamemygroup은 사용자 이름과 기본 그룹입니다(홈 디렉토리의 다른 파일을 확인하거나 id -n -u(사용자 이름의 경우) 및 id -n -g(그룹의 경우) 사용). 이는 myfile단일 파일입니다.

내용을 포함하여 전체 디렉토리에 대해 이 작업을 수행하려면 다음을 수행하십시오.

$ sudo chown -R myname:mygroup mydir
$ sudo chmod -R u+rw mydir

그러나 디렉터리에 cd들어가려면 해당 디렉터리가 "실행 가능"해야 합니다. 디렉토리에 대한 "쓰기" 권한을 사용하면 디렉토리에 들어간 후 디렉토리에 파일을 추가하거나 제거할 수 있습니다. 디렉토리에 대한 "읽기" 권한이 있으면 디렉토리에 있으면 해당 내용을 나열할 수 있습니다. 그래서오직디렉터리에 대한 "읽기" 및/또는 "쓰기" 권한을 갖는 것은 의미가 없습니다.

그냥 하지마

$ sudo chmod -R u+rwx mydir      # don't

이렇게 하면 그 안의 모든 파일이 실행 가능해지기 때문입니다.

답변2

파일 소유자만이 권한을 변경할 수 있으므로 루트(su 또는 sudo 사용)여야 합니다.

관련 정보