chmod 001 또는 111? Unix 실행 파일의 권한 문제

chmod 001 또는 111? Unix 실행 파일의 권한 문제

이 질문이 나에게 무엇을 요구하는지 혼란스럽습니다. 문맥상 hello는 C++ 파일입니다.

"chmod 명령을 다시 사용하면 hello가 실행 가능하지만 모든 사용자가 읽고 쓸 수 없게 됩니다."

chmod 001 hello온라인 chmod 계산기를 사용해 본 결과, 대중이 실행할 수는 있지만 읽거나 쓸 수는 없는 것으로 추측됩니다 .

맞습니까?

답변1

먼저 chmod의 기본 사항을 설명하겠습니다.

Chmod는 파일에 액세스할 수 있는 사람과 파일에 액세스할 수 있는 방법을 결정하기 위해 권한을 설정할 수 있는 Unix 명령입니다.

3가지 다른 범주에 대해 이러한 권한을 설정할 수 있습니다.

  1. 파일의 소유자(순서)
  2. 파일을 소유한 그룹의 구성원(G그룹)
  3. 다른 모든 사람 (산소다른)

권한을 수정하는 방법에는 두 가지가 있습니다.

1) 영숫자 문자를 사용하세요

권한은 3가지 범주로 나뉩니다.

ㅏ.오른쪽에드
베이와트라이트
코너 e엑스구현하다

file.sh 다음과 같은 방법으로 권한을 설정할 수 있습니다. 다음과 같이 권한을 설정하고 싶다는 파일을 상상해 보겠습니다.

  • 사용자는 다음을 수행할 수 있습니다.아르 자형머리,의식,e엑스구현하다
  • 그룹은 다음을 수행할 수 있습니다.아르 자형머리,의식
  • 다른 사람들은 할 수 있다아르 자형전자헤드

우리가 해야 할 일은 달리는 것뿐이다

chmod u=rwx,g=rw,o=r file.sh

아니면 모든 사람이 실행할 수 있기를 원하므로 다음을 실행합니다.

chmod +x file.sh

위와 반대 명령을 원하면 다음과 같이 할 수 있습니다.

chmod -x file.sh

2) 8진수를 사용하세요

또 다른 접근 방식은 8진수를 사용하는 것입니다. 여기서 각 숫자는 사용자, 그룹 및 기타 권한을 순서대로 나타냅니다.

  • 4는 "읽다"를 의미합니다.
  • 2는 "쓰기"를 의미합니다.
  • 1은 "실행"을 의미합니다.
  • 0은 "권한 없음"을 의미합니다.

이러한 번호를 추가하면 개별 권한을 쉽게 설정할 수 있습니다. 따라서 이전 예를 취하면 이는 다음을 의미합니다.

chmod 764 file.sh

7은 허가 4+2+1의 결과이고, 6은 4+2+0, 4는 4+0+0입니다.

실행하시면 더 많은 정보를 보실 수 있습니다man chmod


귀하의 질문으로 돌아갑니다. 귀하의 질문이 불분명하지만

chmod 711 hello

즉, 귀하(소유자)는 모든 권한을 갖고 귀하의 그룹은 실행만 할 수 있으며 다른 모든 사람도 마찬가지입니다.

또는 (단어를 어떻게 해석하느냐에 따라"모든 사용자들")

chmod 771 hello

이는 귀하(소유자)가 모든 권한을 갖고 있으며 귀하의 그룹도 마찬가지지만 다른 모든 사람은 실행만 할 수 있음을 의미합니다.

이제 다음과 같은 것을 사용할 수 있다고 언급해야합니다.

chmod 001 hello

또는

chmod 111 hello

하지만 컴파일된 프로그램이나 그런 것이 아니라면 이런 일을 하는 것은 의미가 없다고 생각합니다. 하지만 아직...

답변2

질문은 명확하지 않지만 내 추측으로는 771 또는 nn1의 조합을 원하는 것 같습니다. 하지만 내 생각엔 001이 그들이 찾고 있는 바로 그 사람이 아닌 것 같아요. 그들은 단지 지정합니다모든 사용자들실행할 수는 있지만 읽거나 쓸 수는 없어야 합니다. 따라서 소유자/그룹이 읽거나 쓸 수 없는 이유가 없습니다.

또한 만약 당신이했다권한을 001로 설정하세요시행할 수 없으므로 최소한 111을 원합니다.

관련 정보