Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: sudo a vlastnictvo  (Přečteno 4837 krát)

Kalex

  • Návštěvník
  • Příspěvků: 47
sudo a vlastnictvo
« kdy: 05 Února 2007, 17:54:57 »
Zdravim,

podarilo sa mi vcera konecne nainstalovat Kubuntu a priznam sa ze som zatial celkom spokojny, do systemu sa vzivam, podarilo sa mi nainstalovat a rozbehat dolezite veci (Opera, Seamonkey, ovladace, Doom 3 atd.) a zacinam tomu celkom rozumiet, no stale narazam na nejake zakladne problemy.

1) sudo. Chapem naco je sudo dobre a ako funguje. Casto mam vsak problem ze ked nieco co potrebujem urobit urobim cez sudo, potom sa k "tomu" nedostanem ako user.

Napriklad: namountujem si NTFS particiu ako read-only (je aj v /etc/fstab s parametrami ro,user alebo defaults, to je jedno) do adresara ktory mam ako user na ploche. Majitel adresara som ja ako user, po namountovani sa vsak zmeni majitel na roota a uz sa ako user donho nedostanem lebo nemam opravnenia. Nemozem ani urobit chmod alebo chown lebo opravnenia sa tykaju samotnej NTFS particie a tudiz su read-only aj pre roota. Ako si mozem takuto particiu prezerat ako user?

Alebo: nainstaloval som si Mozilla Seamonkey (cez sudo). A spustit ide zase len cez sudo (sudo sh seamonkey) a to iba z textovej konzoly. Ked si vytvorim zastupcu na ploche, tak sa da spustit ako kdesu seamonkey, ale to zase nevidi ulozeny profil. Bez kdesu zase nevie z ulozeneho profilu citat, aj ked maju one adresare nastaveneho vlastnika usera :( Vie niekto co s tym, co robim zle?

Na ciastocne vyriesenie podobnych problemov som si vytvoril na ploche zastupcu na  Konqueror ktory sa spusta ako sudo (kdesu konqueror). Cez neho sa dostanem vsade, ale nebolo by nejake systemove riesenie na podobne problemy? Napr. kontextove menu "otvorit ako root", "spustit ako root", "prevziat vlastnictvo" atd.

Diky vopred za rady.
« Poslední změna: 13 Října 2007, 16:36:26 od Anna Taliánová »

Martin - ViPEr*CZ*

  • Závislák
  • ***
  • Příspěvků: 3047
sudo a vlastnictvo
« Odpověď #1 kdy: 05 Února 2007, 22:24:31 »
No s tím mountováním přes fstab nemám nejmenší problémy... mountuju do složky která má práva pro daného uživatele a v pohodě.

Ten druhej soft neznám, ale pokud máš někde uloženej profil musí do něj zase bejt správný práva ;)
Open source is gold way... Mint 17.2, Debian 8.1 Jessie| Ubuntu Wiki (návody) | Google vyhledávač | Qt4 návody

Kalex

  • Návštěvník
  • Příspěvků: 47
sudo a vlastnictvo
« Odpověď #2 kdy: 06 Února 2007, 00:04:38 »
A mountujes aj NTFS? S particiou FAT32 je to v pohode, ale NTFS si privlastnuje automaticky root.

Edit: OK, poriesil to umask=000,dmask=000

Guido

  • Aktivní člen
  • *
  • Příspěvků: 148
sudo a vlastnictvo
« Odpověď #3 kdy: 06 Února 2007, 08:52:13 »
Jakým způsobem mountujete tu NTFS partition? Ručně pomocí mount nebo automaticky přes /etc/fstab?

Pokud ji mountujete ručně, tak pomocí parametru -o zadáváte potřebné parametry. Např.:
Kód: [Vybrat]
sudo mount /dev/sda1 /mnt/win -o user,nls=UTF-8Pokud ale nemáte k tomu ručnímu mountování, nějaký důvod (jako začátečník asi nemáte), nechte to na fstab:
Kód: [Vybrat]
/dev/sda1 /mnt/win ntfs ro,defaults,user,umask=0222 0 0
Guido

