SSH를 통해 생성된 디렉터리/파일에 대한 권한

SSH를 통해 생성된 디렉터리/파일에 대한 권한

새로운 CentOS 8 서버가 있고 SSH를 통해 파일/디렉토리를 생성하는 데 문제가 있습니다. 예를 들어, 서버에서 SSH에 사용하는 사용자로서 기본 권한이 755인 디렉터리를 생성할 수 있습니다. 그러나 다른 서버에 있고 다음 명령을 사용하면 700 권한을 가진 디렉터리가 생성됩니다.

ssh user@newserver mkdir /home/user/testdir1

파일도 마찬가지입니다. 서버에서 파일을 만든 사용자는 644 권한을 얻었습니다. SSH를 통해 파일을 생성하면 600개의 권한을 얻습니다.

ssh user@newserver touch /home/user/testfile1

내가 무엇을 놓치고 있나요?

답변1

새 파일을 생성할 때 기본 권한은 다음과 같이 설정됩니다.마스크문제의 기계에서. 우마스크는8진수사용자(가장 왼쪽 세 자리), 그룹(가운데 세 자리) 및 기타(마지막 세 자리)에 대한 기본 권한을 결정하기 위해 0777(이진수 0b111111111)에서 뺀 숫자입니다. 예를 들어:

$ umask
0002
$ touch first
$ mkdir first-dir
$ ls -l
total 4
-rw-rw-r-- 1 user group    0 Oct 31 09:55 first
drwxrwxr-x 2 user group 4096 Oct 31 09:55 first-dir

0002는 0b000000010과 동일하며 파일 및 디렉터리의 8번째 비트(다른 사용자가 쓸 수 있음)가 지워진 것을 볼 수 있습니다.

또한 파일은 실행 가능 비트를 얻지 못하지만 디렉터리에서는 얻는다는 것을 알 수 있습니다. 이는 실용적인 이유 때문입니다. 내용을 나열하려면 디렉토리가 실행 가능해야 하지만 대부분의 파일은 그렇지 않아야 합니다.

man umask자세한 내용은 다음을 참조하세요.배시 시작 파일해당 머신에서 umask가 어디에 설정되어 있는지 확인하세요.

관련 정보