chmod가 764에서는 누락된 피연산자를 발생시키고 664에서는 OK입니다.

chmod가 764에서는 누락된 피연산자를 발생시키고 664에서는 OK입니다.

디버깅 목적으로 내 프로젝트의 모든 항목을 777( rwxrwxrwx)로 설정한 후 개방성을 낮추고 루트 폴더의 디렉터리(파일 아님)를 664( rw-rw-r--)로 설정하고 싶었습니다.

이를 위해 나는 (frombash 명령을 사용하여 폴더를 나열하는 방법은 무엇입니까?):

chmod 664 -- */

이것은 예상대로 작동했습니다. 그런 다음 디렉토리에 들어가려면 디렉토리에 실행 비트가 필요하다는 것을 깨달았습니다. 그래서 나는 다음을 시도했습니다.

chmod 764 -- */

그러나 그것은 missing operand after "764"오류를 던졌습니다.

권한을 직접 변경할 수도 있고( chmod 764 <dir-name>) 디렉터리도 그리 많지 않아 큰 문제는 아니지만 양해 부탁드립니다.

chmod 764 */현재 경로의 디렉터리를 으로 설정할 수 없는 이유는 무엇입니까 rwxrw-r--?

답변1

쉘 글로브 옵션을 다음과 같이 설정했다면 이는 의미가 있습니다.

  • *., 로 시작하는 이름을 포함합니다 .
  • 어떤 것과도 일치하지 않는 와일드카드는 그 자체로 유지되지 않고 그냥 사라집니다. (예를 들어 이름이 로 시작하는 파일이 없으면 foo명령은 문자 그대로 echo foo*인쇄하는 대신 빈 줄을 인쇄합니다 foo*.)

위의 내용이 true인 경우 첫 번째 명령은 모드 664로 설정됩니다 . 이는 두 번째 명령을 실행할 때 .읽기 권한이 없다는 의미입니다 . .그래서 */확장이 불가능하고 chmod 764 -- */가 되었습니다 chmod 764 --.

관련 정보