Martin - ViPEr*CZ*

  • Závislák
  • ***
  • Příspěvků: 3047
sudo a vlastnictvo
« Odpověď #4 kdy: 06 Února 2007, 11:56:55 »
Mountuju i NTFS přes NTFS-3G a jede mi to v pohodě... (nechávám to na fstab)
Open source is gold way... Mint 17.2, Debian 8.1 Jessie| Ubuntu Wiki (návody) | Google vyhledávač | Qt4 návody

Czario

  • Stálý člen
  • **
  • Příspěvků: 639
  • skill :: passive-llama
sudo a vlastnictvo
« Odpověď #5 kdy: 10 Února 2007, 11:15:18 »
------------------------------------------------------------------------
Jaky je rozdil mezi sudo -s a sudo -i ? (nejak jsem to z man nevylustil)
z obojiho sem se dostal na roota a oboje jsem zahledl ze se to zde ruzne pouziva..

a kdyz je clovek v root, je i jina moznost jak se dostat zpet na usera nez novy terminal nebo lognout noveho usera?

Guido

  • Aktivní člen
  • *
  • Příspěvků: 148
sudo a vlastnictvo
« Odpověď #6 kdy: 10 Února 2007, 11:48:21 »
sudo -s Vám dá pouze shell.

sudo -i předtím než dostanete shell, proběhne "simulovaný" login, tzn. že se inicializují všechny proměnné prostředí a dojde k přepnutí do domovského adresáře - např. se spustí .bashrc.

Rozdíl je podobný jako u příkazů su uživatel a su - uživatel.

Pokud to není jasné, zkuste si postupně spustit oba příkazy (su -s, su -i) jako normální uživatel v domovském adresáři a spustit pod nimi následující příkazy a porovnat jejich výpisy.
Kód: [Vybrat]
pwd
env
Z roota se stanete původním uživatelem když zadáte příkaz exit (jako když se v terminálu odhlašujete).
Guido

zigi

  • Aktivní člen
  • *
  • Příspěvků: 389
sudo a vlastnictvo
« Odpověď #7 kdy: 10 Února 2007, 12:43:43 »
nevyhodou sudo -s je, ze se veskere konfiguracni soubory hledaji/vytvareji v home adresari daneho uzivatele, ktery sudo spustil, priklad:

prihlasen jako user a pod timto uzivatelem jeste nebyl spusten kupr. program elinks

user$ pwd
/home/user

user$ ls .el*

user$ sudo -s

root$ pwd
/home/user

root$ elinks

root$ ls .el*
.elinks root root ...

jde o to, ze konfiguracni soubor programu elinks je vytvoren v home adresari usera ale vlastnikem je root, takze pokud si pak uzivatel pusti elinks bez sudo a upravi si nejake nastaveni, tak se mu pak neulozi

snad se mi to povedlo dobre nastinit
..:: be free - use kubuntu ::..

Milhouse

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 5726
sudo a vlastnictvo
« Odpověď #8 kdy: 10 Února 2007, 13:21:10 »
No jak to chápu, tak je lepší používat "sudo -s", protože to je stejné jako "sudo <příkaz>"(pwd vypíše stejný home adresář).

Samozřejmě, že pokud není třeba spouštět program s právy admina, ani to nebudem dělat. Což je většina programů. A ty, co se musí tak spustit, se stejně s příkazem "sudo" uloží soubor s právy Root.
« Poslední změna: 13 Října 2007, 16:38:35 od Anna Taliánová »

N. Á. V. O. D. Y.
 "...naše práce není vidět, ale je důležitá!"

Guido

  • Aktivní člen
  • *
  • Příspěvků: 148
