Как получить строковое имя пользователя/имя группы из числового uid/gid на удаленном хосте в сеансе SFTP?

Я автоматизирую передачу файлов через SFTP и застрял при смене владельца файла на удаленном хосте. Проблема в том, что команды SFTP и команды принимают только числовые идентификаторы uid/gids, которые заранее не известны. Ожидаемый сценарий моей автоматизации заключается в том, что пользователь сообщает места назначения файлов, а также строковые имена пользователей и имена групп.

Есть ли способ запросить числовой идентификатор uid/gid из строки имени пользователя/группы на удаленном хосте через сеанс SFTP?

Простой обходной путь — открыть дополнительный сеанс SSH и использовать обычную оболочку.chownиchgrpкоманды. Но компания, в которой я работаю, использует для аутентификации токены по времени, и, короче говоря, дополнительный сеанс означает дополнительные 30 секунд на каждый хост, что недопустимо для пакетной установки.
Сложнее было быls -lкаталоги, возможно, файлы, чтобы найти каталог с необходимыми учетными данными, а затемls -nчтобы получить числовую версию. Но это может занять слишком много времени, не найти подходящих каталогов/файлов или даже застрять, если в каталоге слишком много файлов дляlsработать...

1 ответ

Это невозможно.

По крайней мере, не с широко используемой версией SFTP 3.

Другие вопросы по тегам