Как подавить su ошибку аутентификации, предупреждающую?

При использовании администратора сети, вероятно, Вы получаете все параметры сети от своего dhcp сервера в Вашем университете.

Если Вы не хотите, используют Вашу оболочку для проверки настроек DNS (как описано hesse и Alexios), Вы видите их от панели "Network information".

Можно достигнуть этой панели путем нажатия правой кнопки мыши на значке администратора сети и выбора "Информации о соединении" из меню.

0
04.10.2012, 20:24
2 ответа

Насколько я могу сказать, истечение учетной записи пользователя и блокировка являются функционально тем же самым; попытки входа в систему перестанут работать, попытки SSH перестанут работать и т.д. По крайней мере, в моих целях они - то же.

Так, в моем сценарии я теперь обнаруживаю, истекает ли пользователь, и если так, заблокируйте пользователя и установите истечение на 'никогда'.

Это выглядит примерно так:

# Takes 1 parameter, the username to check
# Returns 0 if the user is expired, or 1 if it is not expired.
function userExpired()
{
    # These day values are just numbers, the number of days since the epoch.
    local expireDay=`grep $1 /etc/shadow | cut -d: -f8`

    # If diag has no expiration date, it will be empty.
    if [[ "$expireDay" -eq "" ]] ; then
        return 1
    fi

    local today=`perl -e 'print int(time/(60*60*24))'`
    local daysUntilExpire=`echo $expireDay - $today | bc`

    [[ $daysUntilExpire -lt 0 ]]
}

# Check if the diag user is expired and if so, lock and unexpire it.
userExpired diag && {
    usermod --lock --expiredate -1 diag
}

Я записал функцию userExpired из кода, найденного в этом сообщении форума (измененный для установки моему стилю кода и лучшему именованию переменной).

1
28.01.2020, 02:53
  • 1
    : - блокировка и - expiredate тонко отличаются. Блокировка предотвращает вход в систему пароля (обычно путем предварительного ожидания! к хэшу пароля в passwd или теневом файле), но пользователь, который ранее установил ключи SSH (например), все еще сможет получить доступ. В этом случае это маловероятно, начиная с Вашего diag пользователь был изготовлен на заказ, но я отмечаю это здесь полнотой. Подход expiredate является все еще рекомендуемым подходом, если Вы действительно хотите отключить вход в систему, но все еще позволить su и друзья для работы. –  Cosmic Ossifrage 24.01.2015, 19:24

Перенаправленный stderr к stdout

su -s /bin/bash - diag 2>&1 >/dev/null

Этот я не попробовал, но ожидаю, должен работать (обновит скоро однажды домой),

discard=$(su -s /bin/bash - diag)
0
28.01.2020, 02:53
  • 1
    , Как это отличается от простого перенаправления stderr к /dev/null с 2> /dev/null? –  Ricket 04.10.2012, 21:15
  • 2
    that wont suppress all the output from bash ;), однако я не протестировал их, я ценил бы, если можно сказать то, что Вы наблюдали... –  perilbrain 04.10.2012, 21:18
  • 3
    я думаю, что у нас есть недоразумение. Я не хочу всего подавленного вывода; я просто хочу su истечение, предупреждающее, чтобы не быть отображенным. –  Ricket 04.10.2012, 21:29

Теги

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