Конфигурация SSH: Chown username: Группа: Говорят, что неверный пользователь

Я бы использовал perl вместо этого:

perl -ne 'print if /PC=([\da-fA-F]+)/ &&
                   ($n=hex $1) >= 0x1234ab00 &&
                    $n <= 0x1234b0ff'

С grep это было бы довольно громоздко, и вам пришлось бы адаптировать regexp для каждого диапазона, например:

LC_ALL=C grep -E 'PC=0*1234([aA][b-fB-F]|[bB]0)[0-9a-fA-F]{2}([^0-9a-fA-F]|$)'

Диапазоны внутри скобочных выражений применяются только к символам. Выражения в скобках соответствуют только одному символу (ну, и элементу коллатерали). В локали C [0-9] - это сокращение для [0123456789], поэтому оно соответствует любому из этих 10 арабских цифровых символов. [0-25] - это [0125] , поэтому соответствует любому из 0, 1, 2, 5.

1
19.09.2018, 21:12
2 ответа

Есть несколько вещей, которые следует принять во внимание, и я надеюсь, что закрою некоторые пробелы в вашем вопросе.

Во-первых, когда вы используете chown, пользователь и группа, которым вы пытаетесь назначить сущности, должны существовать . Если это не так, вы получите ошибку. Поэтому сначала убедитесь, что он существует.

Во-вторых, чтобы использовать chown, вам нужны повышенные способности. Вы не можете просто передать право собственности на файлы и т. д. другому пользователю как обычному пользователю. Убедитесь, что вы знаете, что это значит, и что это то, что вы хотите.

В-третьих, убедитесь, что вы понимаете, что пытаетесь сделать. chownизменяет владельца объекта или объектов файловой системы на пользователя и группу, которые вы ему сообщаете.

2
27.01.2020, 23:42

В моем случае это связано с тем, что я запускаю chown в контейнере, в то время как nscd работает на хосте. Поскольку у контейнера и хоста разные /etc/passwd и пользователи, chown завершится ошибкой, потому что имя пользователя не может быть разрешено. После остановки демона nscd проблема решена, и chown использует локальный файл /etc/passwd.

со страницы руководства https://linux.die.net/man/8/nscd, getgrname (https://man7.org/linux/man-pages/man3/getgrnam.3.html), который используется chown (https://github.com/coreutils/gnulib/blob/fcdf335e093e245e384874254ec897c97430ccf2/lib/userspec.c#L202), сначала вызовет nscd.

0
19.09.2020, 04:29

Теги

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