Для создания нового пользователя, изменения пароля, уровня привилегий или удаления существующего пользователя применяйте команду 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