Премини към съдържанието
cybercop

Задаване на sudo потребител в Debian

Препоръчан отговор


Много потребители, преминаващи от Ubuntu,  деривати на Ubuntu и деривати на Debian към базовата дистрибуция Debian са объркани от това, че там по подразбиране няма зададен sudo потребител (потребител с право да извършва системни действия). Много от тях не знаят, как да се впишат в администраторски акаунт със su (super user) и не могат да извършват нужните им операции.

За тяхно улеснения пускам тази тема.

Самото задаване на sudo потребител е много по- лесно от усилието, които положих да напиша горните три изречени.

1. Проверявате, дали е инсталиран пакета sudo. Този пакет е зависимост на gksu, така, че вероятността да липсва е малка.

Това става, като отваряте терминала, вписвате се, като администратор със 

su

и изпълнявате 

apt-get install sudo

2. Задавате sudo потребителя (докато все още сте вписани в администраторски акаунт):

usermod -a -G sudo username

на мястото на "username",  пишете името на потребителя си.

3. Най- добре е да рестартирате системата.

Пример за командата с потребител "master":

su

apt-get update

apt-get install sudo

 usermod -a -G sudo master

reboot

След рестарта отваряте терминала и тествате, дали работи. При първата команда със sudo ще ви излезе кратко предупреждение да внимавате, какво правите, когато ползвате sudo паролата. Предупреждението е еднократно. След това, вече няма да забелязвате разлика между Ubuntu и Debian в това отношение.

https://s25.postimg.org/k3yqson1b/sudo.png

 

Редактирано от cybercop (преглед на промените)
  • Харесва ми 8

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

При мен не работи reboot и трябва да го рестартирам през systemd. Дори след като се добавих към sudo групата.

$ systemctl reboot

Както и останалите: poweroff, hibernate, suspend...

Редактирано от bornofash (преглед на промените)

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Ако ползваш графична среда, спокойно можеш да ползваш нейния мениджър на сесиите за рестарт. Никога не ми се е случвало да не ми работи системно действие от типа на poweroff, reboot, halt ...

  • Харесва ми 1

Сподели този отговор


Линк към този отговор
Сподели в други сайтове
преди 10 минути, bornofash написа:

При мен не работи reboot и трябва да го рестартирам през systemd. Дори след като се добавих към sudo групата.

$ systemctl reboot

Както и останалите: poweroff, hibernate, suspend...

shutdown -r

 

  • Харесва ми 2

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Пише ми, че командата не е намерена. А като погледнах, тези команди се намират в /sbin/, който липсва в $PATH.

BbmeNso.png

Липсва, защото в /etc/profile има скрипт, който ме брои за „неефективен“ потребител. И изважда /sbin/ от PATH. ???

TLHMnJP.png

$ id -u ми връща 1000. Идея си нямам какво означава това.

Редактирано от bornofash (преглед на промените)

  • Харесва ми 1

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Инсталирай upower, ако не си го направил, натисни бутона за изключване и да се свършат тези мъки. Виждам, че ползваш някаква странна система с минималистичен мениджър на прозорци. 

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Значи е нормално /etc/profile да изважда sbin от пътя.

Ами другите как ползват командите от там? Кой им добавя /sbin/ към пътя?

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Да отмаркирал съм го:

MjpVsWS.png

И има някаква настройка Defaults, в която присъства sbin.

В интернет нищо конкретно не намирам, но доколкото разбирам това е пътя по подразбиране, а /etc/profiles, който се изпълнява по-късно, премахва sbin.
Маха го поради съображения за сигурност, защото там има „опасни“ за системата команди, които трябва да се изпълняват само като root.

Във вашите /etc/profile какво има?

Между другото съм с debian 9.1. В арча profile файлът ми е празен. То там всички файлове са празни.

  • Харесва ми 1

Сподели този отговор


Линк към този отговор
Сподели в други сайтове
преди 10 минути, bornofash написа:

Във вашите /etc/profile какво има?

# /etc/profile: system-wide .profile file for the Bourne shell (sh(1))
# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).

if [ "`id -u`" -eq 0 ]; then
  PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
else
  PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games"
fi
export PATH

if [ "${PS1-}" ]; then
  if [ "${BASH-}" ] && [ "$BASH" != "/bin/sh" ]; then
    # The file bash.bashrc already sets the default PS1.
    # PS1='\h:\w\$ '
    if [ -f /etc/bash.bashrc ]; then
      . /etc/bash.bashrc
    fi
  else
    if [ "`id -u`" -eq 0 ]; then
      PS1='# '
    else
      PS1='$ '
    fi
  fi
fi

