Добавляем нового пользователя в группу в Linux

Подробно и понятно объясняем, как в терминале Linux создать пользователя, добавить его в группу, задать пароль и многое другое!

Различные сценарии при добавлении пользователя в группу

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

§  Существование пользователя — команды обычно различаются в зависимости от того, существует ли пользователь в системе,

§  Категория группы — основная группа, к которой принадлежит пользователь, называется основной группой. Как правило, эта группа имеет то же имя, что и имя пользователя. Другие группы, к которым принадлежит пользователь, называются вторичными группами. Есть и другие группы, в которые пользователь вообще не входит.

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

Учитывая все эти факторы, мы представляем только две команды для добавления пользователей в группы. Но они представлены с учетом того, что пользователь, вводящий эти команды, является суперпользователем /root (может выполнять sudo).

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

Надеюсь, вы поняли смысл и важность групп в системе Linux, другими словами, если ваш пользователь не состоит в какой-то определенной группе, то вы ограничены в системе не имя доступа к той или иной информации. Более подробно прочитать о группах вы сможете на ARCH WIKI. Ну а мы идем дальше, для более универсального способа добавления пользователя в группу будем рассматривать терминал. Так как работа в терминале одинакова в каждом дистрибутиве и не зависит от оболочки рабочего стола. Разумеется, добавить пользователя в группу можно и при помощи графического интерфейса, но, как говорилось выше, рассмотрим универсальный способ, который не привязать к графическому интерфейсу – терминал. И так, давайте сначала разберемся с опциями:

-a Добавляем пользователя в дополнительные группы.

-G Дополнительные группы.

Стоит оговориться, что если вы не будете использовать опцию -a, а будете использовать только -G, то вы сотрете все группы которые были созданы ранее. Что собственно приведет к некоторым проблемам. Другими словами, используйте эти опции всегда вместе. Сама же команда выглядит следующим образом “usermod”, затем указываем опции “-a -G”, далее указываем группу, предположим “sambashare” и последним указываем пользователя, которого хотим добавить в эту группу:

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

sudo usermod -a -G sambashare cyber-x

Что бы просмотреть весь список существующих групп, достаточно ввести команду:

groups

Введение

Linux[email protected]:~$имя пользователясимвол @ имя системыПРИМЕЧАНИЕ:

Ады Лавлейс/home/matthewEnter

Список

  1. pwd

    pwd расшифровывается как «Print Working Directory» («вывести текущий каталог»). Эта команда возвращает ваше местоположение в файловой системе, например, /usr/share или /home/matthew. Это может оказаться полезно при склерозе, если вы забудете, где находитесь.

  2. ls

    При использовании в отдельности, команда ls выводит список всех файлов и подкаталогов в текущем каталоге. Можно также использовать ls для вывода списка всего содержимого любого каталога, не переходя к нему, за счет добавления к команде адреса этого каталога, например: ls etc/python.

  3. cd

    Эта команда приводит к смене текущего каталога на заданный. Например, команда cd /var/log перенесет вас в подкаталог log, находящийся в каталоге var.

  4. touch

    Команда touch создает пустой файл с заданным именем. Создайте файл прямо сейчас и воспользуйтесь командой cd, чтобы убедиться, что он был создан в текущем каталоге: touch examplefile.

  5. rm

    Команда rm удаляет файл. Для удаления созданного вами выше файла, введите: rm examplefile.

  6. mkdir

    Команда mkdir создает каталог. Создайте каталог прямо сейчас и воспользуйтесь командой cd, чтобы убедиться, что он был создан в текущем каталоге: mkdir exampledirectory.

  7. rmdir

    Команда rmdir удаляет каталог. Для удаления созданного вами выше каталога, введите: rm exampledirectory.

  8. mv

    Команда mv перемещает заданный файл или каталог в указанное место. Её можно также использовать для переименования файлов и каталогов. При желании, можно сделать и то, и другое одной командой. Например, давайте переместим файл с именем sample из текущего каталога в существующий подкаталог stuff с одновременным изменением имени этого файла на example: mv sample stuff/example.

  9. cp

    Команда cp копирует заданный файл или каталог в указанное вами место, возможно, с заданным вами новым именем файла/каталога. Воспользуемся тем же примером: cp sample stuff/example. Различие между mv и cp в том, что во втором случае исходный файл остается на своём месте.

  10. man

    Команда man отображает страницу справочника для заданной команды. Каждая из описанных выше команд способна на гораздо большее, чем мы уже узнали. На деле, это была лишь верхушка айсберга. У большинства команд есть опции, называемые параметрами, предназначенные для изменения их поведения по умолчанию. Например, если вы введете man ls и прочитаете страницу справочника для этой команды, то узнаете о существовании чрезвычайно удобных опций, таких как ls -al, которая позволяет вывести список не только с именами файлов и каталогов, но и очень полезными метаданными каждого файла и каталога.

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

