Архив метки: Вопросы читателей

Как пользоваться командой usermod в Linux?

usermod — это утилита командной строки, позволяющая изменять данные для входа пользователя.

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

Синтаксис команды usermod имеет следующий вид:

usermod [options] USER

Только root или пользователи с sudo доступом могут вызывать usermod и изменять учетную запись пользователя. В случае успеха команда не выводит никаких результатов.

Добавить пользователя в группу

Наиболее типичный вариант использования usermod — добавление пользователя в группу.

Чтобы добавить существующего пользователя во вторичную группу, используйте параметры -a -G после имени группы и имени пользователя:

usermod -a -G GROUP USER

Если вы хотите добавить пользователя сразу в несколько групп, укажите группы после -G параметра, разделенные, (запятыми), без пробелов.

Например, чтобы добавить пользователя linuxizeв gamesгруппу, вы должны выполнить следующую команду:

sudo usermod -a -G games linuxize

Всегда используйте опцию -a (добавить) при добавлении пользователя в новую группу. Если вы не укажете этот параметр, пользователь будет удален из групп, не перечисленных после -G параметра.

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

Изменить основную группу пользователя

Чтобы изменить основную группу пользователя, вызовите команду usermod с помощью параметра -g, следующего за именем группы и именем пользователя:

sudo usermod -g GROUP USER

В следующем примере мы меняем основную группу пользователя linuxize на developers:

usermod -g developers linuxize

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

Изменение информации о пользователе

Чтобы изменить информацию GECOS (полное имя пользователя), запустите команду с параметром -c, за которым следует новый комментарий и имя пользователя:

usermod -c "GECOS Comment" USER

Вот пример, показывающий, как добавить дополнительную информацию пользователю linuxize:

usermod -c "Test User" linuxize

Эта информация хранится в файле /etc/passwd.

Изменение домашнего каталога пользователя

В большинстве систем Linux домашние каталоги пользователей названы по имени пользователя и создаются в каталоге /home.

Если по какой-то причине вы хотите изменить домашний каталог пользователя, вызовите usermodкоманду, указав опцию -d, указав абсолютный путь к новому домашнему каталогу и имя пользователя:

usermod -d HOME_DIR USER

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

usermod -d HOME_DIR -m USER

Вот пример, показывающий, как изменить домашний каталог пользователя www-data на /var/www:

usermod -d /var/www www-data

Изменение пользовательской оболочки по умолчанию

Оболочка по умолчанию — это оболочка, которая запускается после входа в систему. По умолчанию в большинстве систем Linux в качестве оболочки по умолчанию используется Bash Shell.

Чтобы изменить оболочку пользователя по умолчанию, запустите команду с параметром -s, следующим за абсолютным путем оболочки и именем пользователя:

usermod -s SHELL USER

В приведенном ниже примере мы меняем оболочку пользователя на Zsh:

sudo usermod -s /usr/bin/zsh linuxize

Вы можете узнать, какие оболочки доступны в вашей системе, просмотрев /etc/shells содержимое файла.

Изменение UID пользователя

UID (идентификатор пользователя) — это номер, присвоенный каждому пользователю. Он используется операционной системой для обозначения пользователя.

Чтобы изменить UID пользователя, вызовите команду с -uпараметром, следующим за новым UID и именем пользователя:

usermod -u UID USER

В приведенном ниже примере показано, как изменить номер «UID» на «1050»:

sudo usermod -u 1050 linuxize

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

Изменение имени пользователя

Хотя не очень часто, иногда вам может потребоваться изменить имя существующего пользователя. Параметр -l используется для изменения имени пользователя:

usermod -l NEW_USER USER

В приведенном ниже примере мы переименование пользователя linuxizeк lisaна «1050»:

sudo usermod -l linuxize lisa

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

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

Дата истечения срока — это дата, когда учетная запись пользователя будет отключена. Чтобы установить дату истечения срока действия пользователя, используйте опцию -e:

sudo usermod -e DATE USER

Срок годности должен быть установлен в формате YYYY-MM-DD.

Например, чтобы отключить пользователя linuxize на 2022-02-21, вы бы выполнить следующую команду:

sudo usermod -e "2022-02-21" linuxize

Чтобы отключить истечение срока действия учетной записи, установите пустую дату истечения срока действия:

sudo usermod -e "" linuxize

