[Comm] Листая man:/usr/share/man/ru/man5/sudoers.5.bz2

Arioch =?iso-8859-1?q?the=5FArioch_=CE=C1_nm=2Eru?=
Пн Июл 25 11:04:57 MSD 2005


Пишу в лмст, а не в багзиллу по причине отсутствия инета (и 
offline-клиента к багзилле), и так как нек. моменты IMHO стоило бы 
осудить коллективным разумом.


man-pages-ru-0.98-alt3


man sudoers 2> :

<standard input>:17: missing closing delimiter
<standard input>:19: missing closing delimiter
<standard input>:20: missing closing delimiter
<standard input>:24: missing closing delimiter
<standard input>:133: missing closing delimiter
<standard input>:137: missing closing delimiter
<standard input>:188: missing closing delimiter
<standard input>:247: missing closing delimiter
<standard input>:247: missing closing delimiter
<standard input>:247: missing closing delimiter
<standard input>:248: missing closing delimiter
<standard input>:258: missing closing delimiter
<standard input>:258: missing closing delimiter
<standard input>:258: missing closing delimiter
<standard input>:258: missing closing delimiter
<standard input>:271: missing closing delimiter
<standard input>:307: missing closing delimiter
<standard input>:350: missing closing delimiter
<standard input>:469: missing closing delimiter
<standard input>:469: missing closing delimiter
<standard input>:492: missing closing delimiter
<standard input>:528: missing closing delimiter
<standard input>:529: missing closing delimiter
<standard input>:529: missing closing delimiter
<standard input>:531: missing closing delimiter
<standard input>:532: missing closing delimiter

Видимо, что-то с разметкой.
Теперь касательно перевода - буду приводить цитату, потому возможно 
цитату из оригинала, потом свои комментариии или свой вариант перевода.

~~~~~~~~
Section: ALT Linux Team (5)
~~~~~~~~
Section: MAINTENANCE COMMANDS (5)
~~~~~~~~
   Не знаю, от кого это зависит, но что-то тут не так ;)
========


~~~~~~~~~~
    User ::= '!'* username | '!'* '%'group | '!'* '+'netgroup |  '!'* 
User_Alias

    User_List  состоит из одного, или более, имени пользователя (username),
    идентификатора пользователя (uid), начинающегося со знака #', cистемной
    группы  (group),  начинающейся со знака %'), сетевой группы (netgroup),
    начинающейся со знака +', и  других  псевдонимов  (User_Alias).  Каждый
~~~~~~~~~~
1) в EBNF пропущен  >>'!'* '#'uid<<  ???  (Упс! в оригинале сказано, что 
UID'ы бывают в RunAs_List, но не в User_List)
2) нет открывающего апострофа у >>#'<<, >>%'<<, >>+'<<
==========


~~~~~~~~~~
    Краткое руководство по -1EBNF
        -1EBNF это краткий и точный способ описания грамматики языка. 
Каждое определение -1EBNF происходит из последовательности правил.
~~~~~~~~~~
Это по веpсии konqueror.
По версии man - везде просто "BNF".
Резюме - разметка? Кодировка?
==========

~~~~~~~~~~~~
одинарные ('') кавычки
~~~~~~~~~~~~
  Я бы убрал слово "одинарные", чтобы не смущало. По крайней мере, как в 
оригинале, поставил бы скобки после слова "кавычки"
============
~~~~~~~~~~~~~~~~~~~~~~
Отрицающее   значение   оператора   !   отрицает   значение   элемента;
        положительное значение только отменяет значение другого.
~~~~~~~~~~~~~~~~~~~~~~
An odd number of '!' operators negate the value of the item; an even 
number just cancel each other out.
~~~~~~~~~~~~~~~~~~~~~~
Я бы сказал так: 1 или другое нечётное количество операторов "!" 
отвергают значение элемента. Если же этих операторов чётное число - они 
просто отменяют друг друга.
~~~~~~~~~~~~~~~~~~~~~~



