Fórum Root.cz

Hlavní témata => Distribuce => Téma založeno: Jiří 11. 05. 2013, 20:32:42

Název: Debian a selhání autentizace
Přispěvatel: Jiří 11. 05. 2013, 20:32:42
Dobrý den,
před nějakým časem jsem přešel, po delších letech s ubuntu, na Debian. Používám jej pouze pro soukromou práci doma. Při instalaci jsem, jako začátečník s touto distribucí, zcela nepochopil význam vytvářet root uživatele a poté druhý běžný účet a tedy jsem roota nevytvořil s tím, že následně vyplněný uživatel bude právě root.

Systém jsem si nastavil, dle svých možností a nějaký čas jej již používám.
Nicméně mne začala zajímat případná migrace systémového disku na jinou partition. Tedy jsem se rozhodl to vyzkoušet.

Zkopíroval jsem / na jinou část disku, tam přepsal /boot/grub/menu.lst a /etc/fstab. Updatnul jsem GRUB a zkusil zalogovat z nové partition.
(/home je na oddělené partition)
V logu poté bylo mnoho chyb ohledně "Read only" a systém pak v určité fázi bootu vypadal, že nanastartuje.
Tedy jsem restartoval PC zpět do funkční partition a nastavil chmod 777 na celou testovací partition.
Poté již systém startuje snad korektně, ale je tu velké ALE :)
Systém se automaticky nezaloguje, jak bylo na originálním nastaveno, ale zobrazí login obrazovku a vypíše "Selhání autentizace".
Pokud svého uživatele zvolím k loginu a zadám heslo, píše se toto stále. Pokud se přepnu na konzoli ctrl+alt+F2, také není heslo přijato.

Přichází někomu na mysl možná chyba v postupu, která by mohla toto způsobit? Jediný nestandardní krok je ten chmod 777, který snad v žádném návodu k migraci partition takto přiložen není, ale bylo to pro mne nejjednodušší řešení "Read only" hlášek v logu.
To že je /home na oddělené partition snad není v tuto chvíli problematické, /etc/fstab jsem kontroloval.

Děkuji všem za reakce k věci, rád bych do problematiky přesunutí Linuxu na jinou partition lépe pronikl, vzhledem k tomu, že touto možností díky své jednoduchosti překonává problematická Windows.

Jiří.
Název: Re:Debian a selhání autentizace
Přispěvatel: noname 11. 05. 2013, 21:04:36
Těžko říci, kde se mohla stát chyba takhle z hlavy, ale jestli nebylo možno číst soubory, se kterými v předchozí instalaci nebyl problém a všechny byly umístěny na stejném místě jako dříve, je možné, že je poškozen souborový systém a aby se zabránilo ztrátě dat, přepnul se do režimu pouze pro čtení a v takovém případě na něj nebude možno zapisovat. Zde by mohlo být řešením provedení kontroly disku pomocí příkazu fsck při odpojeném souborovém systému, čímž by se tento měl opět nastavit pro čtení i zápis. Nastavování práv tedy nejspíše nepomůže.
Název: Re:Debian a selhání autentizace
Přispěvatel: noname 11. 05. 2013, 21:51:00
Jinak pro potřebu přihlášení je možné odstranit heslo (jako root) ze souboru /etc/shadow. Bude to tedy potřeba udělat z nějakého linuxového live USB disku  s právy roota. Toto provedete tak, že otevřete soubor, ve kterém budou údaje, začínající přihlašovacím jménem, oddělené dvojtečkami. V těchto údajích naleznete heslo ve druhém sloupci. Pokud řetězec mezi těmito dvojtečkami smažete, heslo nebude vyžadováno minimálně při přihlašování přes příkazovou řádku. GUI jsem nezkoušel. Poté si nastavíte heslo dle svých potřeb. Každopádně takovýto způsob přihlašování nejspíše nebude řešením Vašeho problému s migrací na jiný diskový oddíl.

