chmod +w가 다른(o) 쓰기 권한을 부여하지 않는 이유는 무엇입니까?

chmod +w가 다른(o) 쓰기 권한을 부여하지 않는 이유는 무엇입니까?

실행하면 chmod +w filename쓰기 권한은 부여되지 않고 쓰기 권한 other만 부여됩니다 .usergroup

이 명령을 실행한 후

chmod +w testfile.txt

ls -l testfile.txt인쇄 실행 중

-rw-rw-r-- 1 ravi ravi 20 Mar 10 18:09 testfile.txt

+r하지만 이 경우에는 +x잘 작동합니다.

나는 그것을 사용하고 싶지 않습니다 chmod ugo+w filename.

답변1

당신의 구체적인 상황

귀하의 경우 현재가 (일반적인 기본값)이라고 추측할 수 있으며 이는 귀하의 놀라움을 설명합니다 umask.002

umask값이 다음과 같은 특별한 경우에는002(모든 숫자는 8진수입니다.)

  • +r이기 때문에 ugo+r모든 비트를 설정할 수 있음을 의미합니다 .002 & 444000
  • +x이기 때문에 ugo+x모든 비트를 설정할 수 있음을 의미합니다 .002 & 111000
  • 그러나 이는 "o" 비트가 설정되는 것을 방지한다는 것을 +w의미합니다 .ug+w002 & 222002

다른 예

  • 그것을 갖는 umask 022 +w것은 을 의미합니다 u+w.
  • 그것을 갖는 umask 007 +rwx것은 을 의미합니다 ug+rwx.
  • 그것을 갖는 umask 077 +rwx것은 을 의미합니다 u+rwx.

당신의 기대에 부응하는 것

umask다음으로 000변경할 때

umask 000

터미널에서

chmod +w file

권한을 ugo+w로 설정하세요.

사이드 노트

ilkkachu가 제안한 것처럼 이것이 umask 000모든 사람이 모든 파일을 읽고 쓸 수 있다는 의미는 아닙니다.

하지만 umask 000모든 사람이 어떤 방식으로든 접근할 수 있다는 의미입니다.어느이 마스크를 사용하여 생성한 모든 파일은 컴퓨터의 사용자 계정(OFC 서버 서비스를 실행하는 프로그램이 포함될 수 있음)으로 읽고 쓸 수 있으며 변경되지 않습니다(루트까지 포함하는 디렉터리 체인도 이를 허용하는 경우).

답변2

그리고:

chmod +<perms>

파마가 추가되었습니다사용자,그룹그리고다른그러나 umask는 여전히 적용됩니다. 새로 생성된 파일보다 파일에 더 많은 권한이 부여되지 않도록 합니다.

권한을 추가하고 싶다면사용자,그룹그리고다른umask에 관계없이 사용

chmod a+<perms>

이것은 약어입니다

chmod ugo+<perms>

답변3

other예를 들어 다음을 사용하여 권한을 부여할 객체를 지정해야 합니다.chmod o+w testfile.txt

관련 정보