~~~~~~~~~~~~
Runas_List  аналогичен User_List, за исключением того, что хоть в нём и
        присутствуют идентификаторы пользователей uid  (начинающиеся  со 
  знака
        '#'), однако вместо User_Alias он содержит Runas_Alias
~~~~~~~~~~~~
A Runas_List
   is similar to a User_List
   except that it can also contain uids (prefixed with '#') and instead 
of User_Alias
  es it can contain Runas_Alias
  es.
~~~~~~~~~~~~
Runas_List  аналогичен User_List, за исключением того, что в нём могут 
присутствовать
   номера зарегистрированных пользователей (uid - User ID, перед номером 
должен стоять
   знак '#'), и того, что вместо User_Alias'ов он содержит Runas_Alias'ы
~~~~~~~~~~~~


~~~~~~~~
имен машин (hostname), -1IP адресов .... или указанием -1CIDR
~~~~~~~~
  То же, что с EBNF в начале ;)

  Кстати, какой у нас канонический перевод UID, HOSTNAME и прочих 
терминов? Чтобы не получилось "мы все - хоббиты, но из разных переводов" :-)
========


~~~~~~~~~~~
(т.е. 255.255.255.0)  ...  (числом бит, т.е. 24)
~~~~~~~~~~~
вместо "т.е." - "напр." (в оригинале "e.g.") - иначе вместо примера, 
получается приказ вводить только так :-)
===========


