Как получить строковое имя пользователя/имя группы из числового uid/gid на удаленном хосте в сеансе SFTP?
Я автоматизирую передачу файлов через SFTP и застрял при смене владельца файла на удаленном хосте. Проблема в том, что команды SFTP и команды принимают только числовые идентификаторы uid/gids, которые заранее не известны. Ожидаемый сценарий моей автоматизации заключается в том, что пользователь сообщает места назначения файлов, а также строковые имена пользователей и имена групп.
Есть ли способ запросить числовой идентификатор uid/gid из строки имени пользователя/группы на удаленном хосте через сеанс SFTP?
Простой обходной путь — открыть дополнительный сеанс SSH и использовать обычную оболочку.chown
иchgrp
команды. Но компания, в которой я работаю, использует для аутентификации токены по времени, и, короче говоря, дополнительный сеанс означает дополнительные 30 секунд на каждый хост, что недопустимо для пакетной установки.
Сложнее было быls -l
каталоги, возможно, файлы, чтобы найти каталог с необходимыми учетными данными, а затемls -n
чтобы получить числовую версию. Но это может занять слишком много времени, не найти подходящих каталогов/файлов или даже застрять, если в каталоге слишком много файлов дляls
работать...
1 ответ
Это невозможно.
По крайней мере, не с широко используемой версией SFTP 3.