Используйте chage команду -l, чтобы просмотреть дату истечения срока действия пользователя:

sudo chage -l linuxize

Last password change : Jul 24, 2018

Password expires : never

Password inactive : never

Account expires : never

Minimum number of days between password change : 0

Maximum number of days between password change : 99999

Number of days of warning before password expires : 7

Срок годности хранится в /etc/shadow файле.

Блокировка и разблокировка учетной записи пользователя

Опция -L позволяет заблокировать учетную запись пользователя:

usermod -L USER

Команды вставят восклицательный знак (!) перед зашифрованным паролем. Если поле пароля в /etc/shadow файле содержит восклицательный знак, пользователь не сможет войти в систему, используя аутентификацию по паролю. Другие методы входа в систему, такие как аутентификация на основе ключей или переключение на пользователя, по-прежнему разрешены. Если вы хотите заблокировать учетную запись и отключить все методы входа в систему, вам также необходимо установить дату истечения срока действия равной 1.

В следующих примерах показано, как заблокировать пользователя linuxize:

sudo usermod -L linuxize

sudo usermod -L -e 1 linuxize

Чтобы разблокировать пользователя, запустите usermodс -Uопцией:

usermod -U USER

Заключение

Мы показали вам, как использовать команду usermod для установки информации об учетной записи пользователя.

Не стесняйтесь оставлять комментарии, если у вас есть вопросы.



2021-01-25T10:07:27
Вопросы читателей

Можно ли запустить выполнение команд bash в фоновом режиме?

Нет ничего более раздражающего, чем запустить команду в своем терминале и заставить ее работать в течение минут, а иногда и часов, и не иметь возможности снова использовать свой терминал. Конечно, вы можете использовать вкладки, но это неуклюжее решение, и оно не всегда оптимально, потому что вы можете хотеть видеть обновления во время работы. Здесь мы покажем вам несколько различных способов запуска команд bash в фоновом режиме в Linux.

Завершите команду с помощью &

Если вы хотите поместить команду в фоновый режим, используйте & (амперсанд) в конце простой способ сделать это. Таким образом, вы можете выполнить команду в фоновом режиме и продолжать использовать свой терминал во время его работы. Однако у этого есть уловка. Использование &не отключает команду от вас; он просто отодвигает его на задний план. Это означает, что пока вы пытаетесь использовать терминал, все, что команда хочет отправить STDOUT или STDERR все еще будет напечатано, что может отвлекать.

COMMAND &

Когда сеанс терминала закрывается, команда завершается. Вы также можете убить команду jobs, выполнив команду, найдя номер выполняющейся команды и завершив ее с помощью killкоманды. Этот синтаксис выглядит следующим образом:

kill %1

Использование & хорошо, если вам нужно немного оттолкнуть что-то, но не ожидайте, что это будет продолжаться вечно.

& После команды, затем отклонить ее

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

Чтобы использовать этот метод, начните с добавления &.

COMMAND &

Как упоминалось выше, использование &этой команды переводит эту команду в фоновый режим, но не отключает ее от пользователя. Вы можете проверить это, набрав jobs в терминале. Он покажет, как команда работает в фоновом режиме, как мы видели раньше.

Просто введите disown в оболочку, и она сделает именно это. (И вы можете еще раз проверить это с помощью команды jobs.)

Теперь вы можете закрыть свой терминал и продолжить свой день. Он по-прежнему будет связывать вещи с STDOUT или STDERR, но как только вы выйдете и снова откроете свой терминал, вы ничего там не увидите. Вы можете снова найти команду с помощью команд top или ps и убить ее с помощью команды kill.

& После команды с /dev/null

Добавление & после команды переместит команду в фоновый режим, но в результате фоновая команда продолжит выводить сообщения в терминал по мере того, как вы его используете. Если вы хотите предотвратить это, подумайте о перенаправлении команды на /dev/null.

COMMAND &>/dev/null &

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

Nohup, с & и /dev/null

В отличие от предыдущих команд, использование nohup позволяет запускать команду в фоновом режиме и продолжать ее выполнение. Как? nohup обходит сигнал HUP (сигнал зависания), что позволяет запускать команды в фоновом режиме, даже когда терминал выключен. Объедините эту команду с перенаправлением на «/dev/null» (чтобы nohup не создавал файл nohup.out), и все перейдет в фон с помощью одной команды.

