Премини към съдържанието
  • Добре дошли!

    Добре дошли в нашите форуми, пълни с полезна информация. Имате проблем с компютъра или телефона си? Публикувайте нова тема и ще намерите решение на всичките си проблеми. Общувайте свободно и открийте безброй нови приятели.

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

     

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 (преглед на промените)

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


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

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

$ systemctl reboot

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

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

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


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

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

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


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

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

$ systemctl reboot

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

shutdown -r

 

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


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

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

BbmeNso.png

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

TLHMnJP.png

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

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

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


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

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

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


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

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

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

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


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

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

MjpVsWS.png

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

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

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

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

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


Линк към този отговор
Сподели в други сайтове
преди 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/ при другите дистрибуции.

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


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

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

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


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

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

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

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

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

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

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

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


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

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

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

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

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

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


Линк към този отговор
Сподели в други сайтове
преди 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

 

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

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


Линк към този отговор
Сподели в други сайтове
преди 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, но не го ползвам и сега не ми се търси.

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


Линк към този отговор
Сподели в други сайтове
на 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. Полезна информация.

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


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

От няколко месеца ползвам  усу 9 десктоп. Не мога да вляза в конзолата като администратор. Разбрах, че трябва да се впиша като администратор със su. Опитах със

su

apt-get update

apt-get install sudo

 usermod -a -G sudo master

reboot

като master заменям с паролата която съм поставил при инсталация. Конзолата не иска да приеме и ми изписва

No passwd entry for user 'apt-get'


От тука нататък какво следва? Начинаещ съм и не съм се занимавал с подобни програми.

 

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


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

От няколко месеца ползвам  усу 9 десктоп. Не мога да вляза в конзолата като администратор. Разбрах, че трябва да се впиша като администратор със su. Опитах със

su

apt-get update

apt-get install sudo

 usermod -a -G sudo master

reboot

като master заменям с паролата която съм поставил при инсталация. Конзолата не иска да приеме и ми изписва

No passwd entry for user 'apt-get'


От тука нататък какво следва? Начинаещ съм и не съм се занимавал с подобни програми.

 

В Ubuntu (темата е за Debian), администраторският акаунт е блокиран по подразбиране. Ползвайте sudo за изпълнение на команда или sudo su за да придобиете права за цялата сесия.

Пример :

sudo apt-get update

sudo apt-get dist-upgrade

........................

sudo su

apt-get update

apt-get dist-upgrade

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


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

[email protected]:~$ sudo apt-get update apt-get dist-upgrade
[sudo] password for canko:

Sorry, try again.
[sudo] password for canko:
Sorry, try again.
[sudo] password for canko:

Иска ми парола, но не мога да въведа нито един символ от клавиатурата, пробвах с всички клавиши от клавиатурата  единствено реагира на enter

 

 

Редактирано от Цанко Метев
Първият ред беше изписан непълно (преглед на промените)

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


Линк към този отговор
Сподели в други сайтове
публикувано (редактирано)
преди 9 часа, Цанко Метев написа:

От няколко месеца ползвам  усу 9 десктоп. Не мога да вляза в конзолата като администратор. Разбрах, че трябва да се впиша като администратор със su. Опитах със

su

apt-get update

apt-get install sudo

 usermod -a -G sudo master

reboot

като master заменям с паролата която съм поставил при инсталация. Конзолата не иска да приеме и ми изписва

No passwd entry for user 'apt-get'


От тука нататък какво следва? Начинаещ съм и не съм се занимавал с подобни програми.

 

Цанко Цанко, не заменяш със паролата си а заменяш със името което си избрал. В твоят случаи  canko. 

usermod -a -G sudo canko

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

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


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

[email protected]:~$ sudo apt-get update apt-get dist-upgrade
[sudo] password for canko:

Sorry, try again.
[sudo] password for canko:
Sorry, try again.
[sudo] password for canko:

Иска ми парола, но не мога да въведа нито един символ от клавиатурата, пробвах с всички клавиши от клавиатурата  единствено реагира на enter

 

 

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

https://i.postimg.cc/4d0xN7xZ/commands.png

С интервал, можете да изброявате приложенията, които да се инсталират от APT-GET с една команда.

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


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

Добавете отговор

Можете да публикувате отговор сега и да се регистрирате по-късно. Ако имате регистрация, влезте в профила си за да публикувате от него.

Гост
Напишете отговор в тази тема...

×   Вмъкнахте текст, който съдържа форматиране.   Премахни форматирането на текста

  Разрешени са само 75 емотикони.

×   Съдържанието от линка беше вградено автоматично.   Премахни съдържанието и покажи само линк

×   Съдържанието, което сте написали преди беше възстановено..   Изтрий всичко

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Добави ново...