
내 사용자 계정에서 umask
my로 설정하겠습니다. 그러나 루트가 되는 방법(예: tty에서 루트로 직접 로그인하거나 sudo 또는 su를 사용하여)에 관계없이 루트가 a를 사용하도록 하려고 합니다. 루트로 tty에 로그인하면 이를 알 수 있으므로 문제가 없습니다. 내가 설정했기 때문에022
.bashrc
umask
077
077
sudo
/etc/sudoers
Defaults umask = 0022
Defaults umask_override
알겠어요 077
, 또 너무 좋아요. 의 경우 su
/root/.bashrc에서 설정할 수 있습니다.
umask 022
나는 그것을 이해 umask
하지만 077
그것이 올바른 방법이라고 확신하지 않습니다.
어떻게 설정해 umask
?su root
잠재적으로 관련성이 있는 것은 /etc/login.defs
내 것입니다.
UMASK 077
USERGROUPS_ENAB yes
답변1
이 답변은 bash에만 해당되며 다른 쉘에도 비슷한 기능이 있지만 귀하의 답변에서 언급되었으므로 .bashrc
Bash를 사용하고 있다고 가정하겠습니다.
당신이 경험하고 있는 것은 쉘이 대화형 쉘이나 로그인 쉘로 호출될 수 있다는 것입니다.
bash -l
- 로그인bash -i
- 인터렉티브
Bash 매뉴얼 페이지의 "INVOCATION" 섹션을 보면 다음 2개의 주석을 볼 수 있습니다.
로그인
로그인 쉘에 대한 인수가 없는 첫 번째 문자는 -이거나 --login 옵션으로 시작됩니다.
인터렉티브
대화식 쉘은 옵션이 아닌 인수를 취하지 않고 -c 옵션 없이 표준 입력 및 오류가 터미널에 연결되어 있거나(isatty(3)에 의해 결정됨) -i 옵션으로 시작되는 쉘입니다.
bash가 대화형이면 PS1이 설정되고 $-에는 i가 포함되어 쉘 스크립트나 시작 파일이 이 상태를 테스트할 수 있습니다.
대화형 및 로그인 셸은 다음 순서로 구성 파일을 읽습니다. 먼저 다음을 수행합니다.
- /etc/구성 파일
다음은 다음 순서 중 하나입니다(먼저 발견되는 순서).
- ~/.bash_profile
- ~/.bash_login
- ~/.프로필
대화형 쉘(로그인 쉘 아님) ~/.bashrc
은 추가 구성 파일을 읽지 않습니다 /etc/bashrc
. 그들은 ~/.bashrc
다음과 같은 이유로 문서 전체에서 이 섹션을 읽었습니다.
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
그렇다면 umask는 어떻습니까?
두 가지 유형의 셸에서 읽을 수 있으려면 umask
두 가지 유형의 셸 호출에서 읽을 수 있는 위에서 언급한 파일 중 하나에 해당 파일을 포함해야 하므로 /root/.bash_profile
.
답변2
루트의 umask를 설정 /root/.profile
하고 su
쉘이 로그인 쉘로 시작되도록 지시할 수 있습니다.
su -