Для создания нового пользователя, изменения пароля, уровня привилегий или удаления существующего пользователя применяйте команду 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. Это связано с особенностями используемых операционных систем. • Команда создания пользователя воспринимается как команда редактирования (например, сменить пароль, 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 |
Примечание |
В ОС Linux пользователь создается с home в директории /var/cspvpn/users/<name> (<name> - имя пользователя). Директория создается с атрибутами 750 (drwxr-x---). В качестве shell у пользователя выставляется /opt/VPNagent/bin/cs_console. |