Как проверить umask на всех пользователей в соответствии с Linux?

Или Вы могли использовать exec заменять Ваш процесс оболочки ssh при переходе к другому хосту:

SSH to host1 with PuTTY...
banjer@host1:~> #...doin some work...ooh! need to go check something on host8...
banjer@host1:~> exec ssh host8
banjer@host8:~> #...doin some work...OK time for lunch. lets close putty...
banjer@host8:~> exit
Putty closes.

5 уровней глубоко не симпатичны, так как трафик пройдет через все другие серверы. Из-за этого я не рекомендую просто уничтожить PuTTY или ssh (~)., с тех пор (в зависимости от того, что Вы делаете) это могло привести к осиротевшим процессам на серверах.

Лучше попытаться быть менее "ленивым". Щелкните правой кнопкой по строке заголовка шпаклевок, делает открытие новой сессии быстрым. Если Вы имеете сервер "по умолчанию" и принимаете 1, спрыгивают с этого, функция "Duplicate Session" очень полезна. Особенно при использовании pubkey аутентификации.

18
15.07.2013, 09:38
2 ответа

Можно проверить использование:

for user in $(awk -F: '{print $1}' /etc/passwd); 
do 
    printf "%-10s" "$user" ; su -c 'umask' -l $user 2>/dev/null
done

Чтобы постараться не проверять пользователя системы, сделайте:

for user in $(awk -F: '( $3 >= 500 ){print $1}' /etc/passwd); 
do 
    printf "%-10s" "$user" ; su -c 'umask' -l $user 2>/dev/null
done

OutPut:

ram       0022
shyam     0022
suraj     0022
vinayak   0022
javed     0022
9
27.01.2020, 19:46
  • 1
    хорошо, спасибо, но являются там какими-либо способами проверить umask без "su" луга пользователю? –  gasko peter 11.07.2013, 17:38
  • 2
    , если Вы вручную установили, говорит в ~.bashrc затем Вы можете grep в этот файл. –  Rahul Patil 11.07.2013, 17:49
  • 3
    Это могло быть установлено во многих местах... вот почему захват не является лучшим решением –  gasko peter 11.07.2013, 17:51
  • 4
    затем, мы должны зарегистрироваться, многие помещают, –  Rahul Patil 11.07.2013, 17:52
  • 5
    должно быть лучше при установке umask в на пользователя в общем файле, например, .bashrc –  Rahul Patil 11.07.2013, 18:03

umask обычно устанавливается в масштабе всей системы через файл конфигурации: /etc/login.defs:

$ grep UMASK /etc/login.defs 
UMASK           077

Это значение может быть переопределено, но обычно не через также /etc/bashrc, /etc/profile и/или пользователями в их $HOME/.bashrc (Принятие они используют Bash).

Если Вы grep для "umask" в тех вышеупомянутых файлах Вы также заметите это на полях RHEL:

$ grep umask /etc/bashrc /etc/profile
/etc/bashrc:    # By default, we want umask to get set. This sets it for non-login shell.
/etc/bashrc:       umask 002
/etc/bashrc:       umask 022
/etc/profile:# By default, we want umask to get set. This sets it for login shell
/etc/profile:    umask 002
/etc/profile:    umask 022

Рытье глубже:

  • /etc/bashrc

    # By default, we want umask to get set. This sets it for non-login shell.
    # Current threshold for system reserved uid/gids is 200
    # You could check uidgid reservation validity in
    # /usr/share/doc/setup-*/uidgid file
    if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
       umask 002
    else
       umask 022
    fi
    
  • /etc/profile

    # By default, we want umask to get set. This sets it for login shell
    # Current threshold for system reserved uid/gids is 200
    # You could check uidgid reservation validity in
    # /usr/share/doc/setup-*/uidgid file
    if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
        umask 002
    else
        umask 022
    fi
    

Так, по крайней мере, в системе RHEL umask также 002 если Ваш UID больше, чем 199, и 022 иначе (системные учетные записи).

10
27.01.2020, 19:46

Теги

Похожие вопросы