Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Cześć,
(aktualnie mam Debiana Jessie z GNOME.) Kilka dni temu próbowałem zmienić shella na zsh. Po krótkim czasie zrezygnowałem z tego pomysłu, ale wycofałem się w bardzo nieelegancki sposób, stosując aptitude purge zsh i nie zmieniając niczego w ustawieniach. Problem leży w tym, że nie mogę zalogować się na roota - po wpisaniu hasła po su w terminalu zwraca komunikat "Nie można uruchomić /usr/bin/zsh: Nie ma takiego pliku ani katalogu".
-> W tym momencie echo $SHELL zwraca "/bin/zsh".
-> chsh -s /bin/bash zwraca "You may not change the shell for 'user'."
Znalazłem informację, że nie mogę zmienić shella dla użytkownika jeśli shell aktualnie przez niego używany nie znajduje się w /etc/shells, który obecnie wygląda tak:
/bin/sh
/bin/dash
/bin/bash
/bin/rbash
i jest dostępny tylko do odczytu.
-> w /etc/passwd domyślnym shellem dla roota jest zsh: "root:x:0:0:root:/root:/usr/bin/zsh"
Czy ktoś ma może pomysł jak to naprawić?
Offline
2840
Ostatnio edytowany przez uzytkownikubunt (2016-12-01 01:37:12)
Offline
mount -t /dev/sda1?
Wolę spytać, bo właśnie zrobiłem exec /bin/bash i terminal wygląda tak: https://imgur.com/aZ4MFQL
Offline
2841
Ostatnio edytowany przez uzytkownikubunt (2016-12-01 01:37:13)
Offline
ln -s /bin/sh /bin/zsh
apt-get install --reinstall zsh
jak nie zadziala to pozostaje live-cd
Ostatnio edytowany przez pink (2016-03-13 20:13:20)
Offline
@pink, nie mogłem niczego zainstalować.
Edytowałem fstab, zamontowałem tamtą partycję; jak dostać się do plików na niej, żeby je edytować?
Offline
Zamontuj ją z dowolnego live, żebyś miał tylko dostęp do plików. Zmień w /etc/passwd powłokę. Jak to Debian to można się jeszcze na roota zalogować i zmienić powłokę. Chyba że tam też jest zmieniona.
Offline
2842
Ostatnio edytowany przez uzytkownikubunt (2016-12-01 01:37:14)
Offline
Może to bardzo głupie pytanie, ale bash zwraca: mnt: command not found
Offline
2843
Ostatnio edytowany przez uzytkownikubunt (2016-12-01 01:37:15)
Offline
Ok, udało się wszystko. Dziękuję.
Ale dalej jak wchodzę w terminal pokazuje się puste okno z migającym kursorem, jak na załączonym screenie powyżej. Co tam się mogło pomieszać?
Offline
2844
Ostatnio edytowany przez uzytkownikubunt (2016-12-01 01:37:17)
Offline
Nie wiem jak to sprawdzić; kiedy loguję się do terminala roota wywala to:
http://imgur.com/D5qh1Jc
a jak przez Ctrl-Alt f1 wchodzę do konsoli to po wpisaniu hasła znowu każe wpisać login i tak w kółko.
Offline
2845
Ostatnio edytowany przez uzytkownikubunt (2016-12-01 01:37:18)
Offline
Wiem, ale nie mogę w zasadzie tej komendy wydać. Wpisuję rzeczy w terminal, ale nic się nie dzieje. Sakura wygląda tak: http://imgur.com/DUJxCyd czyli generalnie to samo.
W passwd zmieniłem tylko zsh na basha, na pewno nic więcej. To coś stało się przed edycją /etc/passwd, po wklepaniu exec /bin/bash.
Offline
Po co te gimnastyki.
Nie trzeba nawet chroota.
przy starcie wchodzisz w tryb edycji polecenia grupa, (w starym grubie to była literka e),
tam w ścieżce poleceń kernela zmieniasz polecenie [b]init=...[/b], w takiej formie, jak tam jest, na:
init=/bin/bash
Potem bootujesz, i od razu jesteś w konsoli roota.
Wtedy trzeba przemontować partycję root na rw:
mount -o remount,rw / usermod root -s /bin/bash egrep ^root /etc/passwd poweroff
To jest elegancka i poprawna metoda, jak boisz się używać [b]usermod[/b], to możesz zrobić zamiast tego tak:
mount -o remount,rw / ln -s /bin/bash /usr/bin/zsh zsh
Za ręczną edycje pliku [b]/etc/passwd[/b] lepiej się nie bierz, bo potencjalne skutki jakiejś literówki mogą być trudne do przewidzenia a mogą być dosyć tragiczne.
Ostatnio edytowany przez Jacekalex (2016-03-14 02:05:41)
Offline
Czy to pomoże z pustym terminalem?
Offline
man chsh
przedewszystkim
Offline
No tak, ale nie mam gdzie tego wpisać, terminal nie odpowiada, a konsola w pętli.
Offline
czytam ja sobie i się zastanawiam: czy na samym początku nie można było dać czegoś w stylu:
su - root -s /bin/bash
zamiast się bawić w livecd czy lewe inity?
niestety dopiero teraz wlazłem na forum :(
Offline
Nie mogłem użyć su, bo po wpisaniu hasła zwracało komunikat, że nie odnaleziono /usr/bin/zsh* (całe zsh wyczyściłem, ale w /etc/passwd shellem dla roota było wciąż zsh) - jeśli dobrze rozumiem o co chodzi.
* i nie logowało
Ostatnio edytowany przez knotek (2016-03-14 12:54:42)
Offline
a do którego etapu system sie uruchamia??, bo juz sam nie wiem jakis single user mode nie dziala, poza tym jest jeszcze rescue mode z cd debian-a
bez shella sie wogule nie powinien uruchomić, wiec cos tam musisz miec /sh albo /bash
Offline
Uruchamia się wszystko poprawnie. Wtedy zsh teoretycznie wywaliłem przez aptitude purge zsh.
W /etc/passwd shellem dla roota było /usr/bin/zsh
W /etc/shells zsh w ogóle nie występowało
echo $SHELL zwracało /bin/zsh
Przy su po wpisaniu hasła zwracało, że /usr/bin/zsh nie istnieje i nie logowało
Nie mogłem użyć chsh ("you may not change the shell for 'user')
Po wpisaniu exec /bin/bash terminal się zwiesił, a potem, aż do teraz przy włączaniu go nie pojawia się nic, tam powyżej jest screen. Mogę wpisaywać tekst, ale nic się nie wykonuje. (W sakurze nie mogę nawet wpisać nic)
Kiedy przez Ctrl-alt f[x] wchodzę do konsoli i próbuję się zalogować, po wpisaniu hasła ponownie chce login. I tak w kółko.
(Później w /etc/passwd zamiast zsh przez livecd dodałem basha dla roota, a do /etc/shells dodałem zsh - bo gdzieś wyczytałem, że jeśli nie występuje w shells to nie będę mógł go zmienić)
Ostatnio edytowany przez knotek (2016-03-14 13:35:50)
Offline
@knotek: nie rozumiesz.
parametr -s przy su/sudo uruchamia podany program zamiast domyślnego shella - czyli w tym przypadku basha z uprawnieniami roota. sam korzystam z tego czasem, gdy muszę zrobić su na usera który ma ustawionego shella /bin/false (albo coś podobnego).
Offline
to znaczy sie ze jakis shell jest w systemie wiec wystartuj system w single user mode albo z parametrem init=/bin/bash albo init=/bin/sh
i tam naprawiaj
z poziomu x-window raczej takich problemow nie rozwiązuje sie.
ps. nie dokonca rozumiem co sie tutaj dzieje
a z terminali to:
https://wiki.archlinux.org/index.php/rxvt-unicode
Ostatnio edytowany przez pink (2016-03-14 23:35:15)
Offline
Time (s) | Query |
---|---|
0.00009 | SET CHARSET latin2 |
0.00004 | SET NAMES latin2 |
0.00076 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='18.226.200.180' WHERE u.id=1 |
0.00059 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '18.226.200.180', 1732516811) |
0.00040 | SELECT * FROM punbb_online WHERE logged<1732516511 |
0.00049 | SELECT topic_id FROM punbb_posts WHERE id=299187 |
0.00005 | SELECT id FROM punbb_posts WHERE topic_id=28393 ORDER BY posted |
0.00049 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=28393 AND t.moved_to IS NULL |
0.00005 | SELECT search_for, replace_with FROM punbb_censoring |
0.00170 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=28393 ORDER BY p.id LIMIT 0,25 |
0.00071 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=28393 |
Total query time: 0.00537 s |