~~~~~~~~~~~
в стиле интерпретатора команд
~~~~~~~~~~~
shell-style
~~~~~~~~~~~
В стиле командной строки  (IMHO ком. строка - устойчивое выражение, а 
"интерпретатор команд" - нет. Без контекста (уже готовой привычки 
использовать wildcards, причем именно в ком-строке) - фиг он поймет 
контекст.

То же ниже по тексту.
===========


~~~~~~
но если команда hostname на вашей машине возвращает полное имя машины, 
то для использования маски вы должны будете использовать опцию fqdn.
~~~~~~
but unless the hostname
   command on your machine returns the fully qualified hostname, you'll 
need to use the fqdn option for wildcards to be useful.
~~~~~~
AS: я не понял, что означает "fqdn option" в данном контексте. Значит 
ли, что я где-то должен включить fqdn ? Или "option" означает "Вариант, 
выбор", т.е. я просто должен полностью задать имя компа в sudoers ?

  ,но польза от подстановок будет только если команда hostname на вашем 
компьютере возвращает полное имя машины, либо если вы напишете адрес в 
развернутом виде. (fqdn)

PS: ниже таки нашел опцию fqdn. Стало быть, был не прав. Тогда, чтобы 
пользователь не парился, надо его сразу отсылать вниз.
...., либо вы установили флаг fqdn (см. секцию "Значения по умолчанию").
======

~~~~~~~~~~~
для указания, что эта команда может быть выполнена без параметров 
командной строки
~~~~~~~~~~~
...may only be run without....
~~~~~~~~~~~
для указания, что эту команду разрешено выполнять только без параметров 
командной строки
===========

~~~~~~~~~~~
Каталог, это полное имя имя пути, заканчивающееся с /.
....
Если вы укажите каталог....в пределах того каталога...
~~~~~~~~~~~
...
~~~~~~~~~~~
directory - это полный путь к каталогу, оканчивающийся на "/"
...
укажЕте, Этого

PS: стоит ли говорить "каталог" ? Возможно хорошо, если бы этот термин 
прижился, но...
Всегда, помню, говорил "директория", а теперь, усилиями Microsoft, 
вводится термин "папка" - и, IMHO, неплохой термин. По крайней мере и 
Nautilus, и Konqueror его используют.
===========


~~~~~~~~~~~
Если Cmnd имеет ассоциированные аргументы командной строки, то 
аргументы, указанные пользователем в Cmnd, должны точно соответствовать 
аргументам в командной строке (или соответствовать символам подстановки, 
если таковые имеются). Обратите внимание, что следующие символы должны 
начинаться с \, если они используются в аргументах команд: ,, :, =, \.
~~~~~~~~~~~
If a Cmnd
   has associated command line arguments, then the arguments in the Cmnd
   must match exactly those given by the user on the command line (or 
match the wildcards if there are any). Note that the following 
characters must be escaped with a '\' if they are used in command 
arguments: ',', ':', '=', '\'.
~~~~~~~~~~~
AS: выше были параметры командной строки, а тут - аргументы. Мне 
"аргументы" тоже больше нравятся, но для единообразия, буду продолжать 
"параметры".

Если в Cmnd указаны параметры командной строки, то эти параметры должны 
в точности (с учетом символов подстановки) соответствовать параметрам, 
которые пользователь укажет в командной строке. Причём, чтобы 
использовать в указанных в Cmnd параметрах командной строки такие 
символы, как ',', ':', '=', '\', перед ними нужно дополнительно 
поставить '\'

PS: вроде нет общеупотребительного перевода to escape? Перевести бы, как 
"предварять" или "обрамлять" (редкие слова, их не спутаешь) - но вот 
нельзя выбрать только одно из них :(, получится как-будто разные термины. :(
===========


~~~~~~~~~~
  Некоторые значения параметров конфигурации по умолчанию могут быть 
изменены во время выполнения через одну или несколько записей 
Default_Entry. Они могут касаться всех пользователей на любом 
компьютере, всех пользователей на определенном компьютере, или только 
определенного пользователя. Когда имеется множество значений, то они 
применяются поочередно. Если имеются конфликтующие значения, то эффект 
будет иметь последнее из них в строке.
~~~~~~~~~~
Certain configuration options may be changed from their default values 
at runtime via one or more Default_Entry
   lines. These may affect all users on any host, all users on a 
specific host, a specific user, or commands being run as a specific 
user. When multiple entries match, they are applied in order. Where 
there are conflicting values, the last value on a matching line takes 
effect.
~~~~~~~~~~
  Некоторые значения параметров конфигурации по умолчанию могут быть 
изменены во время выполнения через одну или несколько записей 
Default_Entry. Они могут касаться всех пользователей на любом 
компьютере, всех пользователей на определенном компьютере, определенного 
пользователя, или выполняемых от лица определенного пользователя команд. 
Если подходит несколько записей, то по очереди применяются они все. Если 
какие-то значения конфликтуют, в силе останется последнее из них в строке.
==========

Кстати - в EBNF почему-то вертикальные линии стали идти парами. Думаю, 
ошибка в оригинале, и нужно продолжать ставить одну линию.

~~~~~~~~~~~
Параметры могут быть флагами, целочисленными значениями, выражениями или 
списками
~~~~~~~~~~~
Строками, а не выражениями (по контексту получается - матем. выражениями)
"списками" тоже нужно выделить.
===========

~~~~~~~~~~~
для его отключения
~~~~~~~~~~~~
для ИХ отключения (флагов, а не контекста)
===========

~~~~~~~~~~~
если они содержат повторяющиеся слова
~~~~~~~~~~~
если они содержат несколько слов
===========


~~~~~~~~~~
пропущено при переовде?
~~~~~~~~~~
  Lists have two additional assignment operators, +=
   and -=
  . These operators are used to add to and delete from a list 
respectively. It is not an error to use the -=
   operator to remove an element that does not exist in a list.

  Note that since the sudoers file is parsed in order the best place to 
put the Defaults section is after the Host, User, and Cmnd aliases but 
before the user specifications.
~~~~~~~~~~
Для списков кроме обычного присваивания (=) есть ещё операторы 
добавления элемента (+=) и удаления элемента (-=) из списка. Оператор -= 
не сочтет ошибкой, если элемент, который требуется удалить, уже 
отсутствует в списке.

Заметьте, что так как /etc/sudoers разбирается строка за строкой, лучшее 
место для заданя умолчаний - после задания псевдонимов (Host aliases, 
User aliases, Cmnd aliases), но до описаниянепосредственно пользователей.
==========

~~~~~~~~~
При идентификации по схеме One Time Password (S/Key или -1OPIE), 
используется двойная командная строка, чтобы облегчить возможность 
"вырезать и вставлять" вызов в локальное окно. Это не так хорошо 
выглядит, как значение по умолчанию, но некоторые люди найдут это более 
удобным.
~~~~~~~~~
When validating with a One Time Password scheme (S/Key or OPIE), a 
two-line prompt is used to make it easier to cut and paste the challenge 
to a local window. It's not as pretty as the default but some people 
find it more convenient.
~~~~~~~~~
Видимо есть какая-то разница между проверкой (validating) и 
идентификацией? кто разбираетсяв sudo - объясните ;)

-1OPIE - no comments ;)

two line prompt - запрос в две строки высотой

В общем:
    При ??проверке?? с помощью одноразового пароля (схема One Time 
Passwоrd, S/Key или OPIE), будет использован запрос из двух строк. Такой 
запрос легче "вырезать и вставить" в ??окно программы на лоальной 
машине??. Выглядит это не столь красиво, как одна строчка (по 
умолчанию), но есть пользователи, которые считают, что так удобнее.
=========

~~~~
sudo будет игнорировать . или (текущий каталог)
~~~~
sudo will ignore '.' or '' (current dir)
~~~~
не стоило убирать кавычки :)
====


