ssh

title: ssh(1)

summary: SSH\-клиент защищенной оболочки OpenSSH (программа удаленного доступа)

text:
# ssh(1)

## НАЗВАНИЕ
ssh - SSH-клиент защищенной оболочки OpenSSH (программа удаленного доступа)

## СИНТАКСИС
ssh [-l login_name] [hostname | user@hostname] [command]

ssh [-afgknqstvxACNTX1246] [-b bind_address] [-c cipher_spec] [-e escape_char] [-i identity_file] [-l login_name] [-m mac_spec] [-o option] [-p port] [-F configfile] [-L port:host:hostport] [-R port:host:hostport] [-D port] hostname | user@hostname [command]

## ОПИСАНИЕ
ssh (SSH клиент) - это программа для регистрации и выполнения команд на удаленной машине. Она предназначена для замены rlogin и rsh и предоставляет безопасное шифрованное соединение между двумя независимыми компьютерами через незащищенную сеть. Соединения Х11 и произвольные ТСР/IP порты также могут быть перенаправлены через защищенный канал.

ssh подключается и регистрируется к указанному hostname (имени машины). Пользователь должен доказать свою идентичность удаленной машине одним из нескольких способов в зависимости от используемой версии протокола:

### Протокол SSH версии 1
Первый метод, если машина, с которой пользователь осуществил вход, указана в файле /etc/hosts.equiv или /etc/openssh/shosts.equiv на удаленной машине и имя пользователя одинаково на обоих сторонах, пользователю будет немедленно разрешен вход в систему. Второй метод, если в домашнем каталоге пользователя на удаленной машине имеются файлы .rhosts или .shosts и содержат строки содержащие имя машины-клиента и имя пользователя на этой машине, то пользователю будет разрешен вход в систему. Этот способ аутентификации, как единственный, обычно не разрешен сервером, так как он не безопасен.

Второй метод аутентификации является rhosts или hosts.equiv методом, комбинированным с основанной на RSA аутентификацией машины. Это значит, что если бы был разрешен вход в систему в $HOME/.rhosts, $HOME/.shosts, /etc/hosts.equiv или /etc/openssh/shosts.equiv и дополнительно сервер мог проверить ключ машины клиента (смотри /etc/openssh/ssh_known_hosts и $HOME/.ssh/known_hosts в секции ФАЙЛЫ), то только тогда был бы разрешен вход в систему. Этот метод аутентификации прикрывает прорехи в защите от подмены IP, подмены DNS и подмены маршрута. [Вниманию системного администратора: /etc/hosts.equiv, $HOME/.rhosts и протокол rlogin/rsh, в целом, изначально не безопасны и должны быть отключены, если вы желаете себя обезопасить.]

Как третий способ аутентификации, ssh поддерживает аутентификацию основанную на RSA. Схема основана на криптографии публичного ключа: существуют криптосистемы, где шифрование и расшифровка производятся с использованием различных ключей и определить ключ расшифровки, отталкиваясь от ключа для шифрования, не представляется возможным. Одной из таких систем является RSA. Идея состоит в том, что каждый пользователь для аутентификации создает публичную/приватную пару ключей. Серверу известен публичный ключ и только пользователю известен приватный ключ. Файл $HOME/.ssh/authorized_keys перечисляет публичные ключи которым разрешена регистрация в системе. Когда пользователь регистрируется в системе, программа ssh сообщает серверу какую ключевую пару он должен использовать для аутентификации. Сервер проверяет, является ли ключ разрешенным, и, если это так, посылает пользователю (фактически программа ssh выполняется от имени пользователя) запрос - случайное число, зашифрованное публичным ключём пользователя. Запрос может быть расшифрован только с помощью правильного приватного ключа. Затем, при помощи приватного ключа пользовательский клиент расшифровывает запрос, тем самым доказывая серверу знание приватного ключа без его раскрытия.

ssh реализует протокол аутентификации RSA автоматически. Пользователь создает свою пару RSA ключей при помощи ssh-keygen(1). Он сохраняет приватный ключ в $HOME/.ssh/identity и публичный ключ в $HOME/.ssh/identity.pub в домашнем каталоге пользователя. Затем, пользователь должен скопировать identity.pub в $HOME/.ssh/authorized_keys в своем домашнем каталоге на удаленной машине (файл authorized_keys соответствует обычному файлу $HOME/.rhosts и содержит по одному ключу на каждую строку, хотя строки могут быть очень длинными). После этого пользователь может зарегистрироваться в системе без указания пароля. Аутентификация RSA гораздо более безопасна, чем аутентификация rhosts.

Наиболее удобным для использования способом может быть RSA аутентификация с агентом аутентификации. Для дополнительной информации смотри ssh-agent(1).

Если другие способы аутентификации закончились неудачно, ssh предложит пользователю указать пароль. Пароль будет послан на удаленную машину для проверки; однако, так как вся связь шифруется, пароль не может быть подсмотрен кем-нибудь подслушивающим в сети.

### Протокол SSH версии 2
Когда пользователь связывается с использованием протокола версии 2, то становятся доступны различные способы аутентификации: Используя для PreferredAuthentications значения по умолчанию клиент сначала пробует аутентифицировать себя используя метод аутентификации машины; если этот способ потерпит неудачу, то будет предпринята аутентификация при помощи публичного ключа и наконец, если и этот метод терпит неудачу, будет предпринята попытка интерактивной аутентификации по паролю с вводом данных с клавиатуры.

Метод публичного ключа похож на RSA аутентификацию, описанную в предыдущей секции и позволяет использовать DSA или RSA алгоритм. Для подписи идентификатора сеанса клиент использует приватный ключ $HOME/.ssh/id_dsa или $HOME/.ssh/id_rsa и отправляет результат серверу. Сервер проверяет, соответствует или нет публичный ключ указанному в $HOME/.ssh/authorized_keys, и в том случае, если ключ и подпись соответствуют, предоставляет доступ. Идентификатор сеанса берется из общего значения Diffie-Hellman и известен только клиенту и серверу.

Дополнительно, ssh поддерживает по-машинную аутентификацию или по методу запрос-ответ.

Протокол 2 обеспечивает дополнительные механизмы для конфиденциальности (сетевой трафик шифруется с использованием 3DES, Blowfish, CAST128 или Arcfour) и целостности (hmac-md5, hmac-sha1). Обратите внимание, что протокол версии 1 имеет недостаточно сильный механизм обеспечения целостности подключения.

### Сеанс входа в систему и удаленного выполнения
Если идентификация пользователя принята сервером, то сервер либо выполняет указанную команду, либо регистрирует пользователя в системе и дает ему нормальную оболочку на удаленной машине. Вся связь с удаленной командой или оболочкой будет автоматически зашифрована.

Если был назначен псевдо-терминал (нормальный сеанс регистрации в системе), то пользователь может использовать управляющие последовательности, описываемые ниже.

Если псевдо-терминал не был назначен, сеанс прозрачен и может быть использован для передачи бинарных данных. На большинстве систем установка управляющих символов в значение "none" сделает сеанс прозрачным, даже если используется терминал.

Сеанс прерывается, когда команда или оболочка на удаленной машине завершает работу и все Х11 и TCP/IP соединения завершены. Статус выхода удаленной программы возвращается как статус выхода ssh.

### Управляющие Последовательности
Если был запрошен псевдо-терминал, то ssh предоставляет возможность использования некоторых функции при помощи управляющих последовательностей.

Одинарный символ тильды может быть послан как ~~ или вслед за другим символом, отличным от символов описанных выше. Управляющий символ должен всегда быть указан с новой строки, чтобы он был интерпретирован как специальный. Управляющие символы могут быть изменены при помощи конфигурационной директивы EscapeChar или в командной строке при указании параметра -e.