nohup COMMAND &>/dev/null &

Большинство терминальных программ в Linux сегодня имеют встроенные функции, позволяющие им работать в фоновом режиме без особых усилий. Наряду с этим современные системы инициализации (например, systemd) могут позволять пользователям запускать такие программы, как службы, при загрузке или в любое время.

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

К счастью, такие команды, как nohup или disown, все еще существуют и могут закрыть пробел в перемещении подобных программ на задний план. Они не идеальны или необычны, но они выполняют свою работу, когда это необходимо.



2021-01-22T13:46:49
Вопросы читателей

Что такое переменные Bash и как их использовать?

Bash позволяет отображать целые строки текста в отдельные переменные, упрощая его использование и написание скриптов. Как они работают и как их использовать? Давайте выясним.

Что такое переменная?

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

Переменные в реальном времени

Bash позволяет использовать переменные. Вы можете создавать переменные на лету и повторно использовать их во время текущего сеанса Bash. Они могут помочь вам использовать Bash по-разному, и они исчезнут после завершения текущего сеанса.

Например, предположим, что вы посещаете несколько сайтов. Вы можете проводить исследования или собирать данные . Вы можете создать следующую переменную:

sitea = https://www.maketecheasier.com

После этого, если вы хотите посетить наш сайт с помощью Firefox, вы можете просто ввести:

firefox $sitea

Намного проще — и читабельнее. Переменная $sitea будет оставаться отображаться на сайте, пока вы не изменили его содержимое вручную или сеанс Bash закончился. И, конечно же, вы можете создать несколько переменных, таких , как siteb, sitec, и sited.

При настройке новых переменных вы можете использовать любые имена по своему усмотрению и хранить в них любые буквенно-цифровые строки. Однако имейте в виду, что они по умолчанию чувствительны к регистру. Таким образом, $sitea не будет таким же, как $SiteA. Также обратите внимание, что вы должны использовать кавычки при сохранении строк со специальными символами внутри них (включая пробелы).

Переменные в скриптах

Переменные в Bash более полезны при написании сценариев, поскольку они позволяют вам написать один сценарий, который затем может выполнять итерацию по различным строкам или воздействовать на настраиваемые фрагменты данных. Допустим, вы пишете сценарий, который каждый может использовать на своем компьютере, но каждый раз будет отображать персонализированное приветствие. Без переменных вам пришлось бы писать разные версии скрипта для каждого пользователя. С переменными вы сохраняете тот же сценарий и меняете только имя пользователя.

Такой сценарий будет выглядеть примерно так:

#!/bin/bash 

username=Odysseas

echo $username

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

#!/bin/bash

username=Linus 

echo Привет, $username. Это простой сценарий, который я написал, который будет повторять ваше имя, то есть $username, часто как реальный пример того, как использовать переменные Bash. Я надеюсь, что это будет сделать это легче понять, как использовать переменные, чтобы улучшить свой рабочий процесс Баша, $username. В этом случае переменное имя пользователя сопоставляется с вашим именем. Всякий раз, когда Bash сталкивается с ним, он заменяет его на $username.

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

Постоянные переменные и псевдонимы Bash

Мы видели, как вы можете временно устанавливать переменные и как, для чего-то более постоянного, вы можете включать их в свои собственные скрипты. Но разве нельзя постоянно устанавливать переменные в Bash? Ответ — большое «да!» и вам нужно отредактировать только один файл: «~/.bashrc».

Откройте файл «~/.bashrc» в вашем любимом текстовом редакторе. Поскольку я предпочитаю нано, я сделал это с помощью:

nano ~/.bashrc

Мы предлагаем вам начать с пробного запуска, добавив только одну переменную, чтобы вы знали, где искать, если процесс не сработает. Переместитесь в конец файла и в новой строке добавьте свою переменную. Например, я установил переменную для своего имени как:

myname="Odysseas Kourafalos"

Сохраните файл и выйдите из редактора. Настройки будут применены не сразу. Введите в свой терминал следующее, чтобы оно вступило в силу:

source ~/.bashrc

Теперь вы можете использовать вновь установленную переменную в сеансе Bash:

echo $myname

Вы можете установить столько переменных, сколько захотите, и значительно упростить свои ежедневные приключения в Bash.

Для дополнительного повышения производительности стоит также настроить другой тип переменной: псевдонимы. В отличие от типичных переменных, которые сопоставляются с данными, которые вы можете использовать в командах, вместо реальных команд используются псевдонимы.

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

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