~~~~
"отсутствует в файле sudoers"
"присутствует ...."
~~~~
я бы написал "не описан в /etc/sudoers"  - и соотв. "описан в 
/etc/sudoers" - не нравится мне "присутствует" в таком контексте
====


~~~~~
"tty_tickets"
Если этот флаг установлен, sudo будет использовать ticket dir (каталог 
вида /var/run/sudo/имя_ticketа, где имя_ticketa совпадает с именем 
пользователя или терминала, с которого пользователь вошел в систему) для 
по-терминальной аутентификации пользователей. Это механизм, с помощью 
которого sudo отслеживает, что данный пользователь уже вызывал sudo 
(используется, в частности, для lecture) и момент времени, когда была 
произведена последняя успешная аутентификация данного пользователя (или 
терминала, если используется tty_tickets). По умолчанию этот флаг выключен.
~~~~~
tty_tickets
  If set, users must authenticate on a per-tty basis. Normally, sudo 
uses a directory in the ticket dir with the same name as the user 
running it. With this flag enabled, sudo will use a file named for the 
tty the user is logged in on in that directory. This flag is off by default.
~~~~
Я не очень понял, что это и зачем. Автор перевода видимо пытался понять 
и объяснить. В оригинале непонятно вообще ничего. Но, если я понял, 
вмежду оригиналом и переводом расхождение:
  В переводе - ticket dir - это /var/run/sudo/<user name> либо 
/var/run/sudo/<tty of login>
  В оригинале - ticket dir - это, видимо, /var/run/sudo, sudo использует 
для чего-то либо под-директорию $ticket-dir/<user name>/ , либо файл 
$ticket-dir/<user name>/<tty of login>. Для чего? И что есть tty в 
случае xterm или ssh ?
====