if [ -d /etc/profile.d ]; then
  for i in /etc/profile.d/*.sh; do
    if [ -r $i ]; then
      . $i
    fi
  done
  unset i
fi
 

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Няма го.

Какво се опитваш да направиш с цялата тази гимнастика? Системата ми работи, всички системни действия се изпълняват без проблеми.

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Добре, cybercop, само още едно последно нещо ще те помоля да ми кажеш – като напишеш which reboot, какво ти излиза? Какъв е пътя?

преди 11 минути, ZeroG написа:

Правилно е - не би трябвало да имаш /sbin в пътеката за обикновен потребител. Права да изпълниш нещо в  нея  получаваш по 'втория начин' -  класически през suders файла, а също така и през SELinux & AppArmor, ако ги имаш в допълнение

Да, обаче reboot и poweroff и прочее командите се намират в sbin. Освен ако не са копирани в /bin/ при другите дистрибуции.

Сподели този отговор


Линк към този отговор
Сподели в други сайтове
преди 20 минути, bornofash написа:

Добре, cybercop, само още едно последно нещо ще те помоля да ми кажеш – като напишеш which reboot, какво ти излиза? Какъв е пътя?

Да, обаче reboot и poweroff и прочее командите се намират в sbin. Освен ако не са копирани в /bin/ при другите дистрибуции.

Нищо не ми излиза. Нито има подобен файл в sbin.

преди 7 минути, bornofash написа:

Това го знам, но аз помислих, че той изпълнява reboot като обикновен потребител.

Това : su не е за украса, а за влизане в сесия.

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Оставете, стана объркване. Той отначало е написал su, с което влиза като root. Забравих за него.

А това, което искам аз, е да рестартирам и изключвам системата като обикновен потребител. За да не пиша всеки път парола, когато искам да изключа компютъра, единствените ми възможности са да добавя sbin към пътя (което не е препоръчително) или да използвам systemctl.

ПС: Или да си инсталирам десктоп среда като бял човек :D

Редактирано от bornofash (преглед на промените)
  • Харесва ми 1

Сподели този отговор


Линк към този отговор
Сподели в други сайтове
преди 26 минути, ZeroG написа:

$ cat /etc/os-release && echo && whereis poweroff reboot
PRETTY_NAME="Debian GNU/Linux 9 (stretch)"
NAME="Debian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

poweroff: /sbin/poweroff /usr/share/man/man8/poweroff.8.gz
reboot: /sbin/reboot /usr/share/man/man8/reboot.8.gz
 

Това, което виждаш в sbin са просто преки пътища към истинският файл /bin/systemctl

Не знам за какво ползваш компютъра си. Ако го ползваш за десктоп, има логика да си инсталираш някаква графична среда. Хахорство от типа на стартиране на филми и отваряне на документи през терминала буди само насмешка.

Редактирано от cybercop (преглед на промените)

Сподели този отговор


Линк към този отговор
Сподели в други сайтове
преди 10 минути, ZeroG написа:

Това, което искаш и  начинът за него е да добавиш следното в sudoers:

 


твоят_юзер ALL=(root) NOPASSWD: /sbin/poweroff

 

Даааааа... И това също работи. :)

  • Харесва ми 1

Сподели този отговор


Линк към този отговор
Сподели в други сайтове
преди 10 часа, ZeroG написа:

твоят_юзер ALL=(root) NOPASSWD: /sbin/poweroff

 

Винаги съм се чудел как става така, че на някои дистрота изпълнявам reboot и poweroff с нормален потребител, а за други трябва sudo. Мерси за инфото.

Малко не по-темата, но да добавя малко инфо, как се дават sudo права за обикновен потребител в чист Arch. По-простата причина, че чистият Arch, на мен лично ми създава усещания като чист Debian :) . Първо се създава нов потребител "master":

useradd -m -g users -G wheel,storage,power -s /bin/bash master
passwd master

желателно е да е в "wheel" групата. После се инсталира sudo пакетът, защото на чист Arch най вероятно ще липсва:

pacman -S sudo

После се редактира visudo за да се добавят sudo права за новият юзър:

EDITOR=nano visudo

Ако се оправяте с vi/vim, за разлика от мен, може и направо #visudo. Тук има два начина. Ако потребителят е в група wheel, просто се намира и откоментира следният ред:

%wheel ALL=(ALL) ALL

Ако по някаква причина не искате потребителя в wheel групата, или предпочитате индивидуален подход, може просто да се добави нов ред:

master ALL=(ALL) ALL

Имаше и още един начин, без да се редактира visudo, но не го ползвам и сега не ми се търси.

  • Харесва ми 1

Сподели този отговор


Линк към този отговор
Сподели в други сайтове
на 9/22/2017 в 11:15, bornofash написа:

..
$ id -u ми връща 1000. Идея си нямам какво означава това.

В обяснението ми ще се огранича до Ubuntu.

Параметър -u, --user    означава  "print only the effective user ID". На практика това е вашия първи потребител  (non-root user) , създаден по време на инсталацията на ОС-ма. Така е прието, да се присвоява число ( UID ) 1000. На www-data, например, е 33, а на root e 0. Преобразуване на числото в име :

cat /etc/passwd | grep 1000

DMry6Lyof27pNaZkN7Z5TQPGvNrdcq_8A6IoBvd9

ZerjQ_q_vo-1kX2iaXxI-Lp_pwhLlcwOQVVIFfof

поздрави!

Сподели този отговор


Линк към този отговор
Сподели в други сайтове
на 9/21/2017 в 18:52, cybercop написа:

Много потребители, преминаващи от Ubuntu,  деривати на Ubuntu и деривати на Debian към базовата дистрибуция Debian са объркани от това, че там по подразбиране няма зададен sudo потребител (потребител с право да извършва системни действия). Много от тях не знаят, как да се впишат в администраторски акаунт със su (super user) и не могат да извършват нужните им операции.

За тяхно улеснения пускам тази тема.

Самото задаване на sudo потребител е много по- лесно от усилието, които положих да напиша горните три изречени.

1. Проверявате, дали е инсталиран пакета sudo. Този пакет е зависимост на gksu, така, че вероятността да липсва е малка.

Това става, като отваряте терминала, вписвате се, като администратор със 

su

и изпълнявате 

apt-get install sudo

2. Задавате sudo потребителя (докато все още сте вписани в администраторски акаунт):

usermod -a -G sudo username

на мястото на "username",  пишете името на потребителя си.

3. Най- добре е да рестартирате системата.

Пример за командата с потребител "master":

su

apt-get update

apt-get install sudo

 usermod -a -G sudo master

reboot

След рестарта отваряте терминала и тествате, дали работи. При първата команда със sudo ще ви излезе кратко предупреждение да внимавате, какво правите, когато ползвате sudo паролата. Предупреждението е еднократно. След това, вече няма да забелязвате разлика между Ubuntu и Debian в това отношение.

https://s25.postimg.org/k3yqson1b/sudo.png

 

Благодаря Cybercop! 

Напоследък разучавам Devuan и се чудех защо не се получава със sudo. Полезна информация.

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Регистрирайте се или влезете в профила си за да коментирате

Трябва да имате регистрация за да може да коментирате това

Регистрирайте се

Създайте нова регистрация в нашия форум. Лесно е!

Нова регистрация

Вход

Имате регистрация? Влезте от тук.

Вход

  • Разглеждащи това в момента   0 потребители

    Няма регистрирани потребители разглеждащи тази страница.

  • Горещи теми в момента

  • Подобни теми

    • от cybercop
      За който има нужда, пускам този метод за инсталация на 64 битова версия на WPS офис в Debian/Ubuntu базирани дистрибуции. В офиса съм добавил българския речник за проверка на правописа и съм сменил иконите за стартерите. Всеки файл в пакета е сложен в нужната папка и след, като го разархивирате, просто отваряте файловия мениджър с администраторски права и слагате файловете в същата директория на вашата файлова система. 
      Пакета с офиса : https://yadi.sk/d/wkGCT4lw3V59AW
      За да разботи, трябва да имате инсталирана библиотеката libpng12-0. Ако липсва в хранилищата на новите дистрибуции (Debian 9 +), можете да инсталирате пакет от предходна версия. Пускам пакет с библиотеката. Можете да го разархивирате и да поставите файловете на нужните места, подобно на тези от офиса.
      https://yadi.sk/d/LBPmSj4a3V59Pw
      Пускам и пакетче шрифтове със знаци, които ползва WPS, извън основния за него шрифт (за текста) Calibri. Последният е лицензиран и си е ваша работа, откъде ще го сваляте и добавяте.
      https://yadi.sk/d/fTwyDh643V5AV7
      Папката с шрифтовете се поставя в /usr/share/fonts или в скрита папка .fonts на потребителската директория.
      В Debain 9, офисът няма да стартира, ако не е направена конфигурацията на изгледа на Qt4 приложенията. Затова, трябва или да инсталирате qt4-qtconfig и да направите конфигурация с нея, или да свалите това файлче и да го поставите в скрита папка .config на потребителската директория.
      https://yadi.sk/d/WPZurP4M3V5AsU
      В него е зададено, Qt4 приложенията да следват настройките на GTK+ темата.
      След тези шамански манипулации, отваряте терминала и пускате тези две команди :
      sudo update-icon-caches /usr/share/icons/*
      sudo update-mime-database /usr/share/mime
       
      За да презаредите кеша на иконите и файловите асоциации. И да не се вижда веднага някоя икона в менюто, след рестарта всичко ще си дойде на мястото.
      Добре е да пуснете и едно :
      fc-cache -fv 
      което си е препоръчително при всяко бърникане в шрифтовете.
  • Дарение

×

Информация

Поставихме бисквитки на устройството ви за най-добро потребителско изживяване. Можете да промените настройките си за бисквитки, или в противен случай приемаме, че сте съгласни с нашите условия за ползване.