2021-01-22T13:28:37
Вопросы читателей

Как установить приложение Signal Messaging на последнюю версию Ubuntu

Приложение для обмена сообщениями Signal — это новый продукт высокого качества для обмена сообщениями между людьми в Интернете с помощью веб-приложений и приложений для телефона для связи по всему миру. Он известен своей конфиденциальностью и использует специальные методы шифрования, чтобы все ваши сообщения оставались только вам. Это безопасное приложение, использующее протокол сквозного шифрования и не передающее данные другим приложениям. Вам может быть интересно, доступен он для Linux или нет? Ответ положительный! это многоплатформенное приложение, доступное также для мобильных телефонов и настольных компьютеров.

Это руководство посвящено установке приложения Signal Messaging в Ubuntu. Есть несколько способов получить Signal в Ubuntu, давайте рассмотрим их один за другим:

Установка приложения Signal Messaging в Ubuntu с помощью программного центра

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

Щелкните значок поиска и введите «Signal Desktop»:

Он появится в списке, откройте его и нажмите кнопку установки:

После завершения загрузки и установки приложение Signal можно будет просмотреть в приложениях:

Откройте это:

Установка приложения Signal Messaging на Ubuntu с помощью оснастки

Второй подход — установка Signal через оснастку. Snap поддерживается многими дистрибутивами Linux, такими как Debian, Linux Mint, Elementary OS и т.д. Установка приложений через Snap проста, и они автоматически обновляются. Используйте указанную ниже команду для установки Signal для рабочего стола:

$ sudo snap install signal-desktop

Установка приложения Signal Messaging в Ubuntu с помощью APT

Третий способ — установка Signal с помощью APT. Во-первых, скопируйте следующую команду и вставьте в терминал, чтобы установить официальный ключ подписи программного обеспечения:

$ wget -O- https://updates.signal.org/desktop/apt/keys.asc | sudo apt-key add -

Теперь, чтобы добавить официальный репозиторий:

$ echo "deb [arch=amd64] https://updates.signal.org/desktop/apt xenial main" | sudo tee -a /etc/apt/sources.list.d/signal-xenial.list

Обновите список пакетов, используя:

$ sudo apt update

Теперь установите приложение Signal, используя:

$ sudo apt install signal-desktop

Удаление приложения Signal Messaging из Linux

Если приложение установлено в Ubuntu с помощью программного центра, затем откройте программный центр, снова щелкните вкладку «Установлено», найдите «Сигнал» и нажмите «Удалить»:

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

$ sudo snap remove signal-desktop

Если он установлен через «apt», используйте:

$ sudo apt remove signal-desktop

Заключение

Signal — это кроссплатформенное приложение для обмена сообщениями, которое является бесплатным и безопасным приложением. В этом руководстве мы узнали, как установить Signal в Ubuntu с помощью программного центра, а затем как получить его в Ubuntu и других дистрибутивах Linux с помощью терминала. Мы также разобрались с процессом удаления приложения Signal с вашего настольного устройства.



2021-01-19T11:49:50
Вопросы читателей

Можно ли разрешить или запретить доступ по SSH определенному пользователю или группе?

Это краткое руководство проведет вас через шаги, чтобы разрешить или запретить SSH-доступ определенному пользователю или группе в Linux. Оно будет полезно, если вы хотите разрешить конкретному пользователю выполнять только определенный набор команд. В этой статье мы собираемся включить или отключить доступ по SSH для пользователя или группы, внеся несколько изменений в файл конфигурации SSH по умолчанию.

В конфигурационном файле openSSH по умолчанию есть две директивы для разрешения и запрета доступа по SSH определенным пользователям или группе. Во-первых, давайте посмотрим, как разрешить или включить SSH-доступ для пользователя и группы. Обратите внимание, что все приведенные ниже команды должны запускаться от имени пользователя root или sudo.

1. Разрешить SSH-доступ пользователю или группе

Чтобы разрешить доступ по SSH для определенного пользователя, например sk, отредактируйте файл sshd_config:

$ sudo vi /etc/ssh/sshd_config

Нажмите «i», чтобы войти в режим вставки и добавить или изменить следующую строку:

AllowUsers sk