~~~~
То-есть, это запускает оболочку от имени супер-пользователя (root) 
(оболочка определена переменной окружения SHELL, если она указана, если 
нет, то происходит обращение к оболочке, указанной в учетной записи 
пользователя вызывающего команду файла /etc/passwd).
~~~~
That is, it runs a shell as root (the shell is determined by the SHELL
   environment variable if it is set, falling back on the shell listed 
in the invoking user's /etc/passwd entry if not).
~~~~
То есть, sudo запускает оболочку от имени супер-пользователя (root) 
(оболочка определена переменной окружения SHELL, если она указана. Eсли 
нет, запускается оболочка, настроенная для текущего пользователя в 
/etc/passwd).
====

Опять же, не нравится мне "оболочка". Есть канонический перевод shell ?

~~~~~
Это заставит подразумевать вместо флага -s флаг -H
~~~~~
This effectively makes the -s flag imply -H
~~~~~
Таким образом, при запуске sudo с параметром -s, будет также 
подразумеваться параметр -H.
=====

~~~~~
"preserve_groups"
  По умолчанию sudo инициализирует групповой вектор к списку групп, 
которому принадлежит целевой пользователь. Когда preserve_groups 
установлен, то существующий вектор группы пользователя остаётся 
неизменным. А реальный и эффективный ID группы, наоборот, приводятся в 
соответствие с целевым пользователем.
~~~~~
preserve_groups
  By default sudo will initialize the group vector to the list of groups 
the target user is in. When preserve_groups is set, the user's existing 
group vector is left unaltered. The real and effective group IDs, 
however, are still set to match the target user. This flag is off by 
default.
~~~~~
"preserve_groups"
  Обычно sudo устанавливает как вектор групп список групп, к которым 
принадлежит целевой пользователь. Когда preserve_groups установлен, то 
текущий вектор групп пользователя остаётся неизменным. Реальный и 
эффективный ID группы (gid), в любом случае, приводятся в соответствие с 
целевым пользователем.
=====


~~~~
То-есть, вместо myhost вы бы использовали myhost.mydomain.edu. Вы 
все-равно можете, при желании, использовать краткую форму (и даже 
смешивать две). Остерегайтесь! Для включения fqdn sudo требуется сделать 
поисковую таблицу -1DNS, из-за чего sudo может перестать реагировать, 
если -1DNS прекратит свою работу (например, если машина не подключена к 
сети). .........
  Если имя вашей машины полное (как сообщает вывод команды hostname), то 
у вас нет необходимости задействовать fqfn.
~~~~
I.e., instead of myhost you would use myhost.mydomain.edu You may still 
use the short form if you wish (and even mix the two). Beware that 
turning on fqdn requires sudo to make DNS lookups which may make sudo 
unusable if DNS stops working (for example if the machine is not plugged 
into the network).
  ......
If your machine's hostname (as returned by the hostname
  command) is already fully qualified you shouldn't need to set fqdn.
~~~~
-1DNS
fqfn - typo

То есть - через пробел.
Вы бы использовали -> вы хотите использовать
можете -> сможете

Внимание! при включенном fqdn, sudo придётся делать запросы к серверу 
DNS. Таким образом, если DNS перестанет работать (например машина не 
подключена к сети), то и sudo перестанет работать тоже.
.....
Если команда hostname уже сообщает полное имя вашей машины, то включать 
fqdn нет необходимости.
====


~~~~
Так как нет возможности отключить отклик, если терминал отсутствует, 
некоторые сайты могут устанавливать этот флаг для предотвращения ввода 
пользователем пароля открытым текстом
~~~~
  Because it is not possible to turn off echo when there is no tty 
present, some sites may with to set this flag to prevent a user from 
entering a visible password
~~~~
with - typo, гы :-)

отклик (какой?) -> эхопечать
...флаг, чтобы предотвратить ввод пароля, когда вводимые символы будут 
открыто видны посторонним.
====


-1EDITOR и -1VISUAL
-1RCS

RCS revision control system - систему управления версиями, редакциями, а 
не проверкой :)

~~~
Это полезно для отключения потенциально опасной функциональности при 
выполнении setuid-программ
~~~
This can be useful on systems that disable some potentially dangerous 
functionality when a program is run setuid.
~~~
как-то по другому. не знаю насчет setuid, потому не скажу как. Как 
минимум начало переведено наоборот.
===


~~~
Установите это значение в 0777
~~~
Negate this option or set it to 0777
~~~
Negate забыли :)
===

-1SECURITY

~~~
если включено использование insults
~~~
unless insults are enabled.
~~~
если НЕ включено
===

~~~
временные файлы-метки
~~~
timestamp files
~~~
файлы с временными метками
===

