spouštění programů z terminálu jako root

Založil rumburak, 25. 11. 2013, 19:43:19

Předchozí téma - Další téma

rumburak

Dobrý den,
mám nainstalovaný stabilní Debian 7.2 i386 a mám na vás dotaz ohledně spouštění programů z terminálu. Pokud se pokusím jako root spustit z terminálu gedit, tak se mi vrátí hláška:

(gedit:4077): EggSMClient-WARNING **: Failed to connect to the session manager: None of the authentication protocols specified are supported
** (gedit:4077): WARNING **: Could not connect to session bus

a nic se nepustí. Pokud program pustím jako běžný uživatel, spustí se bez problémů.

Obdobně pokud se jako root pokusím spustit Nautilus vyskočí hláška:
"Nautilus nemůže vytvořit potřebnou složku ,,/root/.config/nautilus".  Před spuštěním Nautilu prosím vytvořte tuto složku, nebo nastavte oprávnění tak, aby ji Nautilus mohl vytvořit."

Terminál mi navíc vrátí:
Unable to initialize DBus connection: Spojení bylo ukončeno
** (nautilus:4090): WARNING **: Spojení bylo ukončeno

** (nautilus:4090): WARNING **: Spojení bylo ukončeno

** (nautilus:4090): WARNING **: Spojení bylo ukončeno

** (nautilus:4090): WARNING **: Spojení bylo ukončeno

** (nautilus:4090): WARNING **: Spojení bylo ukončeno

** (nautilus:4090): WARNING **: Spojení bylo ukončeno

** (nautilus:4090): WARNING **: Spojení bylo ukončeno

** (nautilus:4090): WARNING **: Spojení bylo ukončeno

** (nautilus:4090): WARNING **: Spojení bylo ukončeno
Initializing nautilus-gdu extension

(nautilus:4090): GVFS-RemoteVolumeMonitor-WARNING **: cannot connect to the session bus: org.freedesktop.DBus.Error.NoReply: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.

(nautilus:4090): GVFS-RemoteVolumeMonitor-WARNING **: cannot connect to the session bus: org.freedesktop.DBus.Error.NoReply: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.

(nautilus:4090): GVFS-RemoteVolumeMonitor-WARNING **: cannot connect to the session bus: org.freedesktop.DBus.Error.NoReply: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.

** (nautilus:4090): WARNING **: Spojení bylo ukončeno

** (nautilus:4090): WARNING **: Spojení bylo ukončeno

** (nautilus:4090): WARNING **: Spojení bylo ukončeno

** (nautilus:4090): WARNING **: Spojení bylo ukončeno
No DBus connection available


Jako řadový uživatel mohu vše pustit bez problémů.

Nevíte kde by mohl být problém?


R.

Ota Trkola

Toto se mi také kdysi objevilo při prvním pokusu o spuštění jako root. Po restartu již bylo vše OK.

rumburak

jenže mě to zobrazuje i po několika restartech..

Petr Krčmář

Na začátku si neodpustím varování: není dobrý nápad pouštět takhle velké věci pod rootem. Je tam velké riziko technické nebo bezpečnostní chyby a takhle spuštěný Nautilus může na disku napáchat nepříjemné věci. Obecně se nedoporučuje pouštět GUI programy pod rootem.

Teď prakticky: problém je v tom, že jiný uživatel nemá hotový handshake s běžícím prostředím. Obvykle nemá přístup k aktuální sadě ICE authority a X authority cookies a jím puštěná aplikace (třeba ten Nautilus) nemůže komunikovat s X serverem ani jinými X klienty – třeba se správcem oken, desktopovým prostředím a podobně.

Tenhle problém řeší balíček gksu. V něm jsou aplikace gksu a gksudo, které ti dovolí zadat heslo roota v grafice a hlavně nastaví správně proměnné prostředí tak, aby se aplikaci podařilo komunikovat s X serverem i klienty. Pak se na pozadí volá standardní su nebo sudo a aplikace se pustí.

rumburak

Potřeboval jsem editovat fstab a také vytvořit složku pro připojování disku, aby se mi disk automaticky připojoval po spuštění. Tak jsem si chtěl poradit takto. Vím, že by to šlo asi i jinak, ale když jsem už na tento problém narazil rád bych ho vyřešil. .

Jinak balík gksu mám nainstalovaný, zkusil jsem i přeinstalovat a pořád to samé..   

Palo M.

No super, balik gksu mas nainstalovany. A teraz tie tazsie otazky:
Aj ten gedit spravne spustas pomocou gksu/gksudo (ako prihlaseny uzivatel)? Mas spravne nakonfigurovane sudo?

rumburak

Prihlasim se jako root a pomoci jednoho ze dvou prikazu se pokusim gedit pustit, ale byt se treba otevre, tak  v terminalu s chybovou odezvou. Spravne nakonfigurovane sudo jestli mám nevím, ale pokud by byl někdo ochotný mi poradit, tak bych to zkusil..rád se něco přiučím .





Palo M.