Замените «sk» своим именем пользователя. Обратите внимание на  отступы между «AllowUsers» и «sk». Вы должны использовать Tab вместо пробела. Значение — добавьте слово «AllowUsers» и нажмите клавишу Tab, а затем укажите имя пользователя.

Вы также можете указать более одного пользователя, как показано ниже.

AllowUsers user1 user2

Чтобы разрешить всю группу, например, root , добавьте/отредактируйте следующую строку:

AllowGroups root

Этот параметр позволит всем членам «корневой» группы подключаться к серверу Linux по ssh.

Нажмите клавишу ESC, чтобы выйти из режима вставки, и введите : wq, чтобы сохранить и выйти из файла конфигурации SSH. Перезапустите службу SSH, чтобы изменения вступили в силу.

$ sudo systemctl restart sshd

Теперь пользователю sk и всем членам «корневой» группы разрешено подключаться к вашему Linux-серверу по ssh. Остальные пользователи (кроме sk и членов группы «root») не имеют доступа к системе через ssh.

Чтобы проверить это, попробуйте подключиться к серверу Linux по ssh от имени любого из запрещенных пользователей:

$ ssh ostechnix@192.168.225.52

Вы получите следующее сообщение об ошибке:

ostechnix@192.168.225.52's password: 

Permission denied, please try again.

2. Запретить доступ по SSH пользователю или группе

Чтобы отключить или запретить доступ по SSH для пользователя или группы, вам необходимо добавить/изменить следующие директивы в файле sshd_config вашего удаленного сервера.

  • DenyUsers
  • DenyGroups

Чтобы запретить доступ по SSH конкретному пользователю с именем «sk», отредактируйте файл sshd_config:

$ sudo vi /etc/ssh/sshd_config

Добавьте/отредактируйте следующую строку в файле sshd_config.

DenyUsers sk

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

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

DenyUsers user1 user2

Аналогичным образом, чтобы запретить доступ по SSH для всей группы, например root , добавьте:

DenyGroups root

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

$ sudo systemctl restart sshd

Теперь попробуйте ssh на свой Linux-компьютер из заблокированной учетной записи пользователя, например sk:

$ ssh sk@192.168.225.52

Вы получите следующее сообщение:

sk@192.168.225.52's password: 

Permission denied, please try again.

sk@192.168.225.52's password:

3. Отключить вход в систему через SSH-root

Доступ с root-доступом по ssh считается плохой практикой с точки зрения безопасности . Поэтому настоятельно рекомендуется отключить вход в систему SSH Root для защиты вашей системы.

Чтобы отключить вход в систему root ssh, отредактируйте файл sshd_config:

$ sudo vi /etc/ssh/sshd_config

Найдите следующую строку, раскомментируйте ее и установите значение no .

PermitRootLogin no

Перезапустите службу SSH, чтобы изменения вступили в силу немедленно:

$ sudo systemctl restart sshd

Теперь вы знаете, как предоставлять и ограничивать доступ по SSH для определенных пользователей или групп в Linux. Вы также узнали, как запретить или отключить вход root по SSH в Linux. Это одна из рекомендуемых мер безопасности, которую должен применять каждый администратор Linux при настройке сервера Linux.



2021-01-18T17:58:00
Вопросы читателей

Каким образом я могу изменить переменные среды Windows 10?

Программистам, системным администраторам и опытным пользователям может потребоваться в какой-то момент поработать с переменными среды. Некоторые могут захотеть удалить переменную среды; другие захотят изменить его значение и так далее. В этом руководстве рассказывается, как редактировать или удалять переменные среды, а также как отключить переменные среды в Windows:

Откройте окно переменных среды

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

Если вы хотите пропустить его чтение, один путь, который работает одинаково во всех версиях Windows, — это открыть окно «Выполнить» (Win + R), командную строку или PowerShell и выполнить команду: rundll32.exe sysdm.cpl,EditEnvironmentVariables.

Как редактировать переменную среды в Windows

Если вы хотите изменить значение существующей переменной среды, сначала выберите ее в окне «Переменные среды». Затем щелкните или коснитесь «Изменить».

Вам будет показано окно, в котором вы можете редактировать как имя, так и значение переменной. Внесите желаемые изменения и нажмите ОК . Затем еще раз нажмите OK в окне переменных среды .

Как редактировать переменную среды из командной строки