Поддерживаются следующие последовательности (по умолчанию подразумевается `~'):

~.

Отключиться

~^Z

ssh в фоновом режиме

~#

Отобразить перенаправленные соединения

~&

Перевести ssh в фоновый режим в ожидании завершения перенаправленного соединения/сессии Х11

~?

Отобразить список управляющих последовательностей

~C

Вывести командную строку (целесообразно только для перенаправления портов с использованием опций -L и -R)

~R

Запросить переподключение (имеет смысл только для протокола SSH версии 2 и если другая сторона это поддерживает)

### Перенаправление X11 и TCP
Если для переменной ForwardX11 установлено значение "yes" (или смотри опции -X и -x, описываемые далее) и пользователь использует Х11 (установлена переменная окружения DISPLAY), то подключение к дисплею Х11 будет автоматически перенаправлено удаленной стороне таким образом, что любая Х11-программа запущенная из оболочки пользователя (или команды) пройдет через зашифрованный канал и соединение с настоящим сервером Х будет сделано с локальной машины. Пользователь не должен вручную устанавливать DISPLAY. Пересылка соединений X11 может быть сконфигурирована из командной строки или в файлах конфигурации.

Значение DISPLAY установленное для ssh будет указывать на машину-сервер, но с номером дисплея большим чем ноль. Это нормально и происходит потому, что ssh создает "proxy" Х-сервер на машине-сервере для пересылки соединений через зашифрованный канал.

ssh также автоматически настроит данные Xauthority на машине-сервере. Для этой цели он создаст случайные "cookie" авторизации, сохранит их в Xauthority на сервере и проверит, чтобы любое перенаправленное соединение передавало это "cookie" и подменяло его, когда установлено реальное соединение. Настоящий аутентификационный "cookie" никогда не будет послан на машину-сервер (и не отправит не зашифрованные "cookie").

Если значение переменной ForwardAgent установлено в "yes" (или смотри опции -A и -a, описываемые далее) и пользователь использует агента аутентификации, подключение к агенту автоматически перенаправляется удаленной стороне.

Перенаправление произвольных TCP/IP соединений через защищенный канал может быть указано либо в командной строке либо в файле конфигурации. Одна из возможных программ перенаправления TCP/IP - это защищенное соединение с электронным кошельком; другое, это связь через брандмауэр.

### Аутентификация сервера
ssh автоматически обслуживает и проверяет базу данных содержащую идентификацию для всех машин, которые когда-либо были использованы. Ключи машин хранятся в $HOME/.ssh/known_hosts в домашнем каталоге пользователя. В добавок, файл /etc/openssh/ssh_known_hosts для известных машин проверяется автоматически. Любая новая машина будет автоматически добавлена в пользовательский файл. Если идентификация машины изменилась, то ssh предупредит об этом и отключит аутентификацию с паролем во избежание получения троянским конем пароля пользователя. Другое предназначение этого механизма состоит в том, чтобы предотвратить нападения по принципу man-in-the-middle, которые могут быть предприняты чтобы обойти шифрование. Опция StrictHostKeyChecking может быть использован для предотвращения входа в систему на машинах, чьи ключи не известны или изменены.

Используемые опции:

-a

Отключает перенаправление соединения агента аутентификации.

-A

Включает перенаправление соединения агента аутентификации. Это может быть также указано на по-машинной основе в файле конфигурации.

Перенаправление агента должно использоваться с большой предосторожностью. Пользователи, имеющие возможность обойти права доступа к файлам на удалённой машине (для доменных Unix-подключений агента), могут получить доступ к локальному агенту через перенаправленное соединение. Атакующий не может получить данные ключа от агента, однако он может воздействовать на ключ, что позволит аутентифицироваться используя идентификаторы уже загруженные в агента.

-b bind_address

Задаёт интерфейс для передачи с машин со множеством сетевых интерфейсов или адресных псевдонимов.

-c blowfish|3des

Выбор пароля для шифрования сеанса. blowfish используется по умолчанию. Это наиболее безопасно. 3des (тройной-des), это кортеж вида encrypt-decrypt-encrypt с тремя различными ключами. blowfish это быстрый блочный шифр, он выглядит безопаснее и намного быстрее чем 3des. des поддерживается только в ssh-клиенте для совместимости с реализацией протокола версии 1, который не поддерживает 3des-шифрование. Это крайне нежелательно в следствие слабой криптографии.

-c cipher_spec

Дополнительно, для протокола версии 2, список шифров может быть указан через запятую в порядке их предпочтения. Для получения дополнительной информации смотри Ciphers.

-e ch|^ch|none

Назначает управляющие символы для сеансов с псевдо-терминалом (по умолчанию: "~"). Управляющие символы распознаются только в начале строки. Управляющий символ следующий за точкой (".") завершит соединение, следующий за control-Z приостановит соединение, а будучи указанным дважды означает один управляющий символ. Установка значения символа равным "none" отключает любые управляющие символы и делает сеанс полностью прозрачным.

-f

Запросит ssh перейти в фоновый режим только перед выполнением команды. Это полезно если ssh собирается запросить пароль или парольную фразу, но пользователь хочет сделать это в фоновом режиме. Это подразумевает использование в сочетании с -n. Рекомендуемый способ для запуска программ Х11 с удаленного компьютера это что-нибудь типа ssh -f host xterm.

-g

Позволяет удаленным машинам обращаться к локальным перенаправленным портам.

-i файл_идентификации

Указывает файл из которого считывается идентификация (приватный ключ) для RSA или DSA аутентификации. По умолчанию это $HOME/.ssh/identity для протокола версии 1, а также $HOME/.ssh/id_rsa и $HOME/.ssh/id_dsa для протокола версии 2. Файлы идентификации также могут быть указаны на по-машинной основе в файле конфигурации. Это позволяет иметь множество параметров -i (и указывать в конфигурационном файле несколько идентификаторов).

-I smartcard_device

Указывает устройство для считывания smartcard. Аргументом является устройство, которое должен использовать ssh для связи со smartcard, используемой для хранения приватного RSA-ключа пользователя.

-k

Отключает пересылку билетов Kerberos и лексем AFS. Это может быть также указано на по-машинной основе в файле конфигурации.

-l имя_регистрации

Указывает имя регистрации пользователя в системе на удаленной машине. Это может быть также указано на по-машинной основе в файле конфигурации.

-m mac_spec

Для протокола версии 2 может быть дополнительно указан в порядке предпочтения разделенный через запятую список MAC-алгоритмов (кодов подлинности сообщения). Для дополнительной информации ищи по ключевому слову MAC.

-n

Перенаправляет стандартный ввод из /dev/null (фактически, предотвращает чтение из стандартного ввода). Это должно использоваться когда ssh выполняется в фоновом режиме. Типичный трюк используемый для запуска Х11 программ на удаленной машине. Например, ssh -n shadows.cs.hut.fi emacs & запустит emacs на shadows.cs.hut.fi и соединение X11 будет автоматически перенаправлено через зашифрованный канал. Программа ssh будет переведена в фоновый режим. (Это не работает, если ssh нужен запрос пароля или парольной фразы; также смотри параметр -f.)

-N

Не выполнять удаленную команду. Это полезно если вы хотите только перенаправить порты (только с протоколом версии 2).

-o параметр

Может быть использован для задания параметров в формате, используемом в файле конфигурации. Это полезно для указания параметров не имеющих отдельного флага командной строки.

-p порт

Порт для связи на удаленной машине. Это может быть указано в файле конфигурации на по-машинной основе.

-q

Тихий режим. Подавляет все предупреждения и отладочные сообщения.

-s

Может быть использован для вызова подсистемы на удаленной системе. Подсистема, это особенность протокола SSH2, которая облегчает использование SSH как безопасный транспорт для другой программы (например, sftp). Подсистема определена как удаленная команда.

-t

Принудительное переназначение псевдо-терминала. Это может быть использовано для произвольного выполнения программ на удаленной машине, требующих вывода изображения, что может быть очень полезно, например, при реализации возможностей меню. Несколько параметров -t заданных подряд переназначат терминал, даже если ssh не имеет локального терминала.

-T

Отменить переназначение терминала.

-v

Режим отладки. Вынудит ssh вывести отладочную информацию о происходящем. Это полезно для отладки соединения, аутентификации и конфигурации. Множественное указание параметра -v сделает ssh более многословным. Максимальное количество 3.

-X

Включает перенаправление Х11. Это также может быть указано по-машинно в файле конфигурации.

Перенаправление X11 должно использоваться с предосторожностями. Пользователи, имеющие возможность обойти права доступа к файлам на удалённой машине (для пользовательской аутентификационной базы данных X), могут получить доступ к локальному дисплею X11 через перенаправленное соединение. Таким образом, атакующий может получить возможность выполнения таких действий, как, например, отслеживание вводимого ключа.

По этой причине, перенаправление соединейний в X11 по умолчанию подвергается ограничениям со стороны расширения SECURITY (безопасность). За более подробной информацией обратитесь к опции -Y программы ssh и к директиве ForwardX11Trusted, описанной на странице руководства ssh_config(5).

-x

Отключает перенаправление Х11.

-Y

Включает доверенное перенаправление соединений X11. Перенаправленные таким образом соединения не подвергаются контролю со стороны расширения SECURITY (безопасность) протокола X11.

-C

Включает сжатие всех данных (включая stdin, stdout, stderr и данные для перенаправленных Х11 и TCP/IP соединений). Используется тот же самый алгоритм сжатия как и для gzip(1); для протокола версии 1 уровень сжатия может быть задан при помощи параметра CompressionLevel. Сжатие желательно на модемных линиях и других медленных соединениях, но лишь замедлит работу в быстрых сетях. Значение по умолчанию может быть установлено в файлах конфигурации по принципу "машина-за-машиной"; смотри параметр Compression.

-F configfile

Служит для указания альтернативного пользовательского файла конфигурации. Если в командной строке указан файл конфигурации, системный файл конфигурации (/etc/openssh/ssh_config) игнорируется. Пользовательский файл конфигурации по умолчанию $HOME/.ssh/config.

-L port:host:hostport (порт:машина:порт_машины)

Определяет порт на локальной (клиентской) машине который будет перенаправлен к заданной машине и порт на удаленной машине. Это реализовано путём назначения доменного подключения "прослушиваемому" порту на стороне локальной машины, и всякий раз, когда производится соединение на этот порт, оно будет перенаправлено через защищенный канал и произведено соединение между портом и портом порт_машины на удалённой стороне. Перенаправление портов моет быть так же указано в файле конфигурации. Только суперпользователь может осуществлять перенаправление привилегированных портов. Адреса IPv6 могут быть указаны с альтернативным синтаксисом: port/host/hostport.

-R port:host:hostport (порт:машина:порт_машины)

Назначает порт на удаленной машине (сервере) который будет перенаправлен к заданной машине и локальному порту. Это реализовано посредством назначения доменного подключения "прослушиваемому" порту на удаленной машине и всякий раз, когда производится соединение на этот порт, оно будет перенаправлено через защищенный канал и произведено соединение между портом и портом порт_машины на локальной машине. Перенаправление портов моет быть так же задано в файле конфигурации. Только суперпользователь может осуществлять перенаправление привилегированных портов. Адреса IPv6 могут быть указаны с альтернативным синтаксисом: port/host/hostport.

-D port

Назначает локальное "динамическое" перенаправление портов на программном уровне. Это работает посредством назначения доменного подключения прослушивающего port на локальной стороне; при установлении соединения с этим портом оно будет перенаправлено через защищённый канал и затем будет использован программный протокол для соединения с удалённой машины. В настоящее время поддерживается протокол SOCKS4 и ssh действует как сервер SOCKS4. Только суперпользователь может перенаправлять привилегированные порты. Динамическое перенаправление портов также может быть указано в конфигурационном файле.

-1

Принуждает ssh использовать только протокол версии 1.

-2

Принуждает ssh использовать только протокол версии 2.

-4

Принуждает ssh использовать только IPv4 адреса.

-6

Принуждает ssh использовать только IPv6 адреса.

## ФАЙЛЫ КОНФИГУРАЦИИ
ssh может получать данные о настройках из пользовательского и из системного конфигурационных файлов. Формат файла и опции конфигурации описаны в ssh_config(5).

## ПЕРЕМЕННЫЕ
ssh обычно устанавливает следующие переменные окружения:

DISPLAY

Переменная DISPLAY обозначает месторасположение сервера Х11. Она автоматически устанавливается для ssh, чтобы указать на значение вида "hostname:n", где hostname обозначает машину, на которой запущена оболочка, и n - целое число >= 1. ssh использует это специальное значение для перенаправления соединений Х11 через защищенный канал. Пользователь обычно не должен явно устанавливать DISPLAY, так как это сделает соединение Х11 небезопасным (и от пользователя потребуется ручное копирование любых авторизационных cookies).

HOME

Устанавливает путь к домашнему каталогу пользователя.

LOGNAME

Синоним для USER; устанавливается для совместимости с системами, использующими эту переменную.

MAIL

Устанавливает указатель на почтовый ящик пользователя.

PATH

Устанавливает PATH по умолчанию, как определено при компиляции ssh.

SSH_ASKPASS

Если для ssh требуется указание ключевой фразы, то она будет считана с текущего терминала, если он был запущен из терминала. Если ssh не имеет ассоциированного терминала, но значения переменных DISPLAY и SSH_ASKPASS установлены, то будет выполнена программа, заданная в SSH_ASKPASS и будет открыто окно X11 для ввода фразы-пароля. Это особенно полезно при вызове ssh из .Xsession или схожего сценария. (Имейте ввиду, что для того, чтобы это сработало на некоторых машинах, понадобится перенаправление ввода из /dev/null.)

SSH_AUTH_SOCK

Обозначает путь доменных подключений unix, используемых для соединения с агентом.

SSH_CONNECTION

Обозначает завершение соединения для клиента и сервера. Эта переменная содержит четыре, следующих через запятую, значения: ip-адрес клиента, номер порта клиента, ip-адрес сервера и номер порта сервера.

SSH_ORIGINAL_COMMAND

Переменная содержит оригинальную командную строку, если была выполнена принудительная команда. Может быть использована для извлечения оригинальных аргументов.

SSH_TTY

Назначает имя терминала (путь к устройству), ассоциированное с текущей оболочкой или командой. Если текущий сеанс не имеет терминала, то эта переменная не будет установлена.

TZ

Переменная временной зоны для установки текущей временной зоны, если она была установлена при старте демона (т.е., демон передал значение на новое соединение).

USER

Устанавливает имя зарегистрированного в системе пользователя.

Дополнительно ssh проверяет наличие файла $HOME/.ssh/environment и, если он существует и пользователю разрешено переназначение собственных переменных окружения, считывает и добавляет к переменной строки вида "VARNAME=value". Смотри опцию PermitUserEnvironment в sshd_config(5).

## ФАЙЛЫ
$HOME/.ssh/known_hosts

Записывает ключи машин для всех компьютеров к которым подключался пользователь (которые не занесены в /etc/openssh/ssh_known_hosts. Смотри sshd(8).

$HOME/.ssh/identity, $HOME/.ssh/id_dsa, $HOME/.ssh/id_rsa

Содержат идентификаторы пользователя. Это RSA, для протокола версии 1, DSA, для протокола версии 2 и RSA, для протокола версии 2 соответственно. Эти файлы содержат важные данные и должны быть открыты для чтения пользователем, но недоступны для остальных (чтение/запись/выполнение). Обратите внимание, что ssh игнорирует приватные ключи, если они доступны для других. Возможно указание парольной фразы при создании ключа; парольная фраза будет использована для шифрации важной части этого файла с использованием 3DES.

$HOME/.ssh/identity.pub, $HOME/.ssh/id_dsa.pub, $HOME/.ssh/id_dsa.pub

Содержат публичные ключи для аутентификации (публичную часть файла идентификации в читаемом виде). Содержимое $HOME/.ssh/identity.pub будет добавлено к $HOME/.ssh/authorized_keys на всех машинах, где пользователь желает зарегистрироваться с использованием RSA-аутентификации протокола версии 1. Содержимое $HOME/.ssh/id_dsa.pub и $HOME/.ssh/id_rsa.pub будет добавлено к $HOME/.ssh/authorized_keys на всех машинах, где пользователь желает зарегистрироваться с использованием DSA/RSA-аутентификации протокола версии 2. Эти файлы не содержат секретных данных и могут (но не обязательно) быть доступны для чтения всем. Эти файлы никогда не используются автоматически и не обязательны; они предусмотрены только для удобства пользователя.

$HOME/.ssh/config

Это файл пользовательской конфигурации. Формат этого файла и опции конфигурации описаны в ssh_config(5).

$HOME/.ssh/authorized_keys

Содержит публичные (RSA/DSA) ключи, которые могут быть использованы для регистрации пользователя. Формат этого файла описан в руководстве пользователя sshd(8). В простейшем виде формат этого файла аналогичен файлам идентификации .pub. Этот файл не содержит секретных данных, но желательными являются следующие права доступа: запись/чтение для владельца и отказ в доступе для остальных пользователей.

/etc/openssh/ssh_known_hosts

Общесистемный список ключей для известных машин. Этот файл должен создаваться системным администратором и содержать публичные ключи всех машин в организации. Этот файл на должен быть доступен для чтения другим пользователям. Файл содержит публичные ключи, по одному на строку, в следующем виде (поля разделены пробелами): имя системы, публичный ключ и дополнительно, поле с комментарием. Если для одной и той же машины используются различные имена, все эти имена могут быть перечислены через запятую. Формат описан в руководстве пользователя sshd(8).

Каноническое имя системы (в соответствии с записями DNS) используется sshd(8) для проверки машины клиента при регистрации; остальные имена нужны в следствие того, что ssh перед проверкой ключа не преобразует назначенные пользователем имена в канонические, так как тот, кто получил доступ к серверу имён, в состоянии обмануть процесс аутентификации машины.

/etc/openssh/ssh_config

Системный файл конфигурации. Формат этого файла и опции конфигурации описаны в ssh_config(5).

/etc/openssh/ssh_host_key, /etc/openssh/ssh_host_dsa_key, /etc/openssh/ssh_host_rsa_key

Эти три файла содержат приватные части ключей машин и используются для RhostsRSAAuthentication и HostbasedAuthentication. Если используется RhostsRSAAuthentication-метод протокола версии 1, ssh должен иметь фактический идентификатор пользователя суперпользователя (root), так как ключ машины доступен для чтения только ему. С протоколом версии 2 ssh использует для доступа к ключам машин ssh-keysign(8) при HostbasedAuthentication. Это устраняет необходимость использования для ssh идентификатора суперпользователя (root) при использовании данного метода аутентификации. По умолчанию ssh выполняется без идентификатора суперпользователя (root).

$HOME/.rhosts

Этот файл используется при .rhosts-аутентификации для описания пар машина/пользователь, которым позволена регистрация в системе. (Имейте ввиду, что этот файл также используется rlogin и rsh, что делает его использование небезопасным.) Каждая строка этого файла содержит, через пробел, имя машины (в канонической форме, сообщаемое серверами имен) и имя регистрации пользователя на этой машине. На некоторых машинах этот файл должен быть доступен на чтение для всех, если домашний каталог пользователя находится на NFS-партиции, так как sshd(8) видит ее как корневую. Дополнительно, этот файл может принадлежать пользователю, и не должен предоставлять прав доступа на запись для кого-либо ещё. Рекомендуемые права доступа для большинства машин это чтение/запись для пользователя, и недоступно для остальных.

Учтите, что по умолчанию sshd(8) будет установлен так, что это потребует успешной RSA аутентификации машины, прежде чем будет разрешена .rhosts-аутентификация. Если ваш сервер не имеет ключа машины-клиента в /etc/openssh/ssh_known_hosts, вы можете сохранить его в $HOME/.ssh/known_hosts. Простейший способ, как можно это сделать, это подключиться обратно с сервера к машине-клиенту с использованием ssh; это автоматически добавит ключ машины в $HOME/.ssh/known_hosts.

$HOME/.shosts

Этот файл используется точно таким же способом, как и .rhosts. Смысл наличия этого файла состоит в том, чтобы предоставить возможность использования rhosts аутентификации с ssh без предоставления прав регистрации в системе с rlogin или rsh(1).

/etc/hosts.equiv

Этот файл используется в процессе .rhosts-аутентификации. Он содержит канонические имена машин, по одному на каждую строку (полный формат описан в руководстве пользователя sshd(8)). Если машин-клиент найдена в этом файле, автоматически разрешается регистрация в системе, с предоставлением одного и того же имени пользователя на машине-клиенте и сервере. Обычно дополнительно требуется успешная RSA-аутентификация машины. Этот файл должен быть доступен для записи только суперпользователю.

/etc/openssh/shosts.equiv

Этот файл обрабатывается в точности как /etc/hosts.equiv. Этот файл может быт полезен для разрешения регистрации в системе с использованием ssh, но без использования rsh/rlogin.

/etc/openssh/sshrc

Команды в этом файле выполняются ssh сразу после регистрации пользователя в системе, но перед запуском оболочки пользователя (или команды). Для дополнительной информации смотри руководство пользователя sshd(8).

$HOME/.ssh/rc

Команды в этом файле выполняются ssh сразу после регистрации пользователя в системе, но перед запуском оболочки пользователя (или команды). Для дополнительной информации смотри руководство пользователя sshd(8).

$HOME/.ssh/environment

Содержит дополнительные определения для переменных окружения. Смотри выше раздел ПЕРЕМЕННЫЕ.

## ДИАГНОСТИКА
ssh завершает работу со статусом выхода или с кодом 255, в случае обнаружения ошибки.

## АВТОРЫ
OpenSSH является производной из оригинальной и свободной версии ssh 1.2.12 созданной Tatu Ylonen. Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo de Raadt и Dug Song удалили много ошибок, добавили обновленные возможности и создали OpenSSH. Markus Friedl внес вклад в виде поддержки для протокола SSH версий 1.5 и 2.0.

## СМОТРИ ТАКЖЕ
rsh(1), scp(1), sftp(1), ssh-add(1), ssh-agent(1), ssh-keygen(1), telnet(1), ssh_config(5), ssh_keysign(8), sshd(8)

T. Ylonen, T. Kivinen, M. Saarinen, T. Rinne, and S. Lehtinen, SSH Protocol Architecture, draft-ietf-secsh-architecture-12.txt, January 2002, work in progress material.

## ПЕРЕВОД
Перевод с английского: Александр Блохин <sass@altlinux.ru>.


ssh-add

package: man-pages-ru-extra

title: ssh-add(1)

summary: добавляет RSA\- или DSA\-идентификацию в аутентификационного агента.

text:
# ssh-add(1)

## НАЗВАНИЕ
ssh-add - добавляет RSA- или DSA-идентификацию в аутентификационного агента.

## СИНТАКСИС
ssh-add [lLdDxXc] [-t life] [file...]

ssh-add -s reader

ssh-add -e reader

## ОПИСАНИЕ
ssh-add добавляет RSA- или DSA-идентификацию для агента аутентификации - ssh-agent(1). Если запущен без параметров, то будет добавлена идентификация из $HOME/.ssh/identity, $HOME/.ssh/id_rsa и $HOME/.ssh/id_dsa. Из командной строки может быть задано альтернативное имя файла. Если какому-либо файлу требуется ключевая фраза, ssh-add запросит эту фразу у пользователя. Ключевая фраза считывается с терминала пользователя. Если задано несколько файлов идентификации, ssh-add использует последнюю ключевую фразу.

Для того, чтобы ssh-add работал, аутентификационный агент должен быть запущен и должен являться прародителем текущего процесса.

Используемые опции:

-l

Перечисляет отпечатки всех идентификаторов, представленных агентом в настоящий момент.

-L

Перечисляет параметры публичных ключей всех идентификаторов, представленных агентом в настоящий момент.

-d

Вместо добавления идентификации, удаляет её из агента.

-D

Удаляет все идентификаторы из агента.

-x

Блокирует агента при помощи пароля.

-X

Разблокирует агента.

-t life

Устанавливает максимальный срок действия для добавленного в агента идентификатора. Срок действия может быть указан в секундах или в виде, описанном в sshd_config(5).

-c

Обозначает, что добавленная идентификация перед использованием должна быть подтверждена. Подтверждение осуществляется посредством SSH_ASKPASS-программы, упоминаемой ниже. Успешное подтверждение подтверждается нулевым кодом выхода SSH_ASKPASS-программы перед тем, как в окно запроса введён текст.

-s reader

Добавляет ключ в устройство чтения smartcard.

-e reader

Удаляет ключ из устройства чтения smartcard.

## ФАЙЛЫ
$HOME/.ssh/identity

Содержит RSA-идентификатор аутентификации пользователя для протокола версии 1.

$HOME/.ssh/id_dsa

Содержит DSA-идентификатор аутентификации пользователя для протокола версии 2.

$HOME/.ssh/id_rsa

Содержит RSA-идентификатор аутентификации пользователя для протокола версии 2.

Файлы идентификации должны быть доступным для чтения только для владельца. Имейте в виду, что ssh-add игнорирует этот файл, если он доступен для чтения остальным.

## ПЕРЕМЕННЫЕ
DISPLAY и SSH_ASKPASS

Если ssh-add нужна ключевая фраза, то она будет прочитана с текущего терминала, если он запущен из терминала. Если же ssh-add не имеет ассоциированного терминала, но установлены переменные DISPLAY и SSH_ASKPASS, то будет выполнена команда, определенная SSH_ASKPASS, и открыто окно X11 для чтения ключевой фразы. Это может пригодиться при вызове ssh-add из .Xsession или схожего сценария. (Имейте в виду, что на некоторых машинах для нормального функционирования может потребоваться перенаправление ввода из /dev/null.)

SSH_AUTH_SOCK

Обозначает местоположение доменных подключений unix для связи с агентом.

## ДИАГНОСТИКА
В случае успешного завершения возвращает статус 0; 1, если указанная команда завершилась с ошибкой и 1, если ssh-add не может установить соединение с агентом аутентификации.

## АВТОРЫ
OpenSSH является производной от оригинальной и свободной версии ssh 1.2.12 от Tatu Ylonen. Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo de Raadt и Dug Song удалили много ошибок, добавили обновленные возможности и создали OpenSSH. Markus Friedl внес вклад в виде поддержки для протокола SSH версий 1.5 и 2.0.

## ПЕРЕВОД
Перевод с английского: Александр Блохин <sass@altlinux.ru>

## СМ. ТАКЖЕ
ssh(1), ssh-agent(1), ssh-keygen(1), sshd(8)

branch: sisyphus


ssh-agent

title: ssh-agent(1)

summary: агент аутентификации

text:
# ssh-agent(1)

## НАЗВАНИЕ
ssh-agent - агент аутентификации

## СИНТАКСИС
ssh-agent -a bind_address [-c | -s] [-t life] [-u] [-d] [command [...]]

ssh-agent [-c | -s] -k

## ОПИСАНИЕ
ssh-agent это программа хранящая приватные ключи, используемые для публичной аутентификации (RSA, DSA). Идея ssh-agent состоит в том, что он запускается в начале Х-сессии или при входе в систему, и все другие окна или программы запускаются как клиенты программы ssh-agent. Посредством переменных окружения агент может быть найден и автоматически использован для аутентификации при подключении к другим машинам с использованием ssh(1).

Используемые опции:

-a bind_address

Прикрепляет агента к доменному подключению unix bind_address. По умолчанию это /tmp/ssh-XXXXXXXX/agent.<ppid>.

-c

Генерирует команды оболочки С на стандартный вывод. Это поведение по умолчанию, если как SHELL используется csh-подобная оболочка.

-s

Генерирует на стандартный вывод команды оболочки Bourne. Это поведение по умолчанию, если как SHELL используется не csh-подобная оболочка.

-k

Уничтожить текущего агента (указывается для переменной окружения SSH_AGENT_PID).

-t life

Устанавливает максимальный срок действия для добавленного в агента идентификатора. Срок действия может быть указан в секундах или в виде, описанном в sshd(8). Срок действия указанный при помощи ssh-add(1), перепишет данное значение. Без указания этой опции максимальный срок действия идентификации - бесконечность.

-u

Запустить агента в режиме исключительности.

-d

Режим отладки. При указании этой опции ssh-agent не перейдёт в фоновый режим выполнения.

Если команда задана в строке, то она будет выполнена как субпроцесс агента. Если выполнение команды внезапно прервётся, агент тоже завершит свою работу.

При инициализации агент не имеет ни одного приватного ключа. Ключи добавляются при помощи ssh-add(1). Если агент запущен без параметров, то ssh-add(1) добавит файлы $HOME/.ssh/id_rsa, $HOME/.ssh/id_dsa и $HOME/.ssh/identity. Если идентификация содержит ключевую фразу, то ssh-add(1) запросит эту ключевую фразу (используя маленькую программу Х11, будучи запущенным из-под Х11, или из терминала, если запущено без Х). Затем эта идентификация отправляется агенту. Некоторые идентификации могут быть сохранены в агенте; агент может автоматически использовать любую из них. ssh-add -l отображает идентификации, обслуживаемые агентом в данный момент.

Идея состоит в том, что агент запущен на локальном компьютере пользователя, лаптопе или терминале. Отсутствует необходимость в хранении данных аутентификации на другой машине, и ключевые фразы аутентификации не передаются по сети. Однако, подключение к агенту пересылается через удаленные входы SSH в систему и пользователь может использовать привилегии данные идентификацией безопасным способом в любом месте сети.

Имеется два основных пути установки агента: либо вы позволите агенту начать выполнение новой под-команды, в которую экспортируются некоторые переменные окружения, либо вы позволите агенту напечатать необходимые команды оболочки (будет создан синтаксис либо sh(1), либо csh(1)), которые могут быть перенесены в вызывающую оболочку. Позже ssh(1) проверяет наличие этих переменных и использует их для установления связи с агентом.

Агент никогда не передаст приватный ключ через свой канал запроса. Вместо этого, операции, требующие приватный ключ, будут осуществлены агентом и требуемый результат возвращен запрашивающему. Таким образом, приватные ключи не раскрываются клиенту, использующему агента.

Создаются доменные подключения unix, и имена этих подключений сохраняются в переменной окружения SSH_AUTH_SOCK. Подключение делается доступным только для текущего пользователя. Этот метод может быть неправильно использован суперпользователем (root) или другой сессией этого-же пользователя.

Переменная окружения SSH_AGENT_PID хранит идентификатор процесса (ID) агента.

Агент автоматически прекращает работу, когда команда, указанная в командной строке, завершена.

## ФАЙЛЫ
$HOME/.ssh/identity

Содержит RSA-идентификатор аутентификации пользователя для протокола версии 1.

$HOME/.ssh/id_dsa

Содержит DSA-идентификатор аутентификации пользователя для протокола версии 2.

$HOME/.ssh/id_rsa

Содержит RSA-идентификатор аутентификации пользователя для протокола версии 2.

/tmp/ssh-XXXXXXXX/agent.<pid>

~/.ssh/agent Доменное подключение unix, используемое для поддержания связи с аутентификационным агентом. Это подключение должно быть доступно для чтения только владельцу. При завершении агентом работы подключение будет удалено автоматически.

## АВТОРЫ
OpenSSH является производной из оригинальной и свободной версии ssh 1.2.12 от Tatu Ylonen. Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo de Raadt и Dug Song удалили много ошибок, добавили обновленные возможности и создали OpenSSH. Markus Friedl внес вклад в виде поддержки для протокола SSH версий 1.5 и 2.0.

## ПЕРЕВОД
Перевёл с английского: Александр Блохин <sass@altlinux.ru>

## СМОТРИ ТАКЖЕ
ssh(1), ssh-add(1), ssh-keygen(1), sshd(8)


ssh-copy-id

title: ssh-copy-id(1)

text:
# ssh-copy-id(1)

## НАЗВАНИЕ
ssh-copy-id - инсталлирует ваши файлы публичной идентификации на удаленной машине.

## СИНТАКСИС
ssh-copy-id [-i identity_file]* [user@]machine

## ОПИСАНИЕ
ssh-copy-id это сценарий, использующий ssh для подключения к удаленной машине (подразумевается использования пароля, так как аутентификация паролем должна быть включена, если вы не придумали какое-нибудь ловкое использование многоуровневой идентификации).

Он также изменяет права доступа на удаленный домашний каталог пользователя, ~/.ssh, ~/.ssh/authorized_keys и ~/.ssh/authorized_keys2 удаляя права записи для группы (что, в противном случае, не дало бы вам подключиться, если удаленный sshd работает в режиме StrictModes, включенном в его конфигурации).

Если задан параметр -i, то будет использован файл идентификации (по умолчанию ~/.ssh/identity.pub) независимо от того, имеются ли какие-либо ключи в вашем ssh-agent. В другом случае, если ssh-add -L выдаёт какую-либо информацию, то ему отдается предпочтение перед файлом идентификации.

Если используется параметр -i или ssh-add не дает отклика, то тогда используется содержимое файла идентификации. Если в нём имеется один или более отпечатков ключей (не важно каких), то эта информация будет добавлена в ~/.ssh/authorised_keys или ~/.ssh/authorised_keys2, в зависимости от типа идентификации на удаленной машине (с созданием, при необходимости, файлов и каталогов).

## СМОТРИ ТАКЖЕ
ssh(1), ssh-add(1), ssh-agent(1), sshd(8)

## ПЕРЕВОД
Перевод с английского: Александр Блохин <sass@altlinux.ru>


ssh-keygen

title: ssh-keygen(1)

text:
# ssh-keygen(1)

## НАЗВАНИЕ
ssh-keygen - создание, обслуживание и преобразование аутентификационных ключей.

## СИНТАКСИС
ssh-keygen [-q] [-b bits] [-t type] [-N new_passphrase] [-C comment] [-f output_keyfile]

ssh-keygen -p [-P old_passphrase] [-N new_passphrase] [-f keyfile]

ssh-keygen -i [-f input_keyfile]

ssh-keygen -e [-f input_keyfile]

ssh-keygen -y [-f input_keyfile]

ssh-keygen -c [-P passphrase] [-C comment] [-f keyfile]

ssh-keygen -l [-f input_keyfile]

ssh-keygen -B [-f input_keyfile]

ssh-keygen -D reader

ssh-keygen -U reader [-f input_keyfile]

## ОПИСАНИЕ
ssh-keygen создает, обслуживает и преобразует ключи аутентификации для ssh(1). ssh-keygen может создавать RSA-ключи для использования с протоколом SSH версии 1 и DSA- или RSA-ключи для использования с протоколом SSH версии 2. Тип создаваемого ключа определяется при помощи опции -t.

Обычно каждый пользователь, желающий использовать SSH с RSA или DSA аутентификацией, запускает его единожды для создания аутентификационного ключа в $HOME/.ssh/identity, $HOME/.ssh/id_dsa или $HOME/.ssh/id_rsa. Дополнительно, системный администратор может использовать его для создания ключей машины, как это видно из /etc/rc.

Обычно эта программа генерирует ключи и спрашивает название файла в котором надо сохранить приватный ключ. Публичный ключ будет сохранен в файле с тем же именем, только к нему будет добавлено расширение ".pub". Программа также спросит у вас ключевую фразу. Ключевая фраза может быть пустой, это означает, что ключевая фраза не используется (ключ машины должен иметь пустую ключевую фразу), или это может быть строка произвольной длины. Ключевая фраза схожа с паролем, за исключением того, что ключевая фраза может состоять из набора слов, знаков препинания, цифр, пробелов или любого набора символов, какой вы пожелаете. Хорошими считаются ключевые фразы из 10-30 символов, не являющиеся простыми предложениями или легко угадываемыми (английская проза имеет только 1-2 бита энтропии на символ и обеспечивает очень плохие ключевые фразы) и содержать чередование букв, цифр и не буквенно-цифровых, набранных в верхнем и нижнем регистре, знаков. Ключевая фраза может быть позднее изменена при помощи опции -p.

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

Для RSA1-ключей в файле ключа имеется поле комментария, который служит только для удобства пользователя, чтобы было проще идентифицировать ключ. Комментарий может вам сообщить для чего этот ключ или чем он полезен. Комментарий инициализируется при создании для "user@host", но может быть изменен при помощи опции -c.

После генерации ключа будут приведены инструкции куда его надо поместить для активации.

Используемые опции:

-b bits

Определяет число бит в ключе при его создании. Минимум это 512 бит. Как правило, 2048 бит считается достаточным. По умолчанию используется 2048 бит.

-c

Запрашивает изменение комментария в файлах приватных и публичных ключей. Операция поддерживается только для RSA1-ключей. Программа предложит указать файл содержащей приватный ключ, спросит ключевое слово, если таковое имеется, и новый комментарий.

-е

Эта опция позволяет прочитать приватный или публичный OpenSSH-файл ключа и распечатать его в "SECSH Public Key File Format" в стандартный вывод. Также, данная опция позволяет экспортировать ключи для использования с некоторыми коммерческими реализациями SSH. -f filename Определяет имя файла для файла ключа.

-i

Эта опция считывает не зашифрованный SSH2-совместимый приватный (или публичный) файл ключа и распечатывает OpenSSH-совместимый приватный (или публичный) ключ в стандартный вывод. Также, ssh-keygen считывает "SECSH Public Key File Format". Данная опция позволяет импортировать ключи из некоторых коммерческих реализаций SSH.

-l

Показывает распечатку указанного приватного или публичного ключа. Также поддерживаются приватные RSA1-ключи. Для RSA- и DSA-ключей ssh-keygen предпримет попытку найти соответствующие публичные ключи и их отпечатки.

-p

Запрашивает изменение ключевой фразы приватного ключа вместо создания нового приватного ключа. Программа предложит указать имя файла содержащего приватный ключ, старую ключевую фразу и, дважды, новую ключевую фразу.

-q

Тихий ssh-keygen. Используется в работе /etc/rc при создании нового ключа.

-y

Эта опция читает приватный OpenSSH-формат файла и печатает публичный ключ OpenSSH в стандартный вывод.

-t type

Определяет тип создаваемого ключа. Допустимыми являются значения "rsa1", для протокола версии 1, и "rsa1" или "dsa", для протокола версии 2.

-В

Этот параметр отображает "bubblebabble" дайджест заданного файла публичного или приватного ключа.

-C comment

Обеспечивает ввод нового комментария.

-D reader

Копировать сохранённый публичный RSA-ключ со smartcard в устройстве reader.

-N new_passphrase

Обеспечивает ввод новой ключевой фразы.

-P passphrase

Обеспечивает ввод (старой) ключевой фразы.

-D reader

Копировать публичный RSA-ключ на smartcard в устройстве reader.

## ФАЙЛЫ
$HOME/.ssh/identity

Содержит идентификацию для RSA-аутентификации пользователя по протоколу версии 1. Этот файл должен быть доступен для чтения только владельцу. Этого можно добиться путем указания ключевой фразы при создании ключа; эта ключевая фраза будет использована для шифрования приватной части этого файла с использованием 3DES. Этот файл не доступен для ssh-keygen автоматически, но подразумевается, что это файл по умолчанию для приватного ключа. ssh(1) будет считывать данные из этого файла, если будет предпринята попытка входа в систему.

$HOME/.ssh/identity.pub

Содержит публичный ключ для RSA-аутентификации по протоколу версии 1. Содержимое этого файла должно быть добавлено к $HOME/.ssh/authorized_keys на всех машинах, где вы желаете иметь возможность входа в систему с использованием RSA-аутентификации. Нет никакой необходимости хранить содержимое этого файла в тайне.

$HOME/.ssh/id_dsa

Содержит идентификацию для DSA-аутентификации пользователя по протоколу версии 2. Этот файл должен быть доступен для чтения только владельцу. Этого можно добиться путем указания ключевой фразы при создании ключа; эта ключевая фраза будет использована для шифрования приватной части этого файла с использованием 3DES. Этот файл не доступен для ssh-keygen автоматически, но подразумевается, что это файл по умолчанию для приватного ключа. ssh(1) будет считывать данные из этого файла, если будет предпринята попытка входа в систему.

$HOME/.ssh/id_dsa.pub

Содержит публичный ключ для DSA-аутентификации по протоколу версии 2. Содержимое этого файла должно быть добавлено к $HOME/.ssh/authorized_keys на всех машинах, где вы желаете иметь возможность входа в систему с использованием аутентификации с публичным ключем. Нет никакой необходимости хранить содержимое этого файла в тайне.

$HOME/.ssh/id_rsa

Содержит идентификацию для RSA-аутентификации пользователя по протоколу версии 2. Этот файл должен быть доступен для чтения только владельцу. Этого можно добиться путем указания ключевой фразы при создании ключа; эта ключевая фраза будет использована для шифрования приватной части этого файла с использованием 3DES. Этот файл не доступен для ssh-keygen автоматически, но подразумевается, что это файл по умолчанию для приватного ключа. ssh(1) будет считывать данные из этого файла, если будет предпринята попытка входа в систему.

$HOME/.ssh/id_rsa.pub

Содержит публичный ключ для RSA-аутентификации по протоколу версии 2. Содержимое этого файла должно быть добавлено к $HOME/.ssh/authorized_keys на всех машинах, где вы желаете иметь возможность входа в систему с использованием аутентификации с публичным ключем. Нет никакой необходимости хранить содержимое этого файла в тайне.

## АВТОРЫ
OpenSSH является производной из оригинальной и свободной версии ssh 1.2.12 от Tatu Ylonen. Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo de Raadt и Dug Song удалили много ошибок, добавили обновленные возможности и создали OpenSSH. Markus Friedl внес вклад в виде поддержки для протокола SSH версий 1.5 и 2.0.

## ПЕРЕВОД
Перевод с английского: Александр Блохин <sass@altlinux.ru>

## СМ. ТАКЖЕ
ssh(1), ssh-add(1), ssh-agent(1), sshd(8)

J. Galbraith, and R. Thayer, SECSH Public Key File Format, draft-ietf-secsh-publickeyfile-01.txt, March 2001, work in progress material.


ssh-keyscan

title: ssh-keyscan(1)

summary: собирает публичные ключи ssh

text:
# ssh-keyscan(1)

## НАЗВАНИЕ
ssh-keyscan - собирает публичные ключи ssh

## СИНТАКСИС
ssh-keyscan [-v46] [-p port] [-T timeout] [-t type] [-f file] [host | addrlist namelist] [...]

## ОПИСАНИЕ
ssh-keyscan это утилита для сбора публичных ssh-ключей машин с ряда компьютеров. Это сделано в целях оказания помощи при формировании и проверке файлов ssh_known_hosts. ssh-keyscan обеспечивает минимальный интерфейс, подходящий для использования оболочки и сценариев perl.

ssh-keyscan использует не блокируемое подключение ввода/вывода для создания параллельных сеансов связи с таким количеством компьютеров, насколько это возможно. Так что это очень эффективный инструмент. Ключи из домена с 1000 машин могут быть собраны в считанные секунды, даже если некоторые из этих компьютеров выключены или на них не работает ssh. Вы не нуждаетесь во входе в систему на машинах, которые вы сканируете, и при этом процесс просмотра не требует ни какого шифрования.

Распознаются следующие опции:

-p port

Целевой порт для подключения на удалённой машине.

-T timeout

Устанавливает время ожидания для попытки установить соединение. Если timeout секунд с момента начала соединения с машиной или момента получения любой информации с данной машины истёк, соединение завершается и машина считается недоступной. Значение по умолчанию 5 секунд.

-t type

Указывает тип запрашиваемого со сканируемой машины ключа. Допустимыми значениями будут: "rsa1", для протокола версии 1, и "rsa" или "dsa", для протокола версии 2. Могут быть заданы множественные значения, разделённые через запятую. Значением по умолчанию является "rsa1".

-f filename

Считывает машины или пары addrlist namelist из указанного файла, по одной на строку. Если вместо имени файла стоит -, то ssh-keyscan будет считывать машины или пары addrlist namelist со стандартного ввода.

-v

Режим отладки. Принуждает ssh-keyscan выводить отладочную информацию о проделываемой работе.

-4

Принуждает ssh-keyscan использовать только IPv4-адреса.

-6

Принуждает ssh-keyscan использовать только IPv6-адреса.

## БЕЗОПАСНОСТЬ
Если файл ssh_known_hosts создаётся с использованием ssh-keyscan без проверки ключей, то пользователи будут уязвимы для атак. С другой стороны, если модель безопасности допускает такой риск, ssh-keyscan позволит распознать поддельные файлы ключей или атаки по принципу man-in-the-middle после того как был создан файл ssh_known_hosts.

## ПРИМЕРЫ
Распечатать rsa1-ключ машины для компьютера hostname:

$ ssh-keyscan hostname

Найти все машины из файла ssh_hosts, содержащие новые или отличающиеся ключи от ключей в упорядоченном файле ssh_known_hosts:

$ ssh-keyscan -t rsa,dsa -f ssh_hosts | sort -u - ssh_known_hosts | diff ssh_known_hosts -

## ФАЙЛЫ
Входной формат: 1.2.3.4,1.2.4.4 name.my.domain,name,n.my.domain,n,1.2.3.4,1.2.4.4

Выходной формат для rsa1-ключей: host-or-namelist bits exponent modulus

Выходной формат для rsa- и dsa-ключей: host-or-namelist keytype base64-encoded-key

Где keytype является "ssh-rsa" или "ssh-dsa".

/etc/openssh/ssh_known_hosts

## ОШИБКИ
Вызывает появление сообщения "Connection closed by remote host" (Соединение завершено удаленным компьютером) на консолях всех просматриваемых машин под управлением сервера версии старшей 2.9. Это происходит потому, что осуществляется подключение на порт ssh, чтение публичного ключа и сброс соединения сразу, как только получен ключ.

## СМОТРИ ТАКЖЕ
ssh(1), sshd(8)

## АВТОРЫ
Первоначальная версия написана David Mazieres <dm@lcs.mit.edu>. Wayne Davison <wayned@users.sourceforge.net> добавил поддержку протокола версии 2.

## ПЕРЕВОД
Перевод с английского: Александр Блохин <sass@altlinux.ru>


stat

title: stat(1)

text:
# stat(1)

## ИМЯ
stat - выводит содержимое полей дескриптора файла или статус файловой системы

## СИНТАКСИС
stat [OPTION] FILE...

## ОПИСАНИЕ
Выводит содержимое полей дескриптора файла или статус файловой системы

$ stat example.file

File: `example.file'

Size: 5614 Blocks: 16 IO Block: 4096 regular file

Device: 30bh/779d Inode: 786506 Links: 1

Access: (0644/-rw-r--r--) Uid: ( 500/aleksander) Gid: ( 500/aleksander)

Access: 2005-04-26 20:13:06.000000000 +0000

Modify: 2005-04-26 20:17:39.000000000 +0000

Change: 2005-04-26 20:18:09.000000000 +0000

$ stat -f example.file File: example.file

ID: 0 Namelen: 255 Type: ext2/ext3

Blocks: Total: 4125127 Free: 3855924 Available: 3646377 Size: 4096

Inodes: Total: 2097152 Free: 2086052

## ОПЦИИ
-c --format=FORMAT

применяется указанный формат вывода FORMAT (см.далее), вместо используемого по умолчанию

-f, --filesystem

выводит статус файловой системы (на которой расположен FILE) вместо статуса файла

-L, --dereference

выводит информацию о статусе оригинального файла, с которым связана ссылка FILE

-t, --terse

выводит информацию в сокращённой (сжатой) форме

--help

выводит это описание программы и завершает её работу

--version

выводит информацию о версии программы и завершает её работу

В качестве формата вывода FORMAT для файлов (но не для опции -f, --filesystem) допустимы следующие флажки и их комбинации последовательностей:

%A

Права доступа в удобной для восприятия человеком форме (rwx)

$ stat -c%A example.file

-rw-r--r--

%a

Права доступа в восьмеричной форме (0..7)

$ stat -c%a example.file

644

%B

Размер в байтах каждого блока, отображаемого флажком `%b'

$ stat -c%B example.file

512

%b

Число занимаемых блоков (см.также флажок %B)

$ stat -c%b example.file

16

%D

Номер устройства в шестнадцатеричной форме

$ stat -c%D example.file

30b

%d

Номер устройства в десятичной форме

$ stat -c%d example.file

779

%F

Тип файла (например, обычный файл, каталог, ссылка, сокет, спец.блочный файл, сец.символьный файл, файл именованного канала)

$ stat -c%F example.file

regular file (т.е. обычный файл)

%f

Права доступа к файлу в "необработанном" (расширенном) шестнадцатеричной виде

$ stat -c%f example.file

81a4 (т.е. 100644 в восьмеричной форме)

%G

Действующий (именной) идентификатор группы владельца файла (т.е. название группы)

$ stat -c%G example.file

aleksander

%g

Числовой идентификатор группы (GID) владельца файла

$ stat -c%g example.file

500

%h

Число жёстких ссылок

$ stat -c%h example.file

1

%i

Номер индексного дескриптора

$ stat -c%i example.file

786506

%N

Имя файла, а для символических ссылок - имя ссылки и оригинального файл с полным путём его месторасположения

$ stat -c%N link.example.file

`link.example.file' -> `/home/aleksander/example.file'

%n

Имя файла

$ stat -c%n example.file

example.file

%o

Размер блока для операций ввода/вывода (I/O)

$ stat -c%o example.file

4096

%s

Общий размер файла в байтах

$ stat -c%s example.file

5614

%T

Младший номер типа устройства в шестнадцатеричной форме

$ stat -c%T example.file

0

%t

Старший номер типа устройства в шестнадцатеричной форме

$ stat -c%t example.file

0

%U

Именной идентификатор владельца файла

$ stat -c%U example.file

aleksander

%u

Числовой идентификатор владельца файла (UID)

$ stat -c%u example.file

500

%X

Время последнего доступа к файлу в секундах c начала компьютерной эры ("ключевого момента"), т.е. момента, с которого отсчитывает время Unix 00:00:00 1 января 1970 :-)

