Для создания нового пользователя, изменения имени пользователя, пароля, уровня привилегий или удаления существующего пользователя, используйте команду username password. В конфигурации пароль будет храниться в открытом виде. Для удаления пользователя достаточно указать no username {name}.
Синтаксис username {name} [privilege level] password [0] {pwd}
no username {name}
name имя пользователя. Имя должно начинаться с буквы латинского алфавита (строчной или прописной). Далее могут идти буквы латинского алфавита (строчные или прописные), цифры, _ (подчеркивание) и - (дефис). Имя должно быть уникальным и не превышать 8 символов.
level уровень привилегий, диапазон значений 0 – 15. Значение по умолчанию – 1.
0 необязательный параметр, указывающий на то, что пароль хранится в незашифрованном виде. Он обязателен только в случае, если пароль тоже «0»:
username {name} [privilege level] password 0 0.
При выводе по show running-config ноль показывается всегда.
pwd пароль пользователя. Допускаются латинские буквы, цифры и спецсимволы. Нельзя использовать пробелы и нелатинские символы.
Режимы команды Global configuration
Рекомендации по использованию
Добавление пользователя, изменение его параметров
Данная команда используется для создания нового пользователя, изменения пароля или уровня привилегий существующего пользователя.
В ОС Linux пользователь создается с home в директории /var/cspvpn/users/<name> (<name> – имя пользователя). Директория создается с атрибутами 750 (drwxr-x---). В качестве shell у пользователя выставляется /opt/VPNagent/bin/cs_console. |
Ограничения на имя пользователя являются более строгими, чем в 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 – 15. Этот диапазон разделен на два класса: в первом – пятнадцатый уровень, а во втором – с 0 по 14 уровни. Пользователи с уровнем привилегий от 0 до 14 имеют одинаковые права.
Пользователь с пятнадцатым уровнем привилегий в интерфейсе командной строки сразу получает доступ к привилегированному режиму специализированной консоли. Пользователей с пятнадцатым уровнем может быть несколько.
Пользователь с уровнем привилегий от 0 по 14 имеет право доступа к пользовательскому режиму специализированной консоли. А если этот пользователь знает пароль доступа к привилегированному режиму, то он может настраивать шлюз безопасности.
Если не указан в команде параметр [privilege level], то будет создан пользователь с 1 (первым) уровнем привилегий.
По команде show running-config в конфигурации будет показана команда username password в том виде, в каком она была введена. Будьте осторожны, пароль хранится и показывается в открытом виде.
В cs_console команды username password и username secret являются взаимозаменяемыми – ввод любой из этих команд для существующего пользователя обозначает изменение пароля, независимо от того, как он был задан ранее.
Удаление пользователя
Удаление пользователя с именем name производится командой
no username {name}
Допустимо указывать более длинную команду, например, no username {name} privilege 10 password {pwd}. Однако, никакой необходимости в этом нет.
Если имеется только один пользователь с уровнем привилегий 15, то удалять такого пользователя не рекомендуется.
Удалить пользователя, из-под которого запущена cs_console, технически возможно, но данное действие категорически не рекомендуется.
Если удаляется пользователь из системы, из-под которого не запущена cs_console:
· Пользователь успешно удален из системы: команда завершается успешно и пользователь удаляется из Cisco-like конфигурации.
· Пользователя в системе не существует: команда также завершается успешно и пользователь удаляется из Cisco-like конфигурации.
· Удаление пользователя не прошло (пользователь в системе остался): то команда завершается с ошибкой, пользователь не удаляется из Cisco-like конфигурации.
Выдаваемые сообщения
При попытке добавления нового пользователя могут возникать следующие ошибки:
Неправильный синтаксис имени пользователя (использование недопустимых символов): % 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).
Кроме указанной, возможны и другие причины появления данной ошибки, например исчерпание ресурсов. Такая ошибка может возникнуть при попытке создать пользователя с именем, совпадающим с именем группы пользователей (список групп можно посмотреть в файле /etc/group).
При попытке смены пароля пользователя может возникать ошибка: % User password change failed. Possibly the password violates some system policy (e.g. it's too short).
Отличие данной команды от подобной команды Cisco IOS:
· Не поддерживаются всевозможные варианты задания username и другие параметры:
· не поддерживается nopassword;
· не поддерживается шифрование пароля – не поддерживается команда username {name} password 7 {encrypted-password}.
· Имеется ограничение на длину имени пользователя.
· В cs_console команды username password и username secret являются взаимозаменяемыми – ввод любой из этих команд для существующего пользователя обозначает изменение пароля, независимо от того, как он был задан ранее. В Cisco: если пароль для пользователя задан командой username password (пароль хранится в открытом виде), то пароль нельзя потом изменить, используя команду username secret (пароль хранится в зашифрованном виде), и наоборот – если пароль для пользователя задан командой username secret, то потом изменить его командой username password нельзя. В обоих случаях выдается сообщение об ошибке.
Пример
Ниже приведен пример изменения пароля пользователя с именем "cscons":
Router(config)#username cscons password security
Router(config)#end