username secret

Для создания нового пользователя, изменения пароля, уровня привилегий или удаления существующего пользователя применяйте команду username  secret. В конфигурации пароль будет храниться либо в зашифрованном виде, либо в том виде, в каком он был введен в команде.

 

Синтаксис                     username {name} [privilege level] secret {0|5} {pwd}

                   no username {name}

name               имя пользователя. Имя должно начинаться с буквы латинского алфавита (строчной или прописной). Далее могут идти буквы латинского алфавита (строчные или прописные), цифры, _ (подчеркивание) и - (дефис). Имя должно быть уникальным и не превышать 8 символов.

level                            уровень привилегий, диапазон значений 0 – 15. Значение по умолчанию – 1. 

pwd                                пароль пользователя. Допускаются латинские буквы, цифры и спецсимволы. Нельзя использовать пробелы и нелатинские символы.

0                                    при этом значении пароль вводится в открытом виде и зашифровывается внутри

5                                    при этом значении пароль вводится и считается, что он является результатом функции хэширования, и сохраняется без изменения. 

 

Значение по умолчанию                    Значение по умолчанию отсутствует.

 

Режимы команды                               Global configuration

 

Рекомендации по использованию

Добавление пользователя, изменение его параметров

Ограничения на имя пользователя являются более строгими, чем в Cisco IOS. Это связано с особенностями используемых операционных систем.

 

В ОС Linux пользователь создается с  home в директории /var/cspvpn/users/<name> (<name> – имя пользователя). Директория создается с атрибутами 750 (drwxr-x---). 

В качестве shell у пользователя выставляется /opt/VPNagent/bin/cs_console.

 

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

Если пользователь с указанным в команде именем уже присутствует в ОС, но не представлен в Cisco-like конфигурации, то далее выполняется проверка, зарегистрирована ли cs_console в качестве shell данного пользователя:

·       Если в качестве shell данного пользователя выставлена cs_console, то данный пользователь добавляется в Cisco-like конфигурацию.

При этом на консоль выдается сообщение:

Warning: User "<username>" already exists in the system. It was reused. 

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

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

 

При значении {0} пароль вводится в открытом виде, а затем вычисляется и хранится функция хэширования пароля. Если посмотреть конфигурацию командой show  running-config, то команда

username {name} [privilege  level] secret 0 {pwd}

будет представлена в виде

username {name} [privilege  level] secret 5 {pwd_encrypted}.

При значении {5} считается, что введенный пароль является результатом функции хэширования пароля и в конфигурации сохраняется без изменения в том виде, в каком и был введен в команде:

username {name} [privilege level] secret 5 {pwd_encrypted}

Пользователю может быть назначен уровень привилегий из диапазона 0 – 15. Этот диапазон разделен на два класса: в первом – пятнадцатый уровень, а во втором – с 0 по 14 уровни. Пользователи с уровнем привилегий от 0 до 14 имеют одинаковые права.

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

Пользователь с уровнем привилегий от 0 по 14 имеет право доступа к пользовательскому режиму специализированной консоли. А если этот пользователь знает пароль доступа к привилегированному режиму, то он может настраивать шлюз безопасности. Но пользователь с таким уровнем привилегий не имеет право доступа к графическому интерфейсу.

Если не указан в команде параметр [privilege  level], то будет создан пользователь с 1 (первым) уровнем привилегий.

Удаление пользователя

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

no  username {name}

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

Удалить пользователя, из-под которого запущена cs_console, технически возможно, но данное действие категорически не рекомендуется.

Если удаляется пользователь из системы, из-под которого не запущена  cs_console:

·       Пользователь успешно удален из системы: команда завершается успешно и пользователь удаляется из Cisco-like конфигурации.

·       Пользователя в системе не существует: команда также завершается успешно, и пользователь удаляется из Cisco-like конфигурации.

·       Удаление пользователя не прошло (пользователь в системе остался): то команда завершается с ошибкой, пользователь не удаляется из Cisco-like конфигурации.

В cs_console команды username  password и username  secret являются взаимозаменяемыми – ввод любой из этих команд для существующего пользователя обозначает изменение пароля, независимо от того, как он был задан ранее.

 

Выдаваемые сообщения

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

Неправильный синтаксис имени пользователя (использование недопустимых символов):  % User "<username>" was not created. Username is is invalid. 

Длина имени пользователя превышает 8 символов: % User "<username>" was not created. Username is too long (8-chars limit exceeded).

Пользователь с таким именем уже существует в системе: % User addition failed. User "<username>" already exists in the system.

Произошла системная ошибка (возможно нарушена системная политика в отношении имени пользователя или пароля; например слишком короткий пароль): % User addition failed: System error. Possibly the password or the user name violates some system policy (e.g. the password is too short). 

При попытке смены пароля пользователя может возникать ошибка: % User password change failed. Possibly the password violates some system policy (e.g. it's too short).

 

Отличие данной команды от подобной команды Cisco  IOS:

·       Не поддерживаются иные всевозможные варианты задания команды username, не указанные здесь.

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

·       В cs_console команды username password и username secret являются взаимозаменяемыми – ввод любой из этих команд для существующего пользователя обозначает изменение пароля, независимо от того, как он был задан ранее. В Cisco: если пароль для пользователя задан командой username password (пароль хранится в открытом виде), то пароль нельзя потом изменить, используя команду username secret (пароль хранится в зашифрованном виде), и наоборот – если пароль для пользователя задан командой username secret, то потом изменить его командой username password нельзя. В обоих случаях выдается сообщение об ошибке.

 

Пример

Ниже приведен пример создания пользователя с именем "admin" и паролем "security", который будет зашифрован, и уровнем привилегий 15:

Router#configure terminal

Enter configuration commands, one per line.

Router(config)#username admin privilege 15 secret 0 security

Router(config)# exit