V případě, že se Vám při editaci něco nepodaří, existuje /etc/shadow~, který lze použít jako zálohu (přestože já vždy raději svou vlastní :-)).
Podrobnější informace o organizaci souboru naleznete v manuálových stránkách, zadáte-li shadow.
Název: Re:Debian a selhání autentizace
Přispěvatel: Ales 11. 05. 2013, 23:52:29
problem s autentizaci bych videl v  masce 777 u souboru  /etc/shadow.  priste kopiruj s prepinacem (cp -a), nebo dd / partysny ( bez /dev /proc a dalsich virt. fs)
Název: Re:Debian a selhání autentizace
Přispěvatel: mhepp 12. 05. 2013, 01:04:50
Aleš: dd slouží k něčemu jinému, takhle tady fungovat nebude

Jiří: Doporučoval bych Ti začít znovu. Některé soubory potřebují specialní práva (sudo, su, passwd, mount,... celkem jich mám 35 v systému), která se nepřenesou, pokud je budeš kopírovat jako běžný uživatel. Takže začni odznovu, přihlaš se jako root, a pro kopírování kořene na nové úložiště použij něco takového:

Kód: [Vybrat]
rsync -uav --exclude=/dev --exclude=/proc --exclude=/sys --exclude=/co/nechces.../  / /cilove/uloziste

root má svůj význam, to je Ti snad jasné. Pokud cheš zakázat přímé přihlášení jako root, můžeš to udělat tak, že heslo, které je uloženo /etc/shadow nahradíš vykřičníkem. Nejprve si ale ověř, že máš správně nastavené a nainstalované sudo, abys byl schopen získat root-vské oprávnění, až ho budeš potřebovat.
Název: Re:Debian a selhání autentizace
Přispěvatel: Ales 12. 05. 2013, 04:34:11
Aleš: dd slouží k něčemu jinému, takhle tady fungovat nebude

dd slouzi k ruznejm vecem. proc to nebude fungovat?

root@bart ~ # mount | grep root
/dev/mapper/vg0-root on / type ext4 (rw,relatime,data=ordered)
root@bart ~ # ls -l /dev/mapper/vg0-root
lrwxrwxrwx 1 root root 7 May 11 18:48 /dev/mapper/vg0-root -> ../dm-0
root@bart ~ # file -s /dev/dm-0    
/dev/dm-0: Linux rev 1.0 ext4 filesystem data, UUID=b9dd178c-c701-46c0-88e7-4717705a577d (needs journal recovery) (extents) (large files) (huge files)
root@bart ~ # dd if=/dev/mapper/vg0-root of=/home/alles/testfajl.img
29360128+0 records in
29360128+0 records out
15032385536 bytes (15 GB) copied, 708.342 s, 21.2 MB/s
root@bart ~ # scp -i /home/alles/.ssh/id_rsa /home/alles/testfajl.img root@fruthal:/mnt/waste/
testfajl.img                                                                               100%   14GB  11.1MB/s   21:34   
root@bart ~ # ssh fruthal -i /home/alles/.ssh/id_rsa

root@fruthal:~# lvcreate -L15G -n test-root vps
   Logical volume "test-root" created
root@fruthal:~# dd if=/mnt/waste/testfajl.img of=/dev/vps/test-root
29360128+0 records in
29360128+0 records out
15032385536 bytes (15 GB) copied, 778.778 s, 19.3 MB/s
root@fruthal:~# mkdir /mnt/test-root ; mount /dev/vps/test-root /mnt/test-root/
root@fruthal:~# ls -l /mnt/test-root/etc/shadow
-rw------- 1 root root 656 May 11 19:13 /mnt/test-root/etc/shadow
root@fruthal:~# ls -l /dev/vps/test-root
lrwxrwxrwx 1 root root 8 May 12 01:32 /dev/vps/test-root -> ../dm-33
root@fruthal:~# file -s /dev/dm-33
/dev/dm-33: Linux rev 1.0 ext4 filesystem data, UUID=b9dd178c-c701-46c0-88e7-4717705a577d (needs journal recovery) (extents) (large files) (huge files)

