Ошибка удаленного чтения SFTP: национальные символы в имени файла

Puede hacerlo a través de:

for i in $(pgrep -U $UID_OF_ANOTHER_USER); do kill -9 $i; done

O

pkill -U $UID_OF_ANOTHER_USER

Puede usar el primero para hacer algo más que simplemente matar esos procesos, como enumerarlos todos mientras mata.

2
27.06.2019, 17:04
1 ответ

Вряд ли это связано с локалью. Основываясь на мимолетном упоминании в одном из ваших комментариев, что «это может быть связано с профилем пользователя, который пытается войти в систему через sftp», я рискну, что вы не входите на удаленный сервер как root.

Не -пользователи root не могут получить доступ к /root, и это отражено в вашем сеансе sftp. Вот такой же на моем локальном сервере с файлом с именем СтранноеРусскоеИмя, уже помещенным в каталог/tmp/526629:

sftp remoteuser@remoteserver
Connected to remoteserver.
sftp> cd /root
sftp> ls
remote readdir("/root"): Permission denied
sftp> cd /tmp/526629
sftp> ls
СтранноеРусскоеИмя
sftp>

Другим вариантом действительно может быть локаль. Здесь, в этом сеансе, у нас та же конфигурация сервера, что и раньше :

.
# Locale is UTF-8
LC_CTYPE="en_GB.UTF-8" sftp remoteuser@remoteserver
Connected to remoteserver.
sftp> cd /tmp/526629/
sftp> ls
СтранноеРусскоеИмя
sftp>

# Locale is C
LC_CTYPE=C sftp remoteuser@remoteserver
Connected to remoteserver.
sftp> cd /tmp/526629/
sftp> ls

sftp>

Я не могу воспроизвести ваш remote readdir("/root"): Failure, но, возможно, вы могли бы проверить языковой стандарт на удаленном сервере, чтобы убедиться, что он установлен на вариант UTF -8.

0
27.01.2020, 22:26

Теги

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