С помощью команды chfn можно внести или изменить информацию учетной записи пользователя (ФИО, рабочий телефон, рабочие координаты и т.д, username — имя пользователя):

chfn -f полное_имя -о office -p рабочий_телефон -h домашний_телефон -u -v username

Для задания пароля используется команда passwd:

passwd username

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

Если мы хотим дать пользователю возможность сменить пароль при первом входе в систему, следует ввести команду:

change -d 0 username

Команда sudo и примеры ее использования

Команда sudo тесно связана с root в Linux, поскольку отвечает за передачу прав суперпользователя и позволяет от его имени выполнять команды в Терминале. Существует несколько ее вариаций, использующихся при разных обстоятельствах. Подходит эта команда как для выполнения всего одного действия, так и для передачи прав на всю текущую сессию.

Самый простой пример использования sudo – запуск программы от имени суперпользователя. Для этого вводится:

sudo program \\ program – название приложения, которое вы хотите запустить

Еще sudo применяется для установки софта, команда в таком случае обретает вид:

sudo apt install program

Если же вы желаете использовать сразу несколько команд, например, введя sudo cat | grep text > , появится ошибка, поскольку при выполнении второй команды права суперпользователя отсутствуют, а значит, запись в файл невозможна. Решается такая ситуация добавлением sudo перед каждым выражением.

В следующем разделе статьи речь пойдет о передаче прав суперпользователя, что тоже реализуемо при помощи sudo. Я рассмотрю два полезных аргумента. Советую ознакомиться с ними, если хотите упростить выполнение действий через Терминал.

Заключение, несколько советов

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

Двойной символ & (амперсанд)

Предназначен для выполнения нескольких команд последовательно:

команда1 && команда2 && команда3

Вертикальная черта | (pipe)

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

ps axu | grep имя_процесса

Стрелки вверх и вниз на клавиатуре

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

history — история

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

Новая вкладка bash

Не всегда удобно иметь несколько окон. Терминал, как браузер, дает возможность открыть несколько вкладок сочетанием клавиш Ctrl+Shift+T.

Копирование и вставка, прерывание команды

Пробовали ли вы копировать текст и вставлять в терминал? Пробовали Ctrl+C? Ctrl+C прервет выполнение текущей команды, например таблицы процессов, сбросит текст, введенный в строку. Скопировать текст из bash — Ctrl+Shift+C. Вставить текст в bash — Ctrl+Shift+V.

