2014-06-14 3 views
0

내 질문 : 파일 (C에서)을 만든 다음에 chmod을 사용하여 8 진수를 사용하여 사용 권한을 수정하려고했습니다 : 00647.Chmod 및 상대 권한 (C 언어)

나는 파일을 만든 사용자에게 6 권한을 설정했기 때문에이 파일을 실행할 수있는 이유가 무엇인지 이해할 수 없습니다. 그게 6은 읽고 쓸 수 있다는 것을 알았습니다. 이 파일은 실행하지만 실행하지 않습니다.

모든 사용자에 대해 허가 7을 설정했기 때문에 허가가 설정된 경우에도 실행할 수 있습니다. 6 나 자신은 이상하다고 생각합니다. 모든 사용자에 대해 7 권한을 설정 했으므로 다른 권한은 중요하지 않습니다. 그래서 그게 해결책이라고 확신하지 못합니다.

+0

원하는 것은 무엇입니까? –

+0

이것은 OS에 따라 다릅니다. 예를 들어, OS X에서 권한 00647이있는 파일은 소유자 또는 할당 된 그룹의 구성원이 실행할 수 없습니다. mpasko256이 지적했듯이 파일 액세스를 관리하는 것이 일반적으로 좋지 않기 때문에 문제가되지 않습니다. –

답변

3

파일 권한의 목적은 보안을 제공하는 것입니다.

기본적으로 각 사용자의 기능에 대한 액세스를 제공하는 시스템을 유지한다고 가정 해보십시오. 사용자가 불쾌한 것을하면 그 사람에 대한 액세스가 거부됩니다. 그런 다음 기능에 대한 액세스 권한을 얻기 위해 단순히 새 계정을 만듭니다 ... 모델이 잘못되었습니다.

더 나은 방법은 기본 거부 정책을 유지하고 특정 사용자에 대한 권한을 특정 리소스에 부여하는 것입니다.

3

OS가 스스로에게 묻습니다 -이 파일을 실행하려고합니다.

이 사람이 "누구이든"- 빙고 - 네가 그렇게하는 경우.