다른 그룹으로 파일을 만들 때 권한이 다른 것을 발견했습니다.
저는 루트로 이것을 합니다:
groupadd stack
useradd stack1
gpasswd stack (choose a password)
su stack1
touch testfile
I did ls -l and I see permissions rw-rw-r--
newgrp stack (enter the password I previously created for that group)
touch test2
I did ls -l and I see permissions of file test2 rw-r--r--
해당 옵션을 어디에서 변경할 수 있나요? umask와 관련이 있는 것 같지만 확실하지 않습니다.
감사해요.
답변1
아시다시피 차이는 umask 값이 다르기 때문입니다. 파일을 생성할 때 파일이 가져야 하는 최대 권한을 지정합니다. touch
왜냐하면 그렇게 될 것이기 때문입니다 rw-rw-rw-
. 그런 다음 umask를 사용하여 권한을 줄이십시오.
su - stack1
일반적으로 말하면 사용자로 전환을 사용해야 합니다 .
newgrp는 작성하기 어려운 프로그램이다. 그룹을 조작해야 하기 때문에 일반적으로 적합합니다. 이상적으로는 umask와 같은 셸에 내장되어 현재 프로세스의 그룹을 변경하지만 suid와는 호환되지 않습니다. 따라서 일반적으로 비밀번호를 묻는 suid 바이너리이며, 인증이 성공하면 쉘로 대체됩니다. 셸은 시작 코드를 실행할 수 있습니다.
~/.bashrc 파일에 umask 명령이 직접 또는 간접적으로 포함되어 있는 경우 값의 차이가 설명됩니다.