Вы также можете создать новую переменную среды или изменить значение существующей переменной среды (но не ее имя) из командной строки . Вам нужно ввести следующую команду:

  • setx variable_name "value", если вы хотите создать переменную среды пользователя
  • setx variable_name "value" /m, если вы собираетесь создать системную переменную среды

Например, мы набрали setx TEST "C:digitalcitizen" и создали пользовательскую переменную TEST со значением C:digitalcitizen.

Если мы хотим изменить значение переменной среды, мы можем запустить ту же команду setx, но указать новое значение для переменной. Например, выполнение setx TEST "C:DC" изменяет значение переменной среды TEST на C:DC.

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

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

ПРИМЕЧАНИЕ. Вы можете получить список всех доступных переменных среды, выполнив команду set в командной строке (не setx и без каких-либо параметров). Однако, если вы только что создали или отредактировали переменную среды, необходимо закрыть и снова открыть командную строку, чтобы изменения отобразились.

Как редактировать переменную среды из PowerShell

Вы также можете создать или изменить значение существующей переменной среды из PowerShell . Команда PowerShell для этого:

  • [Environment]::SetEnvironmentVariable("variable_name","variable_value","User"), если вы хотите создать переменную среды пользователя.
  • [Environment]::SetEnvironmentVariable(“variable_name”,”variable_value”,”Machine”), если вы хотите создать системную переменную среды.

Например, мы набрали [Environment]::SetEnvironmentVariable(“TEST”,”digitalcitizen.life”,”User”), чтобы создать переменную пользовательской среды под названием TEST со значением digitalcitizen.life. Чтобы изменить значение переменной позже, мы можем запустить ту же команду с другим значением. Как и setx в командной строке, эта команда переписывает значение указанной переменной каждый раз, когда вы ее запускаете.

Если вы хотите присвоить переменной несколько значений, введите их все в команду, разделяя их точками с запятой, как показано ниже.

ПРИМЕЧАНИЕ. В PowerShell вы можете получить список всех переменных среды, выполнив команду Get-ChildItem Env:. Однако, если вы только что создали или отредактировали переменную среды, вам необходимо закрыть и снова открыть PowerShell, чтобы изменения отобразились.

Как очистить значение переменной среды в Windows (из командной строки)

Если вы хотите удалить значение переменной среды (сохранив ее имя), вы не можете сделать это с помощью мыши и клавиатуры из окна переменных среды . Если вы выберете переменную и нажмете «Изменить», вы можете удалить значение, но не можете нажать «ОК», так как эта кнопка становится серой. Поэтому вы не можете сохранить свои изменения.

Однако вы можете очистить значение переменной среды с помощью командной строки. Чтобы отменить установку переменной среды из командной строки , введите команду setx variable_name "". Например, мы набрали setx TEST "", и эта переменная среды теперь имела пустое значение.

Далее давайте посмотрим, как удалить переменную среды.

Как удалить переменную среды в Windows

Если вы больше не хотите использовать конкретную переменную среды, выберите ее в окне «Переменные среды». Затем нажмите Удалить. Windows не запрашивает подтверждения этого действия. Поэтому, если вы передумали, необходимо нажать Отмена, чтобы удаление не применялось. Если вы хотите, чтобы удаление продолжилось, нажмите ОК .

Как удалить переменную среды из командной строки

Чтобы удалить переменную среды из командной строки , введите одну из этих двух команд в зависимости от типа этой переменной:

  • REG delete "HKCUEnvironment" /F /V "variable_name", если это переменная среды пользователя, или
  • REG delete "HKLMSYSTEMCurrentControlSetControlSession ManagerEnvironment" /F /V "variable_name", если это системная переменная среды.

Например, мы набрали REG delete "HKCUEnvironment" /F /V "TEST", и наша переменная среды TEST исчезла из профиля пользователя.

Как удалить переменную среды из PowerShell

Чтобы отменить установку и удалить переменную среды из PowerShell , введите команду:

  • [Environment]::SetEnvironmentVariable("variable_name", $null ,"User"), если это переменная профиля пользователя, или
  • [Environment]::SetEnvironmentVariable("variable_name", $null ,"Machine"), если это общесистемная переменная.

Например, мы набрали [Environment]::SetEnvironmentVariable("TEST", $null ,"User"), и эта переменная среды исчезла из профиля пользователя.

Это оно!



2021-01-18T10:07:29
Вопросы читателей