Админу на заметку - 25. CMDKEY или вы до сих пор вводите пароли?

  • Автор:

cmdkey-000.pngОперационные системы семейства Windows содержат много небольших утилит, делающих жизнь администратора проще и удобнее. Но не все из них на слуху, многие незаслуженно обделены вниманием, и, как показал читательский отклик, cmdkey - одна из них. Основная задача этой утилиты - управление учетными данными для доступа по сети и ее возможности трудно переоценить, особенно в одноранговых сетях. Поэтому, если вы или ваши пользователи испытывают затруднения с паролями, теряют доступ к сетевым ресурсам - то вам пора начать применять cmdkey, а как это сделать мы расскажем в данной статье.

Отношения пользователей и паролей в одноранговых сетях обычно бывают напряженными. Поэтому чаще всего используется гостевая модель доступа, но есть ряд сценариев, когда она неприемлема. Чтобы не быть голословными, приведем пару примеров из жизни.

На компьютере главного бухгалтера установлена 1С, доступ к базе, расположенной на общем ресурсе, должны иметь только бухгалтера, при этом они не должны знать пароля главного бухгалтера. Или у вас есть файловый сервер, доступ к ресурсам которого должен быть разделен между сотрудниками, скажем, чтобы менеджеры отдела продаж не имели доступа к папкам бухгалтерии. Также часто возникает вопрос доступа к различным ресурсам с админскими правами, например, для оснастки управления Hyper-V Server.

Обычно эти вопросы решаются двумя путями: завести на нужном узле все учетные записи пользователей, либо войти с нужного ПК с нужными учетными данными и запомнить пароль. Первый способ подходит в основном для серверов, а второй не отличается стабильностью, система время от времени начинает "забывать" пароли. При этом ситуация может осложняться тем, что пользователь не должен знать используемый пароль (скажем, главбух не хочет, чтобы бухгалтера в ее отсутствие могли войти в систему на ее ПК).

Существует и ряд иных задач, когда нужно входить на удаленный узел с учетными данными отличными от текущих, причем в доменных сетях, с их единым механизмом аутентификации это может быть даже более актуально.

Во всех этих и подобных случаях на выручку придет небольшая утилита командной строки cmdkey. Она позволяет задать учетные данные для доступа к определенному узлу сети. Синтаксис ее прост, для добавления учетных данных используйте:

cmdkey /add:SERVER /user:Ivanov /pass:MyPa$$word

где SERVER - имя сетевого узла, в зависимости от условий вы можете использовать как плоское имя, так и FQDN, следующие две опции задают имя пользователя и пароль, в особых пояснениях не нуждаясь. Для доменных сетей имя пользователя следует указывать вместе с именем домена. Скажем так:

cmdkey /add:srv-01.interface31.lab /user:INTERFACE31.LAB\Ivanov /pass:MyPa$$word

или так:

cmdkey /add:srv-01.interface.lab /user:Ivanov@interface31.lab /pass:MyPa$$word

Ключ add задает учетные данные для сетевого входа в систему, если же вам нужно добавить учетные данные для иных сервисов, скажем терминального сервера, то следует использовать ключ generic:

cmdkey /generic:termsrv/SRV-RDP /user:Ivanov /pass:RdpPa$$word

Все учетные данные, введенные при помощи cmdkey хранятся в системном хранилище и недоступны пользователю. Это безопасно и дает в руки администратора определенную гибкость. Он может на ПК бухгалтеров указать учетные данные для доступа к компьютеру главбуха, но ее пароль останется для них неизвестным.

Посмотреть список сохраненных учетных данных можно командой:

cmdkey /list

cmdkey-001.pngУдалить учетные данные можно следующим образом:

cmdkey /delete:srv-01.interface.lab

Также cmdkey позволяет быстро удалить учетные данные для всех коммутируемых соединений (PPPoE, VPN и т.д.):

cmdkey /delete /ras

Как видим, статья получилась очень даже короткой, в отличие от широких возможностей, которые предоставляет небольшая утилита cmdkey. Надеемся, что данный материал будет полезен широкому кругу администраторов и поможет им в их повседневной деятельности.