No a v tvojom sposobe pouzitia je prave chyba.
gksudo funguje tak, ze ako prihlaseny pouzivatel (ten, pod ktorym bezi graficke prostredie a ma pravo spustat graficke aplikacie) spustis gksudo, to si vypyta heslo (v pripade gksudo je to heslo pouzivatela, nie heslo roota) a potom sa dana graficka aplikacia spusti sice pod danym prihlasenym uzivatelom (teda ma pravo vytvorit graficke okno a zobrazovat na X-server), ale zaroven s pravami roota (teda ma napriklad pravo zapisovat subory, ktore su pre prihlaseneho uzivatela len na citanie).

Ale opakujem, aby gksudo fungovalo, tak samotne sudo musi byt spravne nakonfigurovane. Na webe je plno navodov k sudo, tak si ich radsej precitaj, aby si si sam vedel overit, ci mas sudo nakonfigurovane spravne (a pripadne si ho nastavit podla potreby).

Ota Trkola

Já osobně už gksudo nepoužívám. V terminálu se přihlísím jako root pomocí:

$ sudo -i

A pak už klidně i spouštím Nautilus, Gedit nebo cokoliv bez příkazu gksudo, například:

# gedit /etc/apt/sources.list

Mám pocit, že to je dokonce více doporučováno, než používat gksudo.

Palo M.

gksudo ma ale tiez svoj vyznam: ked chces vytvorit novu polozku v menu a potom spustat danu vec z menu, bez terminalu. Povedzme take manualne nainstalovane IDE eclipse (rozbalene v /opt pod uzivatelom root), ktore bezne spustas ako normalny uzivatel (mas na to polozku v menu), ale raz za cas chces urobit updaty eclipse (na to mas druhu polozku v menu).

BTW: Ja ked uz mam otvoreny terminal a v nom roota, tak na editovanie suborov nepouzivam gedit, ale vim 8)

Ota Trkola

To já v terminálu také používám spíše nano než abych spouštěl Gedit, byl to jen příklad.

Matesax

To by mě zajímalo, co by mi správce souborů mohl napáchat na disku. Větší ptákovinu jsem ještě neviděl - od toho tu je chráněný režim, kdy vše jede přes kernel, který má věci pevně v rukou. Dále tu od toho máme žurnály, které udržují konzistenci a kontinuitu disku. Pod rootem může napáchat něco jen uživatel - a to by to musel být jo matlal, aby si vypnul všechny ochrany, co chráněný režim nabízí. Už jen fakt, že vše prochází globální haldou jasně vypovídá o bezpečnosti Linuxu. (+ těch démonů, co haldu, HDD, LBA atd obsluhují) A o FirmWare HDD, který se chrání LBA a kdoví čím vším a neumožní manipulovat s fyzickými jednotkami nemluvě.

Jinak problém je očividně v terminálu - tyhle virtuální potvory mají tolik propojení, aby se mohly dostat na STD atd., že se nedivím. Pusť to z Dashe/Bashe přes DISPLAY. (+ nohup a &) Také to můžeš zkusit z obyčejného xtermu atp. Ostatně naučit se pracovat s vi(m) by neškodilo - nemusel by jsi řešit tyhle Xové problémy... :D
Nevěřím v nic - pak má víra jest vyšší, než kterákoliv jiná...

mkub

ty to beries ko vyvojar... spustat aplikacie pod rootom je dost nebezpecnwe, lebo napr. pomocou takeho spravcu suborov by si si mohol vazne poskodit cely system a nielen ty... staci vymazat napr. subor /etc/fstab a uz budes bootovat do "kernel panic", cize v tom pripade, ak nieco sa robi pod pravami roota, treba byt opatrny, lebo Linux tomuto uzivatelovi umoznuje lubovolnu pracu so systemom (aj ked zaroven udrzuje konzistentnost FS)

Matesax

#13
:D:D:D:D Nejste normální... JAK chcete vinit Nautilus za lidskou blbost???? Nesouvisí to spolu vůbec. Stejně tak můžeš smazat důležitý soubor z konzole atd. Například se snadno splete zařízení - sdc1 za sdc, sdb za sdd atd. Hovadina vinit z toho software - ten nebezpečný není! Nemůže napáchat žádné škody! Není špatně napsán. Špatně napsaný software prosím - Nautilus je špatně napsán po stránce grafické atp. - ale nepoškozuje disk prostě... Valná většina uživatelů PC nerozumí - a poškozuje ho. Ale za to si mohou sami - nejde udělat nic plně blbuvzdorné - blbci jsou ve svém oboru králi!
Nevěřím v nic - pak má víra jest vyšší, než kterákoliv jiná...

petrbian

gksu gedit
su - -c gedit

Můj názor ke spuštění programů pod uživatelem root je asi takový:
Každý software obsahuje chyby.
Čím je software větší, tím má více chyb.
Více chyb znamená větší možnost dostat daný software do nedefinovatelného stavu. :)

Občas také použiji gedit k editaci pod uživatelem root.
Občas použiji ssh, screen a vim.
Ovšem pokud použiji terminál, tak si nějak dávám větší pozor, než když edituji pod grafickým programem.