그 안에 많은 수의 하위 디렉터리가 있는 디렉터리가 있습니다. 이 하위 디렉터리는 모두 내 것이며 권한은 777입니다.
pascal@azazel /box $ ls -al
total 147872
drwxr-xr-x 293 root root 12288 aoû 22 19:44 .
drwxr-xr-x 25 root root 4096 jun 28 18:49 ..
drwxrwxrwx 7 pascal pascal 4096 aoû 4 2010 131082
[...]
디렉토리 이름을 바꾸고 싶습니다.
pascal@azazel /box $ mv 131073 NewName
mv: impossible de déplacer « 131073 » vers « NewName »: Permission non accordée
메시지는 프랑스어로 되어 있으며 기본적으로 디렉토리 이름을 바꾸거나 이동할 수 있는 권한이 없다고 말합니다.
뭐가 문제 야?
답변1
파일 이름을 바꾸는 것은(디렉터리를 포함하여 파일 유형에 관계없이) 해당 파일이 위치한 디렉터리에서 이름을 변경하는 것을 의미합니다. 실제로 파일 시스템 내에서 이름 바꾸기와 이동은 동일한 작업입니다. 파일은 이전 이름에서 분리되고 새 이름에 추가됩니다. 이를 위해서는 소스 및 대상 디렉터리를 수정해야 합니다(디렉터리 내에서 이름을 바꾸려면 소스 및 대상 디렉토리는 동일합니다). 결과적으로 포함 디렉터리( /box
예제에서는)에 대한 쓰기 권한이 필요합니다.
그런데 이러한 권한은 파일을 복사한 다음 원본 파일을 삭제하는 데 필요한 권한과 정확히 동일합니다.