Подстановочный знак rm не работает

Ваши разрешения говорят о проблеме:

-rw------- xxxx_p xxxx_gsa ? /home/xxx/.ssh/authorized_keys

Согласно странице руководства для sshd:

~/.ssh/authorized_keys

[...]

Если этот файл, каталог ~/.ssh или домашний каталог пользователя доступны для записи другим пользователям, то файл может быть изменен или заменен неавторизованными пользователями. В этом случае sshd не разрешит его использовать, если только параметр StrictModes не установлен в значение "no".

Вам необходимо убедиться, что /home/xxxx/.ssh/authorized_keys принадлежит пользователю xxxx, а не xxxx_p. В противном случае сервер откажется использовать этот файл.

4
06.08.2017, 01:36
2 ответа

Попробуйте сопоставить точку:

$ rm -r.*.swp

Надеюсь, это решит вашу проблему.

6
27.01.2020, 20:53

Это Bashфункция, управляемая опцией оболочки dotglob, описанной вman page:

If set, bash includes filenames beginning with a `.' in the results of pathname expansion.

Поскольку это функция Bash, она вызывает другие команды, такие как grep, lsи т. д. не обрабатывать файлы, начинающиеся с ., если dotglob не установлен как Что ж. Вы можете проверить, установлен ли dotglobв вашей системе, используя shopt встроенный -, он должен быть off, если у вас возникают такие проблемы:

$ shopt | grep dotglob
dotglob         off

Если shoptбыл установлен, *будет соответствовать всем файлам, даже этим начальным с .. См. этот пример:

$ touch a b c.d
$ ls *
a  b  c
$ ls *d
ls: cannot access '*d': No such file or directory
$ shopt -s dotglob
$ shopt | grep dotglob
dotglob         on
$ ls *
.d  a  b  c
$ ls *d
.d

Когда dotglobотключено, вы все равно можете создать шаблон для обработки файлов в текущем каталоге вместе со скрытыми файлами:

ls.[!.]* *

или

ls.[^.]* *
3
27.01.2020, 20:53

Теги

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