po mikrouprave fstabu a grubu by to snad nabootovalo....
Název: Re:Debian a selhání autentizace
Přispěvatel: noname 12. 05. 2013, 07:20:53
Jen tak pro informaci root může být jakýkoliv uživatel s UID a GID 0. Tedy stačí přepsat druhý a třetí sloupec v /etc/passwd a jste root se svým účtem, na který jste zvyklý. ;-)
Název: Re:Debian a selhání autentizace
Přispěvatel: Mirek Prýmek 12. 05. 2013, 10:46:10
Malý doplnění:
1. dd nezná filesystém, takže kopíruje i nevyužité bloky. Pokud partition není úplně plná, je to ztráta času, proto použít raději tar, dump, rsync apod.
2. cílová partition musí být stejně velká nebo větší než zdrojová (velikost _partition_, ne velikost dat)
3. pokud je větší, je potřeba ještě zvětšit filesystém - ext2resize, resize2fs
4. roota rozhodně neodstraňovat. Existuje namálo programů, které natvrdo používají název "root" a ne uid. Nebudou pak fungovat. K odstranění roota není žádný rozumný důvod.
Název: Re:Debian a selhání autentizace
Přispěvatel: noname 12. 05. 2013, 11:20:09
Malý doplnění:
4. roota rozhodně neodstraňovat. Existuje namálo programů, které natvrdo používají název "root" a ne uid. Nebudou pak fungovat. K odstranění roota není žádný rozumný důvod.

Děkuji za informaci, něco podobného jsem četl jako možnost, jak lépe zabezpečit systém, tak teď už vím, že to není dobrý nápad  :), takže přestože jsem neměl na mysli jeho odstranění, ale možnost přihlášení jako root i pod jiným jménem a heslem (bez sudo a su root, protože heslo stejně nezná), tak jsem rád za doplnění. Je pravda, že bude rozumnější smazat heslo pro administrátorský účet v /etc/shadows a znovu nastavit.
Název: Re:Debian a selhání autentizace
Přispěvatel: noname 12. 05. 2013, 11:22:20
administrátorský účet v /etc/shadows ...

Samozřejmě v /etc/shadow , kam jsem dal hlavu...
Název: Re:Debian a selhání autentizace
Přispěvatel: Mirek Prýmek 12. 05. 2013, 11:37:07
Děkuji za informaci, něco podobného jsem četl jako možnost, jak lépe zabezpečit systém
Na takovéhle rady bacha, často jsou to krávoviny, které žádnou větší bezpečnost reálně nepřinesou a jenom zbytečně komplikují život.
Ve většině případů veškerá bezpečnost, která je reálně potřeba, je: 1. aktualizovaný systém 2. pořádná hesla a/nebo certifikáty 3. pečlivě nakonfigurované zvenku přístupné služby 4. ven pouštět jenom to, co je fakt potřeba 5. používat least privilege principle
Název: Re:Debian a selhání autentizace
Přispěvatel: noname 12. 05. 2013, 11:51:24
Ještě jednou díky.
Název: Re:Debian a selhání autentizace
Přispěvatel: Mirek Prýmek 12. 05. 2013, 11:58:56
Bylo mi potěšením :)
Název: Re:Debian a selhání autentizace
Přispěvatel: Jiří 18. 05. 2013, 13:11:01
Ahoj!
Děkuji všem, kteří se k tomuto tématu vyjádřili.
Postupně jsem vyzkoušel všechny zde uvedené pokyny. Což mne i zcela nečekaně uvedlo do základů práce s uživatelskými účty.

Mheppův rsync vyřešil na závěr celý problém naprosto elegantně a bez zbytečných slov okolo :)
A mimochodem zase mne Linux mile překvapil, a to nyní automatickým a bezproblémovým rebuildem adresářů /dev /proc a /sys, jejichž vyjmutí z rsync jsem se trochu obával a nevěděl, co očekávat.
Ostatně k přepínačům rsync bych se jen ještě zeptal.
Jaký efekt by mělo přidání navíc i "-tog"? Má to nějaký smysl, anebo je to například i komplikace tohoto případu kopie?

