Debian a selhání autentizace

Jiří

Debian a selhání autentizace
« kdy: 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ří.


noname

Re:Debian a selhání autentizace
« Odpověď #1 kdy: 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.

noname

Re:Debian a selhání autentizace
« Odpověď #2 kdy: 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.

Ales

Re:Debian a selhání autentizace
« Odpověď #3 kdy: 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)

mhepp

Re:Debian a selhání autentizace
« Odpověď #4 kdy: 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.


Ales

Re:Debian a selhání autentizace
« Odpověď #5 kdy: 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....

noname

Re:Debian a selhání autentizace
« Odpověď #6 kdy: 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ý. ;-)

Re:Debian a selhání autentizace
« Odpověď #7 kdy: 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.

noname

Re:Debian a selhání autentizace
« Odpověď #8 kdy: 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.

noname

Re:Debian a selhání autentizace
« Odpověď #9 kdy: 12. 05. 2013, 11:22:20 »
administrátorský účet v /etc/shadows ...

Samozřejmě v /etc/shadow , kam jsem dal hlavu...

Re:Debian a selhání autentizace
« Odpověď #10 kdy: 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

noname

Re:Debian a selhání autentizace
« Odpověď #11 kdy: 12. 05. 2013, 11:51:24 »
Ještě jednou díky.

Re:Debian a selhání autentizace
« Odpověď #12 kdy: 12. 05. 2013, 11:58:56 »
Bylo mi potěšením :)

Jiří

Re:Debian a selhání autentizace
« Odpověď #13 kdy: 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.

Re:Debian a selhání autentizace
« Odpověď #14 kdy: 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).