$ stat -c%X example.file

1114546386

%x

Время последнего доступа к файлу в привычном (дата-время) виде

$ stat -c%x example.file

2005-04-26 20:13:06.000000000 +0000

%Y

Время последней модификации файла в секундах c начала компьютерной эры (1970)

$ stat -c%Y example.file

1114546659

%y

Время последней модификации файла в привычном (дата-время) виде

$ stat -c%y example.file

2005-04-26 20:17:39.000000000 +0000

%Z

Время последних изменений файла в секундах c начала компьютерной эры (1970)

$ stat -c%Z example.file

1114546689

%z

Время последних изменений файла в привычном (дата-время) виде

$ stat -c%z example.file

2005-04-26 20:18:09.000000000 +0000

В качестве формата вывода FORMAT для файловых систем (для опции -f, --filesystem) допустимы следующие флажки и их комбинации последовательностей:

%a

Число блоков доступных не только суперпользователю (root)

$ stat -f -c%a example.file

3646377

%b

Общее число блоков в файловой системе

$ stat -f -c%b example.file

4125127

%c

Общее число файловых дескрипторов в файловой системе

$ stat -f -c%c example.file

2097152

%d

Число свободных файловых дескрипторов в файловой системе

$ stat -f -c%d example.file

2086052

%f