~~~
  Поддерживаются два варианта управляющих последовательностей: %u 
отображает имя входящего в систему пользователя и %h выводит локальное 
имя машины
~~~
  The following percent (` %
  ') escapes are supported:
%u
  expanded to the invoking user's login name
%U
  expanded to the login name of the user the command will be run as 
(defaults to root)
%h
  expanded to the local hostname without the domain name
%H
  expanded to the local hostname including the domain name (on if the 
machine's hostname is fully qualified or the fqdn option is set)
%%

  two consecutive %
   characters are collaped into a single %
   character
~~~
    Можно использовать специальные подстановки:
  %u заменяется на login пользователя, запустившего sudo.
  %U заменяется на login пользователя, от лица которого нужно выполнить 
команду.
  %h заменяется на краткое имя ??local?? компьютера, без указания домена.
  %H заменяется на полное имя ??local?? компьютера (если такое 
возвращает hostname или установлен флаг fqdn)
  %% заменяется на один символ "%"
===


~~~
Выражения, которые могут быть
~~~
Strings - строки. Или как на несколько строк выше - строковые значения.
===

~~~
Путь к файлу журнала sudo (не syslog)
~~~
Ранее говорилось "системный журнал", теперь и ниже - syslog. Хорошо бы 
выбрать :-)
===


~~~
Средство для регистрации событий в системном журнале Syslog
~~~
Syslog facility
~~~
По-моему примерно это можно перевести, как класс записей, как группа 
программ, чьи записи можно отсортировать отдельно. Пусть опытные люди 
скажут как лучше перевести :-)
===


-1PATH


~~~
Для использования флага -v пользователь
                 не должен использовать пароль
~~~
Так получается must not.
IMHO - "пользователю не нужно"
===

~~~
По умолчанию принято значение `any.
~~~
The default value is `all'.
===


~~~
  Это может быть использовано для защиты от уязвимости плохо написанных 
программ в printf-style формате. Аргументом может быть заключение в 
двойные кавычки, разделенный пробелами список или одинарное значение без 
двойных кавычек. Список может быть замещен, добавлен к, удален из, или 
отключен при помощи операторов =, +=, -= и ! соответственно.
~~~
This can be used to guard against printf-style format vulnerabilities in 
poorly-written programs. The argument may be a double-quoted, 
space-separated list or a single value without double-quotes. The list 
can be replaced, added to, deleted from, or disabled by using the =
  , +=
  , -=
  , and  !
   operators respectively
~~~
  Параметр может быть использован для защиты от уязвимостей типа шаблона 
printf в плохо написанных программах. Значением параметра может быть 
заключённый в двойные кавычки разделенный пробелами список или одинарное 
значение без двойных кавычек. К списку можно добавлять элементы или 
убирать их из него; список можно переназначить целиком, или вообще 
отключить при помощи операторов +=, -=, = или ! соответственно.
===

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

Или: Переменный окружения пользователя, которые будут удалены.
===

Пропущен перевод:
Note that many operating systems will remove potentially dangerous 
variables from the environment of any setuid process (such as sudo).
Учтите, что многие операционные системы удаляют потенциально опасные 
переменные из окружения любой setuid-программы, включая саму sudo.



Ку-ку! authpriv давно проехали, и вдруг всплывает целый абзац:
  When logging via syslog (3), sudo accepts the following values for the 
syslog facility (the value of the syslog Parameter): authpriv (if your 
OS supports it), auth, daemon, user, local0, local1, local2, local3, 
local4, local5, local6, and local7. The following syslog priorities are 
supported: alert, crit, debug, emerg, err, info, notice, and warning.

Если включена регистрация событий через syslog  (3), sudo акцептирует 
следующие значения для лучшего взаимодействия с syslog (значение 
Параметра syslog): authpriv (если ваша ОС поддерживает это), auth, 
daemon, user, local0, local1, local2, local3, local4, local5, local6, и 
local7. Поддерживаются следующие приоритеты syslog: alert, crit, debug, 
emerg, err, info, notice, и warning.

Этот глюк в оригинале!
Но в переводе надо бы его поправить и поместить этот абзац по адресу.

И я бы начал по другому: Если журнал событий ведется через syslog, то 
sudo может представляться следующими ??facility??...




Спецификация Пользователя - описание, указание, задание, настройка. Но 
не спецификация ;)


User_Spec ::= User_list Host_List '=' User_List Cmnd_Spec_List \
                (':' User_Spec)*

Глюк: нет User_List после '=' !

~~~
Спецификация пользователя определяет какие команды может выполнять 
пользователь (и какой пользователь) на определенной машине.  По 
умолчанию, команды выполняются от имени супер-пользователя (root), но 
это может быть изменено на уровне по-командного доступа.
~~~
   Описание пользователя определяет какие команды может выполнять 
пользователь (и от чьего лица) на каких конкретных компьютерах 
(/etc/sudoers может быть расположен на сервере и использоваться всеми 
компьютерами в сети).
  По умолчанию, команды выполняются от имени супер-пользователя (root), 
но это можно перенастроить для каждой команды отдельно.
===

override - переназначить, а не отменить

В примере хорошо бы упомянуть, что boulder - это компьютер

В оригинале там какая-то "Omega-" фигурирует ???




"-1NOPASSWD and -1PASSWD"



~~~
  Также, пользователь может выполнять без пароля только sudo -v, если 
отметка NOPASSWD присутствует для всех пользователей, которые относятся 
к данному компьютеру.
~~~
   Кроме тоно, пользователь может выполнять без пароля sudo -v тогда 
только, когда отметка NOPASSWD присутствует для всех описаний этого 
пользователя, которые относятся к данному компьютеру.
===


~~~
Знаки подстановки соответствуют -1POSIX fnmatch(3)
~~~
Wildcard matching is done via the POSIX  fnmatch(3) routine.
~~~
-1 :-)

Подстановка метасимволов выполняется с помощью POSIX-стандартной 
процедуры fnmatch(3)
===


~~~
Для любого символа x, принять значение x. Это необходимо для 
использования специальных символов: *, ?, [, и }
~~~
Сам символ х, каким бы он ни был. .....
'}' видимо стоит в оригинале по ошибке, должен быть по смыслy ']'
===


~~~
""""
~~~
""
===


~~~
команда не может быть выполнена ни с какими параметрами.
~~~
command is not allowed to be run with any arguments
~~~
команда может быть выполнена только без аргументов
===


~~~
универсальный идентификатор пользователя (uid)
~~~
не надо универсального ;)  u is just user
===


-1ALL


~~~
всегда имеет определение
~~~
always causes a match to succeed
~~~
который всегда соответствует любой строке
===


"-1БЕЗОПАСНОСТЬ -1ПРИМЕЧАНИЯ"-> секция "Примечания о безопасности"
Или, как она названа ниже, СОВЕТЫ ПО Б.


~~~
('=, :, (, )')
(\')
'@, !, =, :, ,, (, ), \
~~~
('=', ':', '(', ')')
  ('\')
'@', '!', '=', ':', ',', '(', ')', '\'
~~~
апострофы гуляют
===


contrived - тут, скорее, НАдуманные


~~~
Мы не хотим, что бы sudo читало лекции всем пользователям
~~~
...постоянным сотрудникам
===



Нет перевода: and we don't want to set the LOGNAME
   or USER environment variables when running commands as root
...и мы не хотим изменять $USER и $LOGNAME, когда запускаем программы от 
лица супер пользователя


Для остальных сетей в CSNETS в случае соответствия
...для сравнения. Или ...для сопоставления.


На машинах www... - www это одна машина


~~~
этот вид ограничений должен быть тщательно изучен
~~~
these kind of restrictions should be considered advisory at best
~~~
этот вид ограничений в лучшем случае можно считать редостережением 
пользователям
===






Подробная информация о списке рассылки community