chmod 777
때로는 완전히 액세스하고, 읽고 쓸 수 있는 디렉토리를 갖기 위해 이렇게 할 수 있다는 것을 알고 있습니다 . 그러나 보통 나는 한 가지를 더 선호합니다 sudo chown {myusername} {directory}
.
분명히 이는 chmod 777
누구에게나 완전히 공개되는 디렉토리를 남기지만 sudo chown ...
내 사용 관행이 실제로 와 비교하여 내 디렉토리에 대한 보호를 제공합니까 chmod 777
?
답변1
chmod 777
'누구나 무엇이든 할 수 있다'는 뜻이다. 거의 모든 것 - 시간 및 권한 변경과 같은 일부 작업은 소유자에게 예약되어 있습니다. 그러나 누구나 파일을 생성, 삭제 또는 덮어쓸 수 있으므로 보호 기능이 없습니다.
나는 당신이 달리고 있다면 chmod 777
, 당신이 잘못하고 있다는 것을 거의 보장할 수 있습니다. 파일을 공유하고 서로의 파일을 편집하려면 개정 관리 시스템을 설정하고 변경 사항을 푸시하여 공유하세요. 특정 파일만 다른 사람이 사용할 수 있도록 하려면 디렉터리를 만들고 ~/pub
거기에 자신의 파일을 넣으세요.
답변2
chmod 777 foo
귀하의 상자에 액세스할 수 있는 사람은 누구나 파일에 액세스할 수 있습니다 foo
.
chown user foo
이 사용자에게만 파일에 대한 액세스 권한을 부여하십시오 foo
.
이 두 가지 방법을 결합하면 상자에 액세스할 수 있는 사람은 누구나 파일에 액세스할 수 있습니다.
답변3
대부분의 경우 권한을 777로 변경하는 것보다 디렉터리의 소유권을 가져오는 것이 더 안전합니다.
기본 권한
많은 시스템의 기본 umask는 022입니다. 디렉터리가 생성되면 일반적으로 777에서 umask를 빼서 새 디렉터리에 대한 권한을 계산합니다. 즉, 대부분의 시스템에서 기본 디렉터리 권한은 755입니다. 즉, 기본적으로 디렉터리의 권한 소유자만 해당 디렉터리에 있는 파일을 생성하고 삭제할 수 있습니다. 하지만 다른 사용자가 디렉터리의 파일에 쓰는 것을 막지는 못합니다. 이 보호는 파일의 권한에 의해 제공됩니다. 사용자가 디렉토리에 대한 쓰기 액세스 권한을 갖고 있지만 해당 디렉토리의 파일에 대한 액세스 권한이 없는 경우 간단히 파일을 삭제하고 교체할 수 있다는 점을 알아야 합니다.
답변
요약하자면, 권한을 777로 변경하는 대신 디렉터리의 소유권을 가져오면 다른 사용자가 디렉터리의 파일을 추가, 삭제 또는 바꾸는 것을 방지할 수 있지만 사용자가 디렉터리의 파일을 읽는 것을 방지할 수는 없습니다.
디렉터리 권한에 대한 참고 사항
디렉토리 권한은 파일 권한에 비해 약간 이상하고 직관적이지 않습니다. 실행 가능 권한( 1
)을 사용하면 파일의 inode를 포함하여 디렉터리에 있는 파일에 대한 메타데이터를 검색할 수 있습니다. 즉, 디렉터리에 대한 실행 권한이 없으면 파일 경로만 아는 것만으로는 해당 디렉터리의 파일을 읽을 수 없습니다. 읽기 권한( 4
)을 사용하면 디렉터리에 있는 파일 목록을 볼 수 있지만 메타데이터는 볼 수 없습니다. 쓰기 권한( 2
)을 사용하면 디렉터리에 파일을 생성하고 삭제할 수 있습니다.