Како додати, изменити и уклонити корисника у Линуку?

Управљање корисницима у било ком оперативном систему један је од основних рутинских задатака администратора система.

За ОС заснован на Линук-у, то обично укључује креирање корисничких налога, модификовање постојећих налога као што је промена њиховог кућног директоријума, подразумеване љуске, закључавање/откључавање једног или више налога и уклањање корисничких налога.

Пре него што истражимо команде и процесе за обављање ових задатака, хајде да се укратко позабавимо тиме како се кориснички налози могу класификовати у Линук-у. Такође, имајте на уму да ће дате команде, осим ако није експлицитно наведено, радити у већини уобичајених Линук дистрибуција.

Типови корисника

Роот Усер

Роот корисник је администратор ОС-а са свим дозволама за обављање операција. Обично само роот може да инсталира/деинсталира или ажурира основне системске програме и библиотеке. То је једини кориснички налог са системским привилегијама.

Дакле, роот корисник је најмоћнији корисник система.

Специјални корисник

Ово су корисници без логин-а. Они немају све привилегије роот корисника. У зависности од налога, они преузимају различите специјализоване улоге.

Они се креирају аутоматски у тренутку инсталације било које апликације. бин, синц, лп, маил, оператор, скуид су неки од примера посебних корисника.

Уобичајени корисници

Уобичајени корисници имају пуне привилегије само у свом радном директоријуму, обично у свом кућном директоријуму. Они немају привилегије да управљају системом или инсталирају софтвер. Они не могу да обављају ове задатке без посебних привилегија преко судо-а.

Додавање корисника

Дебиан/Убунту

На систему заснованом на Дебиан-у или Убунту-у постоји неколико опција за додавање корисника из ЦЛИ-а. Прва команда је аддусер, која је Перл скрипта и користи усерадд команду у позадини чију употребу ћемо видети касније.

Пошто је додавање корисника привилегован задатак, требало би да користите судо као префикс и корисничко име као аргумент. Други детаљи се могу навести како се то затражи. Осим корисничког имена и лозинке, остали детаљи су опциони. Можемо да проверимо да ли је корисник креиран коришћењем наредбе ид.

$ sudo adduser johndoe
Adding user `johndoe' ...
Adding new group `johndoe' (1003) ...
Adding new user `johndoe' (1003) with group `johndoe' ...
Creating home directory `/home/johndoe' ...
Copying files from `/etc/skel' ...
New password:
Retype new password:
passwd: password updated successfully
Changing the user information for johndoe
Enter the new value, or press ENTER for the default
        Full Name []: John Doe
        Room Number []:
        Work Phone []:
        Home Phone []:
        Other []:
Is the information correct? [Y/n] Y
$
$ id johndoe
uid=1003(johndoe) gid=1003(johndoe) groups=1003(johndoe)
$

ЦентОС/РХЕЛ/Федора (укључујући Дебиан/Убунту)

Следећа команда, усерадд ће радити на РХЕЛ дистрибуцијама ОС-а, као и подједнако добро на Убунту/Дебиан хостовима. Најједноставнија синтакса (без икаквих додатних опција) за креирање новог корисника је:

$ sudo useradd <username>

Пример:

$ sudo useradd janedoe

Команда усерадд подржава више опција које се могу навести приликом креирања корисника, а најчешће су ИД корисника (УИД), ИД групе (ГИД), подразумевана шкољка и кућни директоријум, итд. Један такав пример је дат у наставку:

$ sudo useradd -s /bin/sh -d /data/newhome -c "Jane Doe" -u 1005 janedoe

Можете верификовати новокреираног корисника користећи ид команду:

$ id janedoe
uid=1005(janedoe) gid=1005(janedoe) groups=1005(janedoe)
$

Измена корисника

Често треба модификовати нека својства постојећих корисника на основу захтева организације, корисничких захтева или миграција система. Већину ових својстава је лако изменити, мада морамо да обезбедимо како ће то утицати на корисничко окружење и приступ датотекама у власништву или којима корисник приступа.

  Колико је кашњење у Гоогле Цлоуд-у (ГЦП) између региона?

Подразумевана шкољка

Подразумевана љуска је ЦЛИ љуска креирана када корисник покрене нову ЦЛИ сесију локално или преко ССХ. Већина модерних система има подразумеваног корисника Басх, иако може да варира у зависности од дистрибуције Линук-а или корисничког окружења. Да бисте изменили подразумевану љуску корисника, користите:

$ sudo usermod -s <shell> <username>

Пример:

$ getent passwd janedoe
janedoe:x:1005:1005::/data/newhome:/bin/sh
$ sudo usermod -s /bin/bash janedoe
$ getent passwd janedoe
janedoe:x:1005:1005::/data/newhome:/bin/bash
$

Као што можете видети у горњем излазу, љуска је промењена из /бин/сх у /бин/басх за корисника јанедое.

Хоме Дирецтори

Попут подразумеване љуске, кућни директоријум корисника може да се промени на другу локацију користећи:

$ sudo usermod -d <new_directory_path> <username>

У примеру испод, кориснички кућни директоријум корисника јанедое је промењен у /дата/јанедое:

$ getent passwd janedoe
janedoe:x:1005:1005::/data/newhome:/bin/bash
$ sudo usermod -d /data/janedoe janedoe
$ getent passwd janedoe
janedoe:x:1005:1005::/data/janedoe:/bin/bash
$

Пре него што извршите пребацивање, уверите се да нови директоријум има право власништво и дозволе. У супротном, корисник се може суочити са проблемима током пријављивања или рада у новом кућном директоријуму.

