Bug 42550

Summary: mktemp игнорирует umask
Product: Sisyphus Reporter: mikhailnov <mikhailnov>
Component: coreutilsAssignee: placeholder <placeholder>
Status: CLOSED NOTABUG QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: glebfm, iv, ldv, placeholder
Version: unstable   
Hardware: x86_64   
OS: Linux   

Description mikhailnov 2022-04-22 15:48:23 MSK
# umask
0022
# mktemp
/root/tmp/tmp.CjuVks71fe
# stat /root/tmp/tmp.CjuVks71fe
Права 0600, когда как согласно man mktemp должны быть 777-umask.
coreutils 8.32.0.165.18dbc-alt1:sisyphus+278099.600.1.1@1626028059
Воспроизводится на mktemp не из Альта. Возможно, проблема (?) в glibc, еще не проверял.
Comment 1 Dmitry V. Levin 2022-04-23 21:49:25 MSK
Вы неправильно интерпретировали документацию, в которой сказано буквально следующее:
Files are created u+rw, and directories u+rwx, minus umask restrictions.

Например:
$ ls -dog `umask 222 && mktemp foo.XXXXXX`
-r-------- 1 0 Apr 23 21:45 foo.9CQDvE

Это вполне согласуется с документацией, поскольку u+rw == 0600, u+rwx == 0700.