Ohledně účtu roota a příspěvků M. Prýmka jsem trochu (v dobrém) zvážněl. Avšak, po určitém experimentování s /etc/passwd a GUI konfigurací uživatelů, se mi podařilo roota zapnout alespoň určitým způsobem.
V konzoli, či příkazem "su" se pod něj přihlásím bez problémů.
Ikdyž poté (následně po "su") mnou zkoušený jednoduchý příkaz "gedit /etc/passwd" vypíše několik po sobě těchto chyb:
Kód: [Vybrat]
Chyba GConfu: Nepodařilo se kontaktovat konfigurační server; toto je většinou způsobeno chybějícím či špatně nastaveným démonem D-Bus.(soubor se však v editoru otevře a editovat i ukládat lze)

Nehledě na to dále tedy však. Přes přihlašovací obrazovku, jakoby na desktop roota, se nepřihlásím. Opět selhání autentizace. Teď už však jen v případě roota, který byl při úplně původní instalaci systému vynechán. Uživatele volím přes "Ostatní..." a vypíši jméno "root". Heslo zadávám stejné jako v případě "su".
Pokud v /etc/passwd nastavím jinému uživateli UID:GID na 0:0, tak tímto uživatelem se do rootovského desktopu přihlásit lze, a jsem root s celou parádou :). Toto je ale asi trochu jakési harakiri. Jak jsem se dočetl, UID uživatelů by se nemělo duplikovat, a zřejmě k tomu je dobrý důvod, který lze tušit i s mými pár znalostmi.

Přeji příjemný víkend, ještě jednou děkuji a pokud bude věcný zájem se vyjádřit k něčemu zde uvedenému, budu velmi vděčen.
Název: Re:Debian a selhání autentizace
Přispěvatel: Mirek Prýmek 18. 05. 2013, 13:37:21
A mimochodem zase mne Linux mile překvapil, a to nyní automatickým a bezproblémovým rebuildem adresářů /dev /proc a /sys, jejichž vyjmutí z rsync jsem se trochu obával a nevěděl, co očekávat.
Pod těmihle adresáři jsou připojené virtuální filesystémy, které jsou vytvářené online. Nejsou to žádné skutečné soubory, které by byly někde uložené a "rebuildovaly" se. Když třeba otevřu /proc/cpuinfo, tak jádro odněkud vytáhne ta data a obsah toho souboru vygeneruje.

Ostatně k přepínačům rsync bych se jen ještě zeptal.
Jaký efekt by mělo přidání navíc i "-tog"?
viz http://linux.die.net/man/1/rsync Např. pro -t ->
Citace
-t, --times                 preserve modification times

Jak jsem se dočetl, UID uživatelů by se nemělo duplikovat, a zřejmě k tomu je dobrý důvod, který lze tušit i s mými pár znalostmi.
Je k tomu takový důvod, že systém jako takový (jádro) symbolické názvy (jména uživatelů) nepoužívá. Používá jenom čísla. Takže můžu vytvořit dva uživatele, třeba mirek1 a mirek2 a dát jim stejné UID. Když jim dám jiný domovský adresář, můžu oba dva účty normálně používat a oba budou mít i vlastní data, konfiguraci atd. Akorát když se přihlásím jako mirek1, budu moct číst všechny soubory mirka2 úplně stejně jako bych byl přihlášený jako mirek2. Takže jiná UID mají být kvůli ochraně soukromí a taky kvůli tomu, abych mohl rozlišit, kdo který soubor vytvořil (soubory na disku mají přiřazené taky jenom číslo vlastníka, takže nepoznám, jestli soubor vytvořil mirek1 nebo mirek2).
Název: Re:Debian a selhání autentizace
Přispěvatel: Jiří 19. 05. 2013, 11:05:17
Děkuji za odpověď vlastně na oba hlavní dotazy a i další doplnění ke správě uživatelů.
Popis rsync v odkaze (v citaci) je perfektně detailní a lze z toho jednoduše vyčíst i odpověď k dotazovaným přepínačům.
viz http://linux.die.net/man/1/rsync Např. pro -t ->