Число свободных блоков в файловой системе

$ stat -f -c%f example.file

3855924

%i

Идентификатор файловой системы в шестнадцатеричной форме

$ stat -f -c%i example.file

0

%l

Максимальная длина имён файлов в файловой системе

$ stat -f -c%l example.file

255

%n

Имя файла

$ stat -f -c%n example.file

example.file

%s

Оптимальный для файловой системы (операций) размер блока данных

$ stat -f -c%s example.file

4096

%T

Тип файловой системы в удобном для восприятия человеком виде

$ stat -f -c%T example.file

ext2/ext3

%t

Тип файловой системы в шестнадцатеричной форме

$ stat -f -c%t example.file

*

## АВТОР
Написана Michael Meskes.

## ИНФОРМАЦИЯ ОБ ОШИБКАХ
Если вы обнаружили ошибку в stat, сообщите о ней <bug-coreutils@gnu.org>.

## АВТОРСКИЕ ПРАВА
Copyright © 2004 Free Software Foundation, Inc.

Это свободно-распространяемый продукт; для получения подробных сведений смотрите Универсальную Общественную Лицензию GNU. Этот продукт распространяется БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ; даже без подразумеваемых гарантий КОММЕРЧЕСКОЙ ЦЕННОСТИ или ПРИГОДНОСТИ ДЛЯ КОНКРЕТНОЙ ЦЕЛИ.

