Шифрование и секретность в Linux


Создание пользователей при помощи сценария createuser



Создание пользователей при помощи сценария createuser

Сценарий createuser запускается непосредственно из командной строки и работает в одном из двух режимов. При вызове без аргументов он запрашивает имя пользователя с его правами и пытается установить локальное подключение к PostgreSQL. Во втором режиме имя пользователя и параметры передаются в командной строке.

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

Синтаксис командной строки приложения createuser:

createuser [ параметры ] [ пользователь ]

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

  • - d, -- createdb. Аналог ключевого слова CREATEDB в команде SQL CREATE USER. Разрешает новому пользователю создавать базы данных.
  • -D, - -nocreatedb. Аналог ключевого слова NOCREATEDB в команде SQL CREATE USER. Запрещает новому пользователю создавать базы данных (используется по умолчанию).
  • - а, - - adduser. Аналог ключевого слова CREATEUSER в команде SQL CREATE USER. Разрешает новому пользователю создавать других пользователей и поднимает его статус до суперпользователя (с предоставлением всех прав в PostgreSQL).
  • -А, - -no- adduser. Аналог ключевого слова NOCREATEUSER в команде SQL CREATE USER. Указывает на то, что новый пользователь не является суперпользователем (используется по умолчанию).
  • -i sysid, -sys1d=sz/5zW. Новому пользователю присваивается системный идентификатор sysid.
  • -Р, --pwprompt. Пароль нового пользователя вводится в специальном приглашении.
  • - h хост, -- host=xocm. Хост, с которым устанавливается связь для создания базы данных. По умолчанию используется хост local host или значение переменной среды PGHOST.
  • -р порт, --port=nopm. Порт, по которому должно производиться подключение к серверу, вместо порта по умолчанию (обычно 5432).
  • -U пользователь, полъзователъ. Имя пользователя, с которым производится подключение к PostgreSQL. По умолчанию используется имя системного пользователя, запустившего программу (createuser).
  • -W, --password. У подключающегося пользователя запрашивается пароль. Это происходит автоматически, если в файле pg_hba.conf хост, от которого поступил запрос, не объявлен доверенным.
  • - е, - - echo. Команда CREATE USER, передаваемая PostgreSQL, выводится на экран в момент ее выполнения программой createuser.
  • -q, - -quiet. Ключ передается без параметров и запрещает вывод данных в поток stdout (хотя ошибки по-прежнему направляются в поток stderr).

Если ключи -d, -D, -а, -А или имя пользователя отсутствуют, программа createuser запрашивает все недостающие данные. Это связано с тем, что PostgreSQL не строит никаких предположений относительно прав нового пользователя или его имени. В листинге 10.4 создается пользователь newuser, которому запрещено создавать новые базы данных и новых пользователей.





Содержание раздела