sudo a vlastnictvo
« Odpověď #9 kdy: 10 Února 2007, 14:15:06 »
Citace: zigi
nevyhodou sudo -s je, ze se veskere konfiguracni soubory hledaji/vytvareji v home adresari daneho uzivatele, ktery sudo spustil,
Ale to není nevýhoda, to je záměr - jde o to, co od toho příkazu chcete: buď chcete plný rootovský login (sudo -i), nebo jenom na chvíli chcete rootovskou konzoli (sudo -s).

Chování sudo -s vyplývá z toho, co jsem psal výše - neinicializují se proměnné prostředí. Z toho následně vyplývá, kde se vytvářejí uživatelské cfg/rc soubory. Zkuste si spustit:
Kód: [Vybrat]
sudo -s
pwd
whoami
echo $HOME
Citace
guest@ubuntu:~$ sudo -s
Password:
root@ubuntu:~# pwd
/home/guest
root@ubuntu:~# whoami
root
root@ubuntu:~# echo $HOME
/home/guest
Čili mám rootovskou konzoli, ale proměnná domovského adresáře pořád odkazuje na adresář uživatele guest.
Guido

zigi

  • Aktivní člen
  • *
  • Příspěvků: 389
sudo a vlastnictvo
« Odpověď #10 kdy: 10 Února 2007, 18:59:07 »
ja bych si osobne chovani sudo -s a v naslednem shellu pusteneho programu predstavoval asi tak to:

I. spustim program, treba zmineny elinks
II.
 a) konfiguracni soubor uz existuje
  - nactu ten, ktery je v /home/user

 b) konfiguracni soubor jeste neexistuje
  - zalozim s defaultni konfiguraci, ale kde?:
   1. /home/user ale vlastnikem bude user a ne root (osobne preferuji)
   2. zalozim nebo prectu ten, ktery je v /root
III. ukoncim program

- samozrejme bod II. se muze vykovat i treba behem ukoncovani aplikace
- muselo by se to ridit promenou $HOME a z ni si vyparsovat uzivatele, jenze ta nemusi byt vzdy ve tvaru /home/username
..:: be free - use kubuntu ::..

Guido

  • Aktivní člen
  • *
  • Příspěvků: 148
sudo a vlastnictvo
« Odpověď #11 kdy: 10 Února 2007, 19:11:22 »
Zrovna u toho elinks-u bych osobně používal sudo -i.

Proto, abych ten prohlížeč pouštěl pod rootem, bych měl mít pádný důvod. Pokud ho mám (ten důvod), měl bych logicky pracovat v adresáři /root, kde by se i měly vytvářet/měnit konfigurační soubory.
Guido

zigi

  • Aktivní člen
  • *
  • Příspěvků: 389
sudo a vlastnictvo
« Odpověď #12 kdy: 10 Února 2007, 20:55:16 »
to je pravda .. ja mluvim ze svy zkusenolsti, nez jsem zacal pouzivat sudo -i .. driv jsem pro provedeni vice akci pod rootem pouzival sudo -s .. vetsinou si instaluji system od basesystemu po KDE a tak se obcas hodi mit prohlizec v konzoli a jsem linej se kvuli rychlemu podivani na net se odhlasovat nebo prihlasovat na jinem terminalu ;)
..:: be free - use kubuntu ::..

ped

  • Aktivní člen
  • *
  • Příspěvků: 166