## СМ. ТАКЖЕ
Полная документация по команде stat находится в Texinfo руководстве. Если программы info и stat правильно установлены в вашей системе, тогда с помощью команды

info coreutils stat

вы получите возможность ознакомится с полным руководством.

## ПЕРЕВОД
Перевел с английского (+примеры) Aleksander N.Gorohovski <angel@feht.dgtu.donetsk.ua> 26.04.2005


stty

title: stty(1)

text:
# stty(1)

## NAME
stty - печатает или изменяет параметры терминала

## СИНТАКСИС
stty [-F УСТРОЙСТВО] [--file=УСТРОЙСТВО] [ПАРАМЕТР]...

stty [-F УСТРОЙСТВО] [--file=УСТРОЙСТВО] [-a|--all]

stty [-F УСТРОЙСТВО] [--file=УСТРОЙСТВО] [-g|--save]

## ОПИСАНИЕ
Печатает или изменяет параметры терминала.

-a, --all

напечатать все текущие установки в форме, понятной человеку

-g, --save

напечатать все текущие установки в форме, понятной stty

-F, --file=УСТРОЙСТВО

открыть и использовать указанное УСТРОЙСТВО вместо стандартного ввода

--help

показать справку и выйти

--version

показать информацию о версии и выйти

Необязательный символ `-' перед ПАРАМЕТРОМ означает отрицание. Символом `*' отмечены не описанные в POSIX параметры. Доступность того или иного параметра определяется используемой системой.

### Специальные символы:
* dsusp СИМВОЛ

СИМВОЛ будет посылать терминалу сигнал останова при завершении ввода

eof СИМВОЛ

СИМВОЛ будет означать конец файла (прекратить ввод)

eol СИМВОЛ

СИМВОЛ будет означать конец строки

* eol2 СИМВОЛ

другой СИМВОЛ для конца строки

erase СИМВОЛ

СИМВОЛ будет стирать последний введённый до него

intr СИМВОЛ

СИМВОЛ будет посылать сигнал прерывания

kill СИМВОЛ

СИМВОЛ будет стирать текущую строку

* lnext СИМВОЛ

СИМВОЛ будет вводить следующий символ, отменяя его специальное действие

quit СИМВОЛ

СИМВОЛ будет посылать сигнал выхода

* rprnt СИМВОЛ

СИМВОЛ будет перерисовывать текущую строку

start СИМВОЛ

СИМВОЛ будет возобновлять ввод

stop СИМВОЛ

СИМВОЛ будет приостанавливать ввод

susp СИМВОЛ

СИМВОЛ будет посылать терминалу сигнал останова

* swtch СИМВОЛ

CHAR будет переключать уровень вложенности оболочки

* werase СИМВОЛ

CHAR будет стирать последнее введённое слово

### Специальные установки:
N

установить скорость ввода и скорость вывода равными N бод

* cols N

сообщить ядру, что терминал имеет N столбцов

* columns N

синоним N

ispeed N

установить скорость ввода в N

* line N

использовать протокол N

min N

используется с -icanon, установить N минимальным числом символов для завершения операции чтения

ospeed N

установить скорость вывода в N

* rows N

сообщить ядру, что терминал имеет N строк

* size

