Неоднозначное перенаправление вывода

Настройка политики паролей для конкретных пользователей:

Один из вариантов - изменить политику паролей пользователей с помощью команды lchage .

Команда ниже устанавливает минимальное количество дней, необходимое для смены пароля.

lchage --mindays=<days> <username>

Для просмотра текущей политики можно использовать команду ниже.

lchage --list <username>

Общая политика для всех пользователей:

Чтобы установить политику паролей, общую для всех пользователей в системе, вам необходимо отредактировать переменную PASS_MIN_DAYS в ] файл /etc/login.defs .

root@ubuntu:~# grep PASS_MIN_DAYS /etc/login.defs 
#   PASS_MIN_DAYS   Minimum number of days allowed between password changes.
PASS_MIN_DAYS   1

Приведенный выше список grep показывает, что между сменой пароля требуется минимум # дней, равное 1.

Если пользователь попытается сбросить пароль до установленного минимума # дней, он / она получит ошибку, указанную ниже. {{1 }}

$ passwd
Changing password for test.
(current) UNIX password: 
You must wait longer to change your password
passwd: Authentication token manipulation error
passwd: password unchanged

При создании пользователя к создаваемому пользователю будет применяться политика, определенная в /etc/login.defs . Опять же, команда lchage --list может использоваться для просмотра текущей политики.

2
24.01.2018, 01:22
1 ответ

Если вы используете (t )csh, вы получите Ambiguous output redirect.при попытке настроить два конфликтующих перенаправления:

> echo foo > a > b
Ambiguous output redirect.

В Bash вы могли получить аналогичную ошибку, если вместо имени файла использовали массив с несколькими элементами:

$ set aa bb
$ echo foo > "$@"
bash: "$@": ambiguous redirect

Как упоминалось в ответах на перенаправление stderr не работает в csh , оператор >&работает в (t )csh для перенаправления как stdout, так и stderr.2>&1— это стандартный способ перенаправить stderr в то же место, что и stdout, но (t )csh не поддерживает это. Вместо этого он принимает комбинацию > foo 2>&1как перенаправление на foo, обычный аргумент 2и перенаправление на 1, и перенаправления конфликтуют, поэтому вы получаете ошибку.

>&также работает в Bash и zsh, но не является стандартной функцией.

5
27.01.2020, 21:58

Теги

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