sudo a vlastnictvo
« Odpověď #13 kdy: 11 Února 2007, 05:14:46 »
Citace: Guido
[
Z roota se stanete původním uživatelem když zadáte příkaz exit (jako když se v terminálu odhlašujete).
exit = Ctrl+D

Guido

  • Aktivní člen
  • *
  • Příspěvků: 148
sudo a vlastnictvo
« Odpověď #14 kdy: 11 Února 2007, 13:50:19 »
Citace: ped
Citace: Guido
[
Z roota se stanete původním uživatelem když zadáte příkaz exit (jako když se v terminálu odhlašujete).
exit = Ctrl+D
To není pravda, protože exit != Ctrl+D.

Ctrl+D pošle přávě prováděnému příkazu znak konce souboru: EOF. Ve většině shellů (možná ve všech, já to mám vyzkoušeno jen v zsh, bash a tcsh) jde tento znak zachytit a pak se Vám shell samozřejmě neukončí. Pro nastavení chování v bash a (t)csh to je volba IGNOREEOF, případně v zsh to je IGNORE_EOF. Většinou se tato volba nastavuje v inicializačním skriptu shellu (.bashrc, .zshrc apod.).

Zkuste si spustit:
Kód: [Vybrat]
set -o ignoreeof   # vypne Ctrl+DV Ubuntu je náhodou(?) tato volba vypnuta, ale v jiných distribucích tomu tak není. IMHO je lepší ji mít zapnutou - pokud mám v shellu rozdělanou nějakou práci, bylo by blbý o ni přijít nechtěně zmáčknutou klávesovou zkratkou.
Guido

Czario

  • Stálý člen
  • **
  • Příspěvků: 639
  • skill :: passive-llama
sudo a vlastnictvo
« Odpověď #15 kdy: 11 Února 2007, 14:17:05 »
díky.. koukám, že sem šťouchl do vosího hnízda :oP ...
takže když to shrnu, tak je jedno jestli se použije sudo -i nebo -s pro činnosti jako úprava kofiguračích souborů. Liší se jen v pohledu na domovský adresář s daným superuživatelským root oprávněním... Pro používání user/administrátorských nástrojů z konzole je lepší sudo -i aby se konfigurace ukládala s root právy do root adresáře a ne uživateli, kterému by to dělalo problémy v další konfiguraci programu...

ped

  • Aktivní člen
  • *
  • Příspěvků: 166
sudo a vlastnictvo
« Odpověď #16 kdy: 11 Února 2007, 17:13:14 »
Guido: diky za info, nevedel jsem jak to funguje na pozadi. Ja se naopak s vyplym Ctrl+D jeste nesetkal, bezne to pouzivam pro odhlasovani a fungovalo mi to zatim myslim vsude. Ale aspon ted vim proc.

Guido

  • Aktivní člen
  • *
  • Příspěvků: 148
sudo a vlastnictvo
« Odpověď #17 kdy: 11 Února 2007, 20:16:19 »
Další věc, co mě teď napadla. Pokud máte funkční Ctrl+D a děláte v grafice (xterm apod.), tak to není takový problém. Ale pokud budete přihlášen v terminálu (Ctrl+Alt+F1-F6) nebo třeba přes SSH, tak CTRL+D neznamená jen ukončení terminálu, ale rovnou také logout a to už může být dost nepříjemný.
Guido

zigi

  • Aktivní člen
  • *
  • Příspěvků: 389
sudo a vlastnictvo
« Odpověď #18 kdy: 12 Února 2007, 11:49:04 »
ale jestli to chapu dobre, tak exit udela logout ..

user1$ sudo -i
root# logout
user1$

ja osobne pouzivam CTRL+D - je to rychlejsi nez psani - obecne to znamena znak konce souboru EOF - a tim padem, kdyz se shellu ukonci standartni vstup, tak se tim i sam shell ukonci
..:: be free - use kubuntu ::..

Guido

  • Aktivní člen
  • *
  • Příspěvků: 148
sudo a vlastnictvo
« Odpověď #19 kdy: 12 Února 2007, 12:55:27 »
Citace: zigi
ale jestli to chapu dobre, tak exit udela logout
Víceméně ano. Příkaz exit přeruší skript, potažmo program. Protože většina uživatelů má v /etc/passwd uveden jako inicializační program /bin/sh, tak zadání exitu v shellu způsobí ukončení shellu a následuje logout.
Guido

 

Provoz zaštiťuje spolek OpenAlt.