Přepínače -tog, u rsync ve tvaru uvedeném uživatelem "mhepp", jsou vlastně dle odkazu již obsaženy v jeho -uav.
Citace
-a, --archive
    This is equivalent to -rlptgoD

A druhá odpověď je vlastně dána tím, že jsi ignoroval mou zmínku o login roota na jeho desktop.
To mi nesedělo a trochu jsem popátral.
A obecně je běžná informace, že se s ním standardně na desktop neloguje, tedy že to "nemá jít".
Snad se dá tedy říci, že až na to podivné hlášení chyby GConfu, mi odblokovaný root funguje jak má.
Nyní by celý přesunutý Debian měl být v tomto ohledu ve zcela správném stavu. Vlastně nyní správnějším než je ten originální ze zdrojové partition s přihlédnutím k zprovozněnému root uživateli.

Dovolil bych si ještě drobný dotaz k tomuto tématu. Pokud bych měl na dvou počítačích zcela stejnou verzi Debianu, lze teoreticky nějak zkopírovat a přenést nainstalované aplikace z jednoho na druhý, kdy záchova původních aplikací na cílovém stroji není nutná? Tedy výsledkem by byly stejné aplikace jak na zdrojovém tak na cílovém stroji?
Předpokládám, že to bude více adresářů, kdy jednotlivé aplikace jsou rozlezlé všude možně, čili se to běžně nedělá.

Přeji hezký den!
Název: Re:Debian a selhání autentizace
Přispěvatel: Mirek Prýmek 19. 05. 2013, 11:23:57
Popis rsync v odkaze (v citaci) je perfektně detailní
Jenom ještě dodám, že to je manuálová stránka. Čili si ji můžu číst i přímo na tom stroji pomocí příkazu "man rsync". (pokud tohle nenznáš, přečti si "man man")

A obecně je běžná informace, že se s ním standardně na desktop neloguje, tedy že to "nemá jít".
Přesně tak, pod rootem by se desktop spouštět neměl.

Dovolil bych si ještě drobný dotaz k tomuto tématu. Pokud bych měl na dvou počítačích zcela stejnou verzi Debianu, lze teoreticky nějak zkopírovat a přenést nainstalované aplikace z jednoho na druhý, kdy záchova původních aplikací na cílovém stroji není nutná? Tedy výsledkem by byly stejné aplikace jak na zdrojovém tak na cílovém stroji?
Předpokládám, že to bude více adresářů, kdy jednotlivé aplikace jsou rozlezlé všude možně, čili se to běžně nedělá.
Je to přesně jak píšeš: pokud je stejná verze a stejná architektura, tak se to dá, ale  1) je to zbytečně složité dělat takhle 2) někdy to nemusí fungovat (např. software při instalaci pouští nějaký skript, který vytváří nějakou jedinečnou konfiguraci apod.)

Správný postup je zhruba takovýhle:
1) na zdrojovém stroji si necht vypsat seznam všech nainstalovaných balíků (měl by být příkaz dpkg --get-selections)
2) na cílovém stroji nechat všechny tyhle balíky nainstalovat (apt-get install <seznam>) - pozor na seznam repozitářů sources.list!
3) překopírovat konfigurační soubory (adresář /etc - je potřeba ručně posoudit, které soubory nakopírovat, některé jsou svázané se strojem, třeba ssh klíče možná nechci kopírovat)
Název: Re:Debian a selhání autentizace
Přispěvatel: Jiří 27. 06. 2013, 15:15:06
Děkuji všem příspěvovatelům v tomto tématu!
Na přenos aplikací z jednoho Debianu na druhý kouknu někdy v budoucnu, kdy mne k tomu (snad) něco dokope :).
Je moc dobré, že je to tu uvedeno.
Ta možnost vypadá jako další Linuxový bonus.

Zase někdy na příjemnou shledanou!