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

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

며칠 전에 저는 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 사용)가 되어야 합니다.

관련 정보