напечатать число столбцов и строк, известных ядру

speed

напечатать скорость терминала

time N

используется с -icanon, установить временной предел для операции чтения равным N десятым секунды

### Установки управления:
[-]clocal

отменить управляющие сигналы модема

[-]cread

разрешить ввод

* [-]crtscts

разрешить управление потоком данных с подтверждением готовности

csN

установить размер символа равным N бит, N в пределах [5..8]

[-]cstopb

использовать два разделяющих бита на символ (один, если с `-')

[-]hup

посылать сигнал обрыва терминальной линии, когда последний процесс закрывает терминал

[-]hupcl

синоним [-]hup

[-]parenb

генерировать при выводе бит чётности и ожидать бит чётности на вводе

[-]parodd

установить проверку на нечётность (даже с `-')

### Установки ввода:
[-]brkint

символ break будет вызывать сигнал прерывания

[-]icrnl

преобразовывать возврат каретки в перевод строки

[-]ignbrk

игнорировать символы прерывания

[-]igncr

игнорировать символы возврата каретки

[-]ignpar

игнорировать символы с ошибками четности

* [-]imaxbel

при переполненном буфере ввода подавать звуковой сигнал и не сбрасывать буфер, игнорируя дальнейший ввод

[-]inlcr

преобразовывать перевод строки в возврат каретки

[-]inpck

использовать проверку чётности ввода

[-]istrip

очищать старший (восьмой) бит вводимых символов

* [-]iutf8

предполагать, что входные символы в кодировке UTF-8

* [-]iuclc

преобразовывать заглавные буквы в строчные

* [-]ixany

позволить любому символу возобновить ввод, не только начальные символы

[-]ixoff

разрешить посылку символов приостановки\[u0432]озобновления

[-]ixon

разрешить XON/XOFF управление потоком данных

[-]parmrk

отмечать ошибки чётности (последовательностью из 255 нулей)

[-]tandem

синоним [-]ixoff

### Установки вывода:
* bsN

значение паузы после забоя, N в пределах [0..1]

* crN

значение паузы после возврата каретки, N в пределах [0..3]

* ffN

значение паузы после переворота страницы, N в пределах [0..1]

* nlN

значение паузы после новой строки, N в пределах [0..1]

* [-]ocrnl

преобразовывать возврат каретки в перевод строки

* [-]ofdel

использовать символы стирания вместо нулей для заполнения

* [-]ofill

использовать символы заполнения для задержек

* [-]olcuc

преобразовывать строчные буквы в заглавные

* [-]onlcr

преобразовывать перевод строки в возврат каретки и новую строку

* [-]onlret

перевод строки производит возврат каретки

* [-]onocr

не печатать возврат каретки в первом столбце

[-]opost

форматировать вывод

* tabN

значение паузы после горизонтальной табуляции, N в пределах [0..3]

* tabs

синоним tab0

* -tabs

синоним tab3

* vtN

значение паузы после вертикальной табуляции, N в пределах [0..1]

### Локальные установки:
[-]crterase

стирать символы как забой-пробел-забой

* crtkill

стирать всю строку, подчиняясь установкам echoprt и echoe

* -crtkill

стирать всю строку, подчиняясь установкам echoctl и echok

* [-]ctlecho

отображать управляющие символы с шапочкой (`^c')

[-]echo

отображать вводимые символы

* [-]echoctl

синоним [-]ctlecho

[-]echoe

синоним [-]crterase

[-]echok

отображать перевод строки, после символа уничтожения

* [-]echoke

синоним [-]crtkill

[-]echonl

отображать перевод строки, даже если другие строки не отображаются

* [-]echoprt

выводить стираемые символы в обратном порядке, между `´ и '/'

[-]icanon

использовать специальных символов erase, kill, werase, и rprnt

[-]iexten

использовать специальные символы, не описанные в стандарте POSIX

[-]isig

использовать специальные символы interrupt, quit, и suspend

[-]noflsh

запретить сброс буфера после приёма специальных символов interrupt и quit

* [-]prterase

синоним [-]echoprt

* [-]tostop

приостанавливать фоновые программы, пытающиеся произвести запись на терминал

* [-]xcase

отображать '´ для заглавных букв, используется с icanon

### Объединённые установки:
* [-]LCASE

синоним [-]lcase

cbreak

синоним -icanon

-cbreak

синоним icanon

cooked

синоним brkint ignpar istrip icrnl ixon opost isig icanon, символы eof и eol имеют значение по умолчанию

-cooked

синоним raw

crt

синоним echoe echoctl echoke

dec

синоним echoe echoctl echoke -ixany intr ^c erase 0177 kill ^u

* [-]decctlq

синоним [-]ixany

ek

установить для символов erase и kill значения по умолчанию

evenp

синоним parenb -parodd cs7

-evenp

синоним -parenb cs8

* [-]lcase

синоним xcase iuclc olcuc

litout

синоним -parenb -istrip -opost cs8

-litout

синоним parenb istrip opost cs7

nl

синоним -icrnl -onlcr

-nl

синоним icrnl -inlcr -igncr onlcr -ocrnl -onlret

oddp

синоним parenb parodd cs7

-oddp

синоним -parenb cs8

[-]parity

синоним [-]evenp

pass8

синоним -parenb -istrip cs8

-pass8

синоним parenb istrip cs7

raw

синоним -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -opost -isig -icanon -xcase min 1 time 0

-raw

синоним cooked

sane

синоним cread -ignbrk brkint -inlcr -igncr icrnl -iutf8 -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke, все специальные символы имеют значения по умолчанию.

Управляет терминальной строкой, подключённой к стандартному выводу. Запущенная без аргументов, печатает скорость передачи информации, порядок передачи информации, и отличия от обычных установок. При установке, СИМВОЛ трактуются буквально или задаются как ^c, 0x37, 0177 или 127; Для отмены специальных символов служат значения ^- или undef.

## АВТОР
Девид МакКензи.

## СООБЩЕНИЕ ОБ ОШИБКАХ
Об ошибках сообщайте по адресу <bug-coreutils@gnu.org>.

## АВТОРСКИЕ ПРАВА
Copyright (c) 2006 Free Software Foundation, Inc.

Это свободное программное обеспечение. Вы можете распространять его копии при соблюдении условий GNU General Public License <http://www.gnu.org/licenses/gpl.html>. Не предоставляется НИКАКИХ ГАРАНТИЙ в установленных законом пределах.

## СМ. ТАКЖЕ
Полная документация для stty поддерживается в виде руководства в формате Texinfo. Если программы info и stty установлены и настроены в системе, то по команде

info stty

вы получите доступ к более полному руководству.

## ПЕРЕВОД
Перевод с английского russians <pawel5@mail.ru> 2007


su

title: su(1)

summary: подмена идентификатора пользователя

text:
# su(1)

## НАЗВАНИЕ
su - подмена идентификатора пользователя

## СИНТАКСИС
su [-|-l] [-c команда] [-s оболочка] [имя_пользователя]

## ОПИСАНИЕ
Su вызывает предопределённую оболочку другого пользователя. Идентификатор нового пользователя может быть указан посредством аргумента имя_пользователя. По умолчанию это суперпользователь (UID=0).

По умолчанию вызывается непосредственно оболочка пользователя, однако, при указании флага аргумента -, su вызывает оболочку регистрации в системе. Это значит, что текущий рабочий каталог будет изменён в домашний каталог нового пользователя и первый аргумент оболочки будет иметь префикс -. Это поведение понятно и обрабатывается большинством командных интерпретаторов. В случае вызова оболочки регистрации в системе, любая команда, передаваемая посредством аргумента -c, будет проигнорирована. Также, при вызове оболочки регистрации, в базах данных utmp(5) и wtmp(5) будут сделаны соответствующие записи для обозначения присутствия пользователя в системе.

Вместо полной активации командной оболочки пользователя, посредством флага -c может быть вызвана одиночная команда с заданным идентификатором пользователя. Например, следующей командой может быть удалён файл с полномочиями суперпользователя:

su -c 'rm ./this_file'

В таких случаях выбор оболочки не является автоматическим из записи пользователя в Базе Данных Паролей; см. libpwdb(3). Логика в этом такова. Если оболочка пользователя по умолчанию содержит только полное имя пути, то оно добавляется при использовании -c 'команда', однако, если оболочка пользователя состоит из более чем одной записи, она не будет использована su для индивидуальных команд. Вместо этого будет произведена подстановка /bin/sh.

Su сконфигурирована для работы посредством Linux-PAM API. По сути дела она инициализирует саму себя как сервис "su" с Linux-PAM, и использует для аутентификации сконфигурированные модули account, authentication и session с последующим вызовом сессии с подменой идентификатора пользователя. Заметьте, что в отличии от login(1), если пароль(ли) пользователя устарели (устаревают), то новый пароль запрошен не будет. В действительности, любая ошибка из компонента Linux-PAM accounting будет фатальна. Дело обстоит так для всех пользователей, кроме суперпользователя. В случае с суперпользователем обнаружение ошибки вызовет отображение предупреждения, однако su продолжит вызов оболочки запрошенного пользователя.

## ПАРАМЕТРЫ
-c команда, --command=команда

Вместо запуска интерактивной оболочки пользователя, передаёт команду, единую исполняемую командную строку, при помощи параметра -c, оболочке.

-,-l, --login

Вызывает оболочку, как оболочку регистрации пользователя в системе.

-s, --shell оболочка

Суперпользователь может вызвать оболочку вместо интерпретатора команд пользователя, если пользователь, выполняющий su - не суперпользователь, и оболочка пользователя ограничена.

--help

Вывести в стандартный вывод информацию об использовании и прервать выполнение.

## КОДЫ ВЫХОДА
В случае успешного выполнения задачи su выполняется с кодом выхода 0. Код выхода 1 обозначает наличие ошибки. Текстовые ошибки выводятся в стандартный поток ошибок.

## СООТВЕТСТВИЕ
Linux-PAM (Подключаемые модули Аутентификации для Linux). Модули в вашей системе расположены вероятно в /usr/lib/security/ или /lib/security/.

## ОШИБКИ
В настоящий момент не известны.

## СМОТРИ ТАКЖЕ
su(1) и pam(8)

Для получения более подробной информации о конфигурации этой программы при помощи Linux-PAM смотри Linux-PAM System Administrators' Guide по адресу <http://http://linux.kernel.org/pub/linux/libs/pam/index.html>

## ПЕРЕВОД
Aleksandr Blokhin <sass@altlinux.ru>


sum

title: sum(1)

text:
# sum(1)

## ИМЯ
sum - контрольная сумма и количество блоков в файле

## СИНТАКСИС
sum [ОПЦИЯ]... [ФАЙЛ]...

## ОПИСАНИЕ
Печатает контрольную сумму и число блоков для каждого ФАЙЛА.

-r

отменяет -s, использует метод вычисления контрольных сумм как в BSD, размер блока 1 кб

-s, --sysv

используется метод вычисления контрольных сумм как в System V, размер блока 512 байт

--help

показать справку и выйти

--version

показать информацию о версии и выйти

Если ФАЙЛ не задан, или ФАЙЛ задан как -, читает стандартный вывод.

## АВТОР
Кэйвен Эгейпур и Девид МакКензи.

## СООБЩЕНИЕ ОБ ОШИБКАХ
Об ошибках сообщайте по адресу <bug-coreutils@gnu.org>.

## АВТОРСКИЕ ПРАВА
Copyright (c) 2006 Free Software Foundation, Inc.

Это свободное программное обеспечение. Вы можете распространять его копии при соблюдении условий GNU General Public License <http://www.gnu.org/licenses/gpl.html>. Не предоставляется НИКАКИХ ГАРАНТИЙ в установленных законом пределах.

## СМ. ТАКЖЕ
Полная документация для sum поддерживается в виде руководства в формате Texinfo. Если программы info и sum установлены и настроены в системе, то по команде

info sum

вы получите доступ к более полному руководству.

## ПЕРЕВОД
Перевод с английского russians <pawel5@mail.ru> 2007


sync

title: sync(1)

text:
# sync(1)

## ИМЯ
sync - очистка буферов файловой системы

## СИНТАКСИС
sync [ОПЦИЯ]

## ОПИСАНИЕ
Записывает изменённые блоки на диск, обновляет суперблок.

--help

показать справку и выйти

--version

показать информацию о версии и выйти

## АВТОР
Джим Мейеринг.

## СООБЩЕНИЕ ОБ ОШИБКАХ
Об ошибках сообщайте по адресу <bug-coreutils@gnu.org>.

## АВТОРСКИЕ ПРАВА
Copyright (c) 2006 Free Software Foundation, Inc.

Это свободное программное обеспечение. Вы можете распространять его копии при соблюдении условий GNU General Public License <http://www.gnu.org/licenses/gpl.html>. Не предоставляется НИКАКИХ ГАРАНТИЙ в установленных законом пределах.

## СМ. ТАКЖЕ
Полная документация для sync поддерживается в виде руководства в формате Texinfo. Если программы info и sync установлены и настроены в системе, то по команде

info sync

вы получите доступ к более полному руководству.

## ПЕРЕВОД
Перевод с английского russians <pawel5@mail.ru> 2007


tac

title: tac(1)

text:
# tac(1)

## ИМЯ
tac - объединяет и печатает файлы в обратной последовательности

## СИНТАКСИС
tac [ОПЦИЯ]... [ФАЙЛ]...

## ОПИСАНИЕ
Печатает каждый из ФАЙЛОВ на стандартный вывод, начиная с последней строки. Если ФАЙЛ не задан или задан как -, читает стандартный вывод.

Аргументы, обязательные для длинных ключей, обязательны и для коротких.

-b, --before

присоединяет разделитель к началу, а не к концу

-r, --regex

воспринимает разделитель как регулярное выражение

-s, --separator=СТРОКА

использовать СТРОКУ как разделитель вместо разделителя '0

--help

показать справку и выйти

--version

показать информацию о версии и выйти

## АВТОР
Джей Лепре и Девид МакКензи.

## СООБЩЕНИЕ ОБ ОШИБКАХ
Об ошибках сообщайте по адресу <bug-coreutils@gnu.org>.

## АВТОРСКИЕ ПРАВА
Copyright (c) 2006 Free Software Foundation, Inc.

Это свободное программное обеспечение. Вы можете распространять его копии при соблюдении условий GNU General Public License <http://www.gnu.org/licenses/gpl.html>. Не предоставляется НИКАКИХ ГАРАНТИЙ в установленных законом пределах.

## СМ. ТАКЖЕ
Полная документация для tac поддерживается в виде руководства в формате Texinfo. Если программы info и tac установлены и настроены в системе, то по команде

info tac

вы получите доступ к более полному руководству.

## ПЕРЕВОД
Перевод с английского russians <pawel5@mail.ru> 2007


tail

title: tail(1)

summary: вывести последние строки

text:
# tail(1)

## ИМЯ
tail - вывести последние строки

## СИНТАКСИС
tail [ОПЦИЯ]... [ФАЙЛ]...

## ОПИСАНИЕ
Печатает последние 10 строк каждого из ФАЙЛОВ на стандартный вывод. Если задано несколько ФАЙЛОВ, сначала печатается заголовок с именем файла. Если ФАЙЛ не задан или задан как /-, читает стандартный ввод.

Обязательные аргументы для длинных ключей обязательны и для коротких.

--retry

продолжать попытки открытия файлов, даже если он недоступен, когда tail запущен, или если он стал недоступен позднее; полезно только при наблюдении по имени, например, при --follow=ФАЙЛ

-c, --bytes=N

вывести последние N байт

-f, --follow[={ФАЙЛ|ДЕСКРИПТОР}]

выводить поступающие данные по мере роста файла; -f, --follow, и --follow=descriptor эквивалентны

-F

синоним --follow=ИМЯ --retry

-n, --lines=N

выводить последние N строк, а не последние 10

--max-unchanged-stats=N

с ключом --follow=ФАЙЛ, повторно открывать ФАЙЛ, который не изменялся последние N (по умолчанию 5) итераций, чтобы проверить не был ли он удалён или переименован (такое обычно бывает при ротации системных протокольных файлов)

--pid=PID

с ключом -f, прерваться, когда процесс с заданным PID завершил работу

-q, --quiet, --silent

не выводить заголовки с именами файлов

-s, --sleep-interval=S

с ключом -f, бездействовать примерно S секунд (по умолчанию 1.0) перед итерацией.

-v, --verbose

всегда выводить заголовки с именами файлов

--help

показать справку и выйти

--version

показать информацию о версии и выйти

Если первым знаком в N (числе байт или строк) является `+', выводит, начиная с N-ого элемента от начала каждого файла, иначе выводит последние N элементов в файле. N может иметь суффикс-множитель: b 512, k 1024, m 1024*1024.

С ключом --follow (-f), tail по умолчанию следит за дескриптором файла, что означает что даже если файл переименован, tail будет и далее следить за его концом. Этот режим работы, принимаемый по умолчанию, нежелателен, если вы хотите следить за действительным именем файла, а не за дескриптором (например, при ротации файлов-протоколов). В таком случае используйте --follow=ФАЙЛ. Это заставит tail следить за указанным файлом, открывая его периодически, чтобы узнать, не был ли он удалён и заново создан какой-нибудь другой программой.

## АВТОРЫ
Пауль Рубин, Девид МакКензи, Иэн Ленс Тейлор и Джим Мейеринг.

## СООБЩЕНИЕ ОБ ОШИБКАХ
Об ошибках сообщайте по адресу <bug-coreutils@gnu.org>.

## АВТОРСКИЕ ПРАВА
Copyright (c) 2006 Free Software Foundation, Inc.

Это свободное программное обеспечение. Вы можете распространять его копии при соблюдении условий GNU General Public License <http://www.gnu.org/licenses/gpl.html>. Не предоставляется НИКАКИХ ГАРАНТИЙ в установленных законом пределах.

## СМ. ТАКЖЕ
Полная документация для tail поддерживается в виде руководства в формате Texinfo. Если программы info и tail установлены и настроены в системе, то по команде

info tail

вы получите доступ к более полному руководству.

## ПЕРЕВОД
Перевод с английского russians <pawel5@mail.ru> 2007


tar

title: tar(1)

summary: GNU версия утилиты архивирования

text:
# tar(1)

## NAME
tar - GNU версия утилиты архивирования

## СИНТАКСИС
tar [ - ] A --catenate --concatenate | c --create | d --diff --compare | r --append | t --list | u --update | x -extract --get [ --atime-preserve ] [ -b, --block-size N ] [ -B, --read-full-blocks ] [ -C, --directory DIR ] [ --checkpoint ] [ -f, --file [HOSTNAME:]F ] [ --force-local ] [ -F, --info-script F --new-volume-script F ] [ -G, --incremental ] [ -g, --listed-incremental F ] [ -h, --dereference ] [ -i, --ignore-zeros ] [ -j, --bzip ] [ --ignore-failed-read ] [ -k, --keep-old-files ] [ -K, --starting-file F ] [ -l, --one-file-system ] [ -L, --tape-length N ] [ -m, --modification-time ] [ -M, --multi-volume ] [ -N, --after-date DATE, --newer DATE ] [ -o, --old-archive, --portability ] [ -O, --to-stdout ] [ -p, --same-permissions, --preserve-permissions ] [ -P, --absolute-paths ] [ --preserve ] [ -R, --record-number ] [ --remove-files ] [ -s, --same-order, --preserve-order ] [ --same-owner ] [ -S, --sparse ] [ -T, --files-from=F ] [ --null ] [ --totals ] [ -v, --verbose ] [ -V, --label NAME ] [ --version ] [ -w, --interactive, --confirmation ] [ -W, --verify ] [ --exclude FILE ] [ -X, --exclude-from FILE ] [ -Z, --compress, --uncompress ] [ -z, --gzip, --ungzip ] [ --use-compress-program PROG ] [ --block-compress ] [ -[0-7][lmh] ]

filename1 [ filename2, ... filenameN ]

directory1 [ directory2, ...directoryN ]

## ОПИСАНИЕ
Этот страница руководства описывает GNU-версию программы tar, которая предназначена для хранения и извлечения файлов из архивного файла, известного как tarfile. Файл tarfile может быть создан на ленточном накопителе, однако, чаще всего, tarfile сохраняют как обычный файл. Первым аргументом к программе tar должна быть одна из следующих опций: Acdrtux, за которой следуют необязательные дополнительные параметры. Последними аргументами к программе tar являются имена архивируемых файлов filename1 [ filename2, ... filenameN ] или каталогов directory1 [ directory2, ...directoryN ] При использовании имени каталога всегда предполагается, что его подкаталоги будут также включены в архив. Примеры использования.

tar -c -f doc-backup.tar /home/aleksander/Documents

tar -r -f doc-backup.tar /home/peter/Documents

gzip -9 doc-backup.tar

В первой строке создается архив doc-backup.tar каталога /home/aleksander/Documents со всеми его подкаталогами и расположенными внутри файлами. Во второй - добавляются к созданному архиву каталог /home/peter/Documents с его объектами. В третьей строке - полученный ранее архив сжимается программой gzip и превращается в doc-backup.tar.gz.

## ОСНОВНЫЕ ОПЦИИ
Только одна из следующих опций должна использоваться:

-A, --catenate, --concatenate

добавляет файлы в архив

-c, --create

создает новый архив

-d, --diff, --compare

находит различия между объектами архива и их "исходниками" в файловой системе

--delete

удаляет файлы из архива (эта опция не используется для архивов на магнитной ленте!)

-r, --append

добавляет файлы в конец архива

-t, --list

выводит содержание архива

-u, --update

добавляет только те файлы, которые ранее не были включены в архив

-x, --extract, --get

извлекает файлы из архива

## ДОПОЛНИТЕЛЬНЫЕ ПАРАМЕТРЫ
--atime-preserve

не меняет время доступа скопированных файлов

-b, --block-size N

устанавливает размер блока в (N x 512) байт (по умолчанию N=20)

-B, --read-full-blocks

считывает фактические блоки (используется для чтения в конвейерах 4.2BSD)

-C, --directory DIR

меняет каталог на указанный

--checkpoint

выводит имена каталогов при чтении архива

-f, --file [HOSTNAME:]F

использует архивный файл или устройство (возможно даже на узле HOSTNAME) F. По умолчанию используется /dev/rmt0

--force-local

предполагает, что архивный файл расположен в локальной системе, даже если за параметром f имеется двоеточие

-F, --info-script F --new-volume-script F

запускает сценарий F в конце каждой магнитной ленты (здесь предполагается параметр -M)

-G, --incremental

поддерживает старый GNU-формат инкрементного резервирования, создавая, отображая или извлекая из архива объекты

-g, --listed-incremental F

поддерживает новый GNU-формат инкрементного резервирования, создавая, отображая или извлекая из архива F объекты

-h, --dereference

не дублирует сами символические ссылки; лишь дублирует файлы, на которые они указывают

-i, --ignore-zeros

игнорирует в архиве блоки нулей (обозначающие обычно EOF - End Of File)

-j, --bzip

фильтрует архив с помощью bzip2

--ignore-failed-read

игнорирует не читаемые файлы (т.е. не завершает работу с кодом, отличным от нуля)

-k, --keep-old-files

сохраняет существующие файлы и не перекрывает их при извлечении объектов архива

-K, --starting-file F

начинает обработку архива с файла F

-l, --one-file-system

при создании архива остается в локальной файловой системе

-L, --tape-length N

меняет магнитные ленты после записи каждых (N*1024) байт

-m, --modification-time

при извлечении объектов архива игнорирует их время модификации

-M, --multi-volume

работает (создает, отображает или извлекает) с многотомным архивом

-N, --after-date DATE, --newer DATE

сохраняет только более новые файлы относительно даты DATE

-o, --old-archive, --portability

записывает архив в формате V7 вместо ANSI-формата

-O, --to-stdout

направляет извлекаемые из архива файлы на стандартный вывод

-p, --same-permissions, --preserve-permissions

извлекает защищенную информацию

-P, --absolute-paths

не отбрасывает начальный слэш (`/') из имен файлов

--preserve

соответствует одновременному заданию параметров -p -s

-R, --record-number

отображает номер записи архивной информации с каждым сообщением

--remove-files

удаляет исходные (оригинальные) файлы после добавления их в архив

-s, --same-order, --preserve-order

сортирует список имен файлов, которые извлекаются из архива

--same-owner

при извлечении файлов из архива сохраняет поле владельца файла

-S, --sparse

оптимально поддерживает "распределенные (разбросанные)" файлы

-T, --files-from=F

для извлечения или создания получает имена из файла F

--null

считывает заканчивающиеся нулем имена файлов. Запрещает параметр -C

--totals

выводит общее число байт, записанное с помощью опции --create

-v, --verbose

предоставляет список обрабатываемых файлов

-V, --label NAME

создает архив на томе с меткой NAME

--version

выводит номер версии программы tar

-w, --interactive, --confirmation

запрашивает подтверждение для каждого действия

-W, --verify

пытается выполнять проверку архива после записи в него

--exclude FILE

исключает из обработки файл FILE

-X, --exclude-from FILE

исключает из обработки файлы, перечисленные в файле FILE

-Z, --compress, --uncompress

фильтрует архив с помощью compress

-z, --gzip, --ungzip

фильтрует архив с помощью gzip

--use-compress-program PROG

фильтрует архив с помощью программы PROG (которая должна принимать опцию -d)

## ПЕРЕВОД
Aleksander N.Gorohovski <angel@feht.dgtu.donetsk.ua> 15.12.2004


tee

title: tee(1)

text:
# tee(1)

## ИМЯ
tee - копирует стандартный ввод в файлы, а также в стандартный вывод.

## ОБЗОР
tee [ОПЦИЯ]... [ФАЙЛ]...

## ОПИСАНИЕ
Копирует стандартный ввод в каждый ФАЙЛ, а также в стандартный вывод.

-a, --append

дописать в заданные ФАЙЛЫ

-i, --ignore-interrupts

игнорировать сигналы прерывания

--help

вывести справку и закончить работу

--version

вывести информацию о версии и закончить работу

Если ФАЙЛ задан как -, копирует обратно на стандартный вывод.

## АВТОРЫ
Программа написана Mike Parker, Richard M. Stallman и David MacKenzie.

## СООБЩЕНИЕ ОБ ОШИБКАХ
Об ошибках сообщайте по адресу <bug-coreutils@gnu.org>.

## АВТОРСКИЕ ПРАВА
Copyright © 2006 Free Software Foundation, Inc.

Это свободное программное обеспечение. Вы можете распространять его копии при соблюдении условий GNU General Public License <http://www.gnu.org/licenses/gpl.html>. Не предоставляется НИКАКИХ ГАРАНТИЙ в установленных законом пределах.

## СМ. ТАКЖЕ
Полная документация по tee поддерживается в виде руководства в формате Texinfo. Если программы info и tee установлены и настроены в системе, то по команде

info tee

вы получите доступ к более полному руководству.

## ПЕРЕВОД
Сергеева Мария <mvsergeeva@yandex.ru> 2007


test

title: test(1)

text:
# test(1)

## ИМЯ
test - проверяет типы файлов и сравнивает значения

## ОБЗОР
test ВЫРАЖЕНИЕ

test

[ ВЫРАЖЕНИЕ ]

[ ]

[ ОПЦИЯ

## ОПИСАНИЕ
Выходит со статусом, определяемым ВЫРАЖЕНИЕМ.

--help

вывести справку и закончить работу

--version

вывести информацию о версии и закончить работу

Если ВЫРАЖЕНИЕ не указано, подразумевается значение ЛОЖЬ (false). ВЫРАЖЕНИЕ принимает значение ИСТИНА (true) или ЛОЖЬ и определяет статус выхода программы. Выражения могут быть такими:

( ВЫРАЖЕНИЕ )

Проверка ВЫРАЖЕНИЯ

! ВЫРАЖЕНИЕ

Логическое отрицание ВЫРАЖЕНИЯ

ВЫРАЖЕНИЕ1 -a ВЫРАЖЕНИЕ2

Логическое И для ВЫРАЖЕНИЕ1 и ВЫРАЖЕНИЕ2

ВЫРАЖЕНИЕ1 -o ВЫРАЖЕНИЕ2

Логическое ИЛИ для ВЫРАЖЕНИЕ1 и ВЫРАЖЕНИЕ2

[-n] СТРОКА

длина СТРОКИ ненулевая

СТРОКА

аналогично -n СТРОКА

-z СТРОКА

длина СТРОКИ равна нулю

СТРОКА1 = СТРОКА2

СТРОКИ совпадают

СТРОКА1 != СТРОКА2

СТРОКИ не совпадают

ЦЕЛОЕ1 -eq ЦЕЛОЕ2

ЦЕЛОЕ1 равно ЦЕЛОЕ2

ЦЕЛОЕ1 -ge ЦЕЛОЕ2

ЦЕЛОЕ1 больше или равно ЦЕЛОЕ2

ЦЕЛОЕ1 -gt ЦЕЛОЕ2

ЦЕЛОЕ1 больше ЦЕЛОЕ2

ЦЕЛОЕ1 -le ЦЕЛОЕ2

ЦЕЛОЕ1 меньше или равно ЦЕЛОЕ2

ЦЕЛОЕ1 -lt ЦЕЛОЕ2

ЦЕЛОЕ1 меньше ЦЕЛОЕ2

ЦЕЛОЕ1 -ne ЦЕЛОЕ2

ЦЕЛОЕ1 не равно ЦЕЛОЕ2

ФАЙЛ1 -ef ФАЙЛ2

ФАЙЛ1 и ФАЙЛ2 имеют одно и то же устройство и номера inode

ФАЙЛ1 -nt ФАЙЛ2

ФАЙЛ1 новее (по дате изменения), чем ФАЙЛ2

ФАЙЛ1 -ot ФАЙЛ2

ФАЙЛ1 старше (по дате изменения), чем ФАЙЛ2

-b ФАЙЛ

ФАЙЛ существует и является блочным устройством

-c ФАЙЛ

ФАЙЛ существует и является символьным устройством

-d ФАЙЛ

ФАЙЛ существует и является каталогом

-e ФАЙЛ

ФАЙЛ существует

-f ФАЙЛ

ФАЙЛ существует и является обычным файлом

-g ФАЙЛ

ФАЙЛ существует и является set-group-ID

-G ФАЙЛ

ФАЙЛ существует и для него установлен эффективный идентификатор группы

-h ФАЙЛ

ФАЙЛ существует и является символической ссылкой (аналогично -L)

-k ФАЙЛ

ФАЙЛ существует и для него установлен бит наследования (sticky bit)

-L ФАЙЛ

ФАЙЛ существует и является символической ссылкой

-O ФАЙЛ

ФАЙЛ существует и для него установлен эффективный идентификатор пользователя

-p ФАЙЛ

ФАЙЛ существует и является именованным каналом

-r ФАЙЛ

ФАЙЛ существует и доступен для чтения

-s ФАЙЛ

ФАЙЛ существует и ненулевой длины

-S ФАЙЛ

ФАЙЛ существует и является сокетом

-t [FD]

Описатель ФАЙЛА FD (по умолчанию stdout) открыт в терминале

-u ФАЙЛ

ФАЙЛ существует и для него установлен бит SUID

-w ФАЙЛ

ФАЙЛ существует и доступен для записи

-x ФАЙЛ

ФАЙЛ существует и доступен для исполнения

Кроме случаев, когда указываются опции -h и -L, выполняется разрешение символических ссылок. Помните, что для передачи круглых скобок необходимо предварять их обратной косой чертой. ЦЕЛОЕ может также быть и -l СТРОКИ, т.е. длиной СТРОКИ.

## ПРИМЕЧАНИЕ
В оболочке может иметься собственный вариант команды test, который используется вместо команды, описываемой настоящим документом. Обратитесь к документации по используемой оболочке.

## АВТОРЫ
Kevin Braunsdorf и Matthew Bradburn.

## СООБЩЕНИЕ ОБ ОШИБКАХ
Сообщайте о всех найденных ошибках на <bug-coreutils@gnu.org>.

## АВТОРСКИЕ ПРАВА
Copyright © 2006 Free Software Foundation, Inc.

Это свободное программное обеспечение. Вы можете распространять его копии при соблюдении условий GNU General Public License <http://www.gnu.org/licenses/gpl.html>. Не предоставляется НИКАКИХ ГАРАНТИЙ в установленных законом пределах.

## СМ. ТАКЖЕ
Полная документация по test поддерживается в виде руководства в формате Texinfo. Если программы info и test установлены и настроены в системе, то по команде

info test

вы получите доступ к более полному руководству.

## ПЕРЕВОД
Николай Шафоростов <shafff@ukr.net> 2007


touch

title: touch(1)

summary: изменяет временные штампы файла

text:
# touch(1)

## ИМЯ
touch - изменяет временные штампы файла

## ОБЗОР
touch [-acm][-r ref_file|-t время] [--]файл...

Устаревшая версия:

touch [-acm][ugly_time] файл...

Версия GNU:

touch [-acfm] [-r файл] [-t decimtime] [-d time] [--time={atime,access,use,mtime,modify}] [--date=время] [--reference=файл] [--no-create] [--help] [--version] [--] файл...

## ОПИСАНИЕ
touch изменяет время последнего доступа и/или время последней модификации каждого заданного файла. Эти временные штампы устанавливаются в текущее время; или, если задана опция -r, то эти штампы устанавливаются в те же, что имеет файл ref_file; или, если задана опция -t, то эти штампы устанавливаются на заданное время. Оба штампа изменяются, если не задана ни одна из опций -a и -m или если заданы они обе. Если задана только опция -a или только -m, то изменяться будет, соответственно, только время последнего доступа или время последней модификации. Если заданный файл еще не существует, то он создается (как пустой файл с правами доступа 0666, с учетом umask), если не задана опция -c.

## ОПЦИИ POSIX
-a

Изменить время последнего доступа к файлу.

-c

Не создавать файл.

-m

Изменять время последней модификации файла.

-r ref_file

Использовать соответствующий временной штамп от файла ref_file в качестве нового значения для изменяемого временного штампа (или штампов).

-t время

Использовать заданное время в качестве нового значения для изменяемого временного штампа (или штампов). Аргумент является десятичным числом вида

```
    [[ВВ]ГГ]ММДДччмм[.СС]

```

с очевидными обозначениями (ВВ - век, ГГ - год, ММ - месяц, ДД - день, чч - часы, мм - минуты, СС - секунды). Если ВВ не задан, то год ВВГГ берется из диапазона 1969-2068. Если СС не задано, то берется 0. Секунды могут быть заданы в диапазоне 0-61, чтобы можно было указать високосную секунду. Считается, что результирующее время соответствует часовому поясу, заданному в переменной окружения TZ. Если в результате получилось время до 1 января 1970 года, то будет выдана ошибка.

[--]

Завершает список опций.

## ДЕТАЛИ ВЕРСИИ POSIX
Вторая форма вызова имеет неудачный синтаксис, который может вызвать некоторую двусмысленность, так как непонятно, что именно задает аргумент ugly_time: время или файл. Если не указаны опции -r и -t, и задано не менее двух аргументов, причем первый аргумент является восьми- или десятизначным числом, то считается, что аргумент ugly_time задает время. Формат ugly_time выглядит как ММДДччмм[гг], причем гг в диапазоне 69-99, означает 1969-1999, а случай, когда гг не задан, означает текущий год. Данная форма вызова устарела.

## ДЕТАЛИ ВЕРСИИ GNU
Если первый файл может быть правильным аргументом для опции -t, и временной штамп не задан с помощью опций -d, -r или -t, и не задан аргумент `--', то этот файл интерпретируется как временной штамп для других файлов, а не как имя файла.

Если задано изменение как времени последнего доступа, так и времени последней модификации файла на текущее время, то touch может изменять эти временные штампы для файлов, которыми пользователь не владеет, но в которые у него есть права на запись. Во всех других случаях, пользователь должен владеть этими файлами.

## ОПЦИИ GNU
-a, --time=atime, --time=access, --time=use

Изменять только время последнего доступа.

-c, --no-create

Не создавать файлы, которые не существуют.

-d, --date=время

Использовать время вместо текущего времени. Оно может содержать имена месяцев, часовые пояса, `am' и `pm', и т. д.

-f

Игнорируется; для совместимости с BSD версией touch(1).

-m, --time=mtime, --time=modify

Изменять только время последней модификации.

-r file, --reference=файл

Использовать время указанного файла вместо текущего времени.

-t decimtime

Здесь decimtime имеет формат ММДДччмм[[ВВ]ГГ][.сс] Использовать аргумент (месяц, день, часы, минуты, необязательный век, год, секунды) вместо текущего времени. Заметим, что этот формат нарушает спецификацию POSIX.

## СТАНДАРТНЫЕ ОПЦИИ GNU
--help

Выдать подсказку на стандартный вывод и успешно завершиться.

--version

Выдать информацию о версии на стандартный вывод и успешно завершиться.

--

Служит для обозначения конца списка опций.

## ОКРУЖЕНИЕ
Для интерпретации явно заданного времени используется переменная TZ. При работе обычным образом используются значения переменных LANG, LC_ALL, LC_COLLATE, LC_CTYPE и LC_MESSAGES.

## СОВМЕСТИМОСТЬ
POSIX 1003.2 описывает синтаксис для аргумента опции -t, который отличается от того, что используется в реализации GNU.

## ПРИМЕР ИСПОЛЬЗОВАНИЯ
Команда touch foo создаст файл foo, если он не существует, и изменит время последней модификации на текущее. Это очень часто используется для управления действиями программы make.

## ЗАМЕЧАНИЯ
Данная страница описывает версию touch из пакета fileutils-4.0; другие версии могут иметь небольшие отличия. Исправления и дополнения присылайте по адресу aeb@cwi.nl. Отчеты об ошибках в этой программе присылайте по адресу fileutils-bugs@gnu.ai.mit.edu.

## ПЕРЕВОД
Перевёл с английского Виктор Вислобоков <corochoone@perm.ru> 2003