이 질문이 나에게 무엇을 요구하는지 혼란스럽습니다. 문맥상 hello는 C++ 파일입니다.
"chmod 명령을 다시 사용하면 hello가 실행 가능하지만 모든 사용자가 읽고 쓸 수 없게 됩니다."
chmod 001 hello
온라인 chmod 계산기를 사용해 본 결과, 대중이 실행할 수는 있지만 읽거나 쓸 수는 없는 것으로 추측됩니다 .
맞습니까?
답변1
먼저 chmod의 기본 사항을 설명하겠습니다.
Chmod는 파일에 액세스할 수 있는 사람과 파일에 액세스할 수 있는 방법을 결정하기 위해 권한을 설정할 수 있는 Unix 명령입니다.
3가지 다른 범주에 대해 이러한 권한을 설정할 수 있습니다.
- 파일의 소유자(유순서)
- 파일을 소유한 그룹의 구성원(G그룹)
- 다른 모든 사람 (산소다른)
권한을 수정하는 방법에는 두 가지가 있습니다.
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을 원합니다.