rm : 디렉토리를 제거 할 수 없음 / : 권한이 거부되었습니다


17

"shadi"라는 디렉토리를 만들고이 권한을 설정했습니다.

sinoosh@ubuntu:/home$ ls -ld shadi
drwxr-xrwx 2 root root 4096 Jul  1 01:58 shadi

이 상황에서 "기타"권한이 있는데 왜 삭제할 수 없습니까?

sinoosh@ubuntu:/home$ rm -r shadi/
rm: cannot remove ‘shadi/’: Permission denied

답변:


25

여기서 문제는 /home디렉토리 에 대한 "w"권한이 없다는 것 입니다. 파일을 삭제하는 동안 해당 파일에 쓰지 않고 파일이 들어있는 디렉토리의 내용을 변경하고 있다는 점에 유의하십시오. 따라서 디렉토리에서 파일을 삭제하려면 디렉토리에 대한 "w"권한이 있어야합니다.

"ls -ld / home"의 터미널 스크린 샷

"w"권한이있는 디렉토리에 있으면 파일 권한 자체에 대해 걱정하지 않고 파일을 삭제할 수 있습니다. 현재 디렉토리 /home/rohith에는 "w"권한이 있으므로 파일 권한에 관계없이 파일을 삭제할 수 있습니다.

/ home / rohith / shadi 제거의 터미널 스크린 샷

"w"권한이없는 '/ home'디렉토리에 동일한 파일이 작성되면 귀하와 동일한 출력을 얻습니다! :)

/ home / shadi 제거 시도의 터미널 스크린 샷


8

이는 디렉토리를 소유하지 않기 때문에 발생하며 'root'및 'root'그룹이 소유합니다. 따라서 삭제하려면 소유권을 변경 한 다음 삭제할 수 있습니다 (여기서 권한을 높이고 소유권을 가져 오기위한 '루트'가 됨).

sudo chown $USER:$USER ./shadi
rm -r ./shadi

또는 소유권 취득을 건너 뛰고 sudo rm권리를 높이고 삭제의 '루트'가되도록합니다.

sudo rm -r ./shadi

소유자 만 파일을 삭제할 수 있다는 의미입니까?
Sinoosh

예, 아니면 sudo명령을 통해 귀하의 권리를 상승시켜야합니다 . 그러면 암호를 묻는 메시지가 표시되고 다음의 특정 명령에 대해 '루트'가됩니다.
Videonauth

"shadi"파일 인 경우 "sinoosh"사용자로 파일을 제거 할 수 있습니다. "sudo"가 필요하지 않습니다. "sudo"는 디렉토리와 함께 작동하지 않는 이유가 없습니다.
Sinoosh

6

이 시도:

sudo rm -r ./shadi

권한은 소유자 루트 및 그룹 루트를 표시하므로 sudo를 사용해야합니다.


1
예,이 명령은 괜찮지 만 문제는 rm이이 권한으로 작동하지 않는 이유입니다. 다른 필드에서이 디렉토리에 대한 모든 권한
을가집니다

"이 디렉토리에 대한 모든 권한이 있습니다"아닙니다. "기타 필드"shadi는 "기타"가 아닙니다.
Rinzwind

그러나 "sinoosh"는 다른 사람에 속하며 "rm -r shadi"를 실행합니다
Sinoosh

0

다른 계정입니다.

모든 사람이 홈 디렉토리를 삭제할 권한이있는 경우 계정에서 어떻게 안전을 기대할 수 있습니까?

w기본적으로 다른 사람의 홈 디렉토리를 삭제할 수있는 권한 이 없습니다 ( 단, 다른 경우는 제외) chmod +w.

다른 권한과 예 ( -rwxr-x---/ rwxrx)는 다음과 같습니다.

+-+-+-+-+
| + | u | g | o |
+-+-+-+-+
| r | 1 | 1 | 1 |
+-+-+-+-+
| w | 2 | 2 | 2 |
+-+-+-+-+
| x | 4 | 4 | 4 |
+-+-+-+-+
| * | 7 | 5 | 0 |
+-+-+-+-+
그것은 이렇게 가고 : 1 + 2 + 4 = 7, 1 + 4 = 5, 0 = 0, 너무 750이상적인 허가 시스템을 즉. 소유자 ( u이 경우)는 파일을 읽고, 쓰고 실행할 수 있으며, 소유자 그룹 ( g이 경우)은 읽고 실행할 수 있으며 다른 사람 ( o이 경우)은 아무것도 할 수 없습니다. 이것은 전설입니다 :
u : 현재 사용자 (사용자)
g : 현재 사용자 그룹 (그룹)
o : 현재 사용자 그룹이 아님 (기타)
r : 읽기 권한 (읽기)
w : 쓰기 권한 (쓰기)
x : 실행 권한 (X-ecute)
.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.