Управление процессами

  • bg number – список остановленных и фоновых задач/продолжить выполнение остановленной задачи в фоне, имеющей номер number
  • fg number – выносит на передний план последние задачи
    • n – вынести задачу n на передний план
  • kill pid – убить процесс с id pid
    • -TERM pid — попытаться завершить процесс с pid — сигналом SIGTERM (этот сигнал может быть обработан или проигнорирован программой).
    • -KILL pid — Завершить процесс принудительно, убить процесс в независимости от его состояния сигналом SIGKILL (процесс не может проигнорировать сигнал)
  • killall proc – убить все процессы с именем proc *
  • lsof pid — просмотр открытых файлов, процессом с pid
  • nice -n value script — изменение приоритета запускаемого процесса script на значение, равное value (может быть от -20 до 19, в порядке уменьшения приоритета, т.е. -20 — самый высокий)
  • nohub script- разрешение запускаемому процессу script , быть устойчивому к закрытию (при выходе пользователя процесс продолжит свое выполнение)
  • nproc — Указывает число дочерних процессов, имеющихся в данном процессе
  • pgrep — Ищет процессы по их именам и другим атрибутам
  • pidof proc1 proc2 — вывести PID всех запрошенных процессов
  • ps – вывести ваши текущие активные процессы
    • -a — связанные с конкретным терминалом, кроме главных системных процессов сеанса
    • a — процессы, связанные с текущим терминалом, а также процессы других пользователей;
    • x — процессы, отсоединённые от терминала (демоны, службы)
    • -u — отображение пользователя (владельца процесса)
    • aux — вывод всех процессов в системе
    • lax — вывод всех процессов в системе (UID не преобразуется в имя пользователя)
    • -ejH — Вывод процессов в виде дерева
    • -С process -o col — вывод информации из колонки col о процессе process (col бывают следующие: USER — имя пользователя, PID, %CPU — % использования CPU, %MEM — % использования памяти, VSZ — виртуальный размер процесса, в Кб, RSS — объем используемой физической памяти, в Кб, TTY — идентификатор управляющего терминала, STAT — текущий статус процесса, м/б D — ожидание вв/выв, R — запущен, S — ожидание, T — остановлен, W — процесс выгружен на диск, X — процесс уничтожен, Z — зомби и др…, START — время запуска процесса, TIME — время ЦП для процесса, COMMAND — команда, запустившая процесс)
    • -u user — отобразить процессы пользователя user
  • pstree — команда отображает дерево запущенных процессов. (ИМХО-отличная программа, дает очень наглядное представление о запущенных процессах в системе)
    • -a — отображение процессов с аргументами запуска командной строки
    • -h — подсвечивает текущий процесс и его предков
    • -u — показывает UID процесса. (Когда uid процесса отличается от uid родителя , то новый uid показывается после имени процесса ,заключенным в круглые скобки)
  • pwdx — Сообщает о текущем рабочем директории процесса
  • sysctl — Модифицирует параметры ядра в режиме реального времени
  • top – показать все запущенные процессы в интерактивном режиме (с возможностью сортировки по загрузке ЦП/памяти/т.п.):
    • h — справка о программе
    • k — уничтожить процесс
    • n — число отображаемых процессов
    • u — сортировать по имени пользователя
    • — сортировать по объему ОЗУ
    • — сортировать по загрузке ЦП
    • — изменить приоритет выполнения
    • — выход
  • renice -value PID— изменение приоритета запуЩЕННОГО процесса с PID=PIDна значение, равное value (может быть от -20 до 19, в порядке уменьшения приоритета, т.е. -20 — самый высокий)

Создать группы в Linux

Создать новую группу:

sudo groupadd Название_группы

Удалить группу в Linux:

sudo groupdel Название_группы

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

sudo usermod -aG Название_группы Имя_Пользователя

Удалить пользователя из группы:

sudo deluser Название_группы Имя_Пользователя

Читайте далее как работать с командами chown и chmod.

У вас еще остались вопросы? Пишите их в комментариях, рассказывайте, что у вас получилось или наоборот!

Вот и все! Больше полезных статей и инструкций читайте в разделе Статьи и Хаки Linux. Оставайтесь вместе с сайтом Android +1, дальше будет еще интересней!

Как подключиться к сетевой папке Windows из Linux

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

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

Для входа в интерактивный режим запустите команду вида:

Например, я хочу подключиться к компьютеру //HACKWARE-MIAL/ и выполнить действия с файлами в сетевой папке Share, тогда моя команда следующая:

Как подключиться к сетевой папке Windows из Linux

Если вы хотите, чтобы при подключении была изменена текущая рабочая директория в сетевой папке, то есть чтобы была открыта другая папка, то используйте опцию -D. К примеру, я хочу подключиться к папке NewFolder, тогда команда следующая:

Подключение к SMB папке, требующий авторизации

К примеру, на компьютере //HACKWARE-MIAL/ имеется сетевая папка ShareRestricted, права на просмотр которой есть у пользователя ShareOverlord. Для просмотра шары, защищённой паролем, нужно использовать команду вида:

В моём случае это команда:

Читайте также:  Регулярные выражения в командной оболочке Bash