ИД корисник

Можете да промените кориснички ИД постојећег корисника користећи:

$ sudo usermod -u <new_uid> <username>

Пример:

$ getent passwd janedoe
janedoe:x:1005:1005::/data/janedoe:/bin/bash
$ sudo usermod -u 1010 janedoe
$ getent passwd janedoe
janedoe:x:1010:1005::/data/janedoe:/bin/bash
$

Опет, промена УИД-а мења начин на који Линук систем датотека мапира власништво и дозволу за датотеку или директоријум. Уверите се да је корисников кућни директоријум и његов садржај и све друге датотеке било где у систему, који су првобитно у власништву корисника (са старим УИД-ом), промењени у УИД мапирани. Ако то не урадите, може доћи до проблема у ЦЛИ сесији и корисниковом приступу фајловима.

  Како избрисати покварене модове из фасцикле Симс 4 Модс

Подразумевана група

Подразумевана група је обично подразумевани ИД групе корисника, који се креира током креирања корисника осим ако није наведен други ГИД. Линук вам такође омогућава да измените подразумевану групу корисника користећи команду усермод. Ево синтаксе коју треба користити:

$ sudo usermod -g <new_gid or group_name> <username>

Ево једног примера:

$ getent passwd janedoe
janedoe:x:1010:1005::/data/janedoe:/bin/bash
$ sudo usermod -g 1001 janedoe
$ getent passwd janedoe
janedoe:x:1010:1001::/data/janedoe:/bin/bash
$

Опет, уверите се да је нови ИД групе постављен на корисников кућни директоријум, садржај и све друге датотеке или директоријуме који су применљиви за исправну миграцију њихових власничких дозвола.

Додавање/уклањање група

Поред подразумеване групе, корисник у Линук-у може бити део секундарних група. Увек можемо додати или уклонити додатне групе којима корисник припада помоћу команде усермод.

$ sudo usermod -a -G <group_id or group_name> <username>

Пример:

$ id janedoe
uid=1005(janedoe) gid=1005(janedoe) groups=1005(janedoe)
$ sudo usermod -a -G docker janedoe
$ id janedoe
uid=1005(janedoe) gid=1005(janedoe) groups=1005(janedoe),1001(docker)
$

Слично томе, да бисте уклонили корисника из једне од секундарних група, користите команду гпассвд као што је приказано у наставку:

$ sudo gpasswd -d <username> <groupname>

Пример:

$ id janedoe
uid=1005(janedoe) gid=1005(janedoe) groups=1005(janedoe),1001(docker)
$ sudo gpasswd -d janedoe docker
Removing user janedoe from group docker
$ id janedoe
uid=1005(janedoe) gid=1005(janedoe) groups=1005(janedoe)
$

ГЕЦОС Цоммент

ГЕЦОС поље у /етц/пассвд садржи корисничке информације или коментар. Можемо да изменимо ове информације за постојећег корисника као:

$ sudo usermod -c <comment> <username>

Пример:

$ getent passwd janedoe
janedoe:x:1005:1005::/data/janedoe:/bin/bash
$ sudo usermod -c "Jane Doe - System Admin" janedoe
$ getent passwd janedoe
janedoe:x:1005:1005:Jane Doe - System Admin:/data/janedoe:/bin/bash
$

Имајте на уму да ако ваш коментар или подаци о кориснику садрже размаке, ставите то поље под наводнике као што је урађено у горњем примеру.

  7 најбољих апликација за аутизам за развој вештина и говора

Корисничко име

Корисничко име за пријаву се такође може променити помоћу команде усермод коришћењем -л заставице:

$ sudo usermod -l <new_username> <old_username>

Пример:

$ id janedoe
uid=1005(janedoe) gid=1005(janedoe) groups=1005(janedoe)
$ sudo usermod -l jane_doe janedoe
$ id jane_doe
uid=1005(jane_doe) gid=1005(janedoe) groups=1005(janedoe)
$

Не заборавите да ажурирате корисничке референце према новом имену где год да се користи. Чак и у командама као што је ид, ново корисничко име треба да буде наведено.

Уклањање корисника

Корисник се може уклонити из Линук-а помоћу команде усердел.

$ sudo userdel <username>

Пример:

$ id janedoe
uid=1005(janedoe) gid=1005(janedoe) groups=1005(janedoe)
$ sudo userdel janedoe
$ id janedoe
id: ‘janedoe’: no such user
$

Да бисте уклонили корисника заједно са његовим кућним директоријумом и мејлом, додајте и ознаку -р.

$ sudo userdel -r <username>

Конкретно за системе засноване на Убунту-у, можете такође користити команду делусер да уклоните корисника:

$ sudo deluser <username>

Слично томе, да бисте уклонили и кућни директоријум и споол поште, користите:

$ sudo deluser --remove-home <username>

За детаљне информације и друге подржане опције, погледајте главну страницу различитих команди користећи:

$ man adduser
$ man useradd
$ man usermod
$ man deluser
$ man userdel

Закључак

Овај чланак је показао различите аспекте управљања корисницима у Линук систему. Ово укључује објашњење различитих категорија корисника и како их додати и уклонити. Такође покрива различите опције које помажу да се модификују параметри постојећег корисника. Иако не покрива све могућности које подржавају различите команде, покрива много уобичајених административних задатака са којима ће се администратор система сусрести у свакодневном раду.

Можда ће вас занимати и читање: Како уклонити датотеке и директоријуме у Линуку?