Odzyskiwanie dostępu do systemu OpenSolaris
System OpenSolaris standardowo nie dopuszcza do zalogowania się bezpośrednio na konto root, zatem aby administrować systemem z uprawnieniami root’a należy skorzystać pośrednio z konta użytkownika, który ma przypisaną ,,rolę'' root. Aby przywrócić ,,stary porządek'' i bezpośrednio logować się na konto root należy:
# rolemod -K type=normal root
Po tej krótkiej wycieczce niewiele związanej z podejmowanym tematem,
która jedynie odkrywa, że dostęp do administracji systemem nie musi się
odbywać za pośrednictwem konta root, a
odzyskanie uprawnień root’a koncentruje się na wyczyszczeniu hasła
użytkownika z przypisaną ,,rolą'' root’a (patrz. /etc/user_attr).
Czas przystąpić do dzieła i odzyskać to co utracone…
Jedyne co będzie nam potrzebne prócz fizycznego dostępu do maszyny to
płyta instalacyjna livecd z system OpenSolaris.
Po wystartowaniu maszyny z płyty livecd należy wykonać następujące
czynności.
zaimportować pulę zfs o standardowej nazwie rpool:
:::bash
$ pfexec zpool import -f rpool
jako, że system root jest montowany ręcznie (typ legacy) należy zmienić lokalizacja punktu montowania z / (zamontowany obraz livecd) na alternatywną:
:::bash
$ pfexec zfs set mountpoint=/mnt2 rpool/ROOT/<nazwa_BE>
ręcznie zamontować gałąź root’a:
:::bash
$ pfexec zfs mount rpool/ROOT/opensolaris
wyedytować plik shadow, kasując hasło root’a lub użytkownika z przypisaną ,,rolą'' root (między pierwszymi dwoma dwukropkami):
:::bash
$ pfexec chmod u+w /mnt2/etc/shadow
$ pfexec vi /mnt2/etc/shadow
odmontować i przywrócić poprzedni punkt montowania:
:::bash
$ pfexec zfs umount rpool/ROOT/opensolaris
$ pfexec zfs set mountpoint=/ rpool/ROOT/opensolaris
wyeksportować pulę zfs:
:::bash
$ pfexec zfs export -f rpool
po ponownym wystartowaniu systemu należy z poziomu grub dodać parametr -s do sekcji kernel. Wówczas system wystartuje w trybie single-user jako użytkownika należy wybrać root lub tego z przypisaną rolą root’a, a następnie ustawić nowe hasło.
W celu zalogowania się bez hasła do systemu w trybie multi-user należy wyedytować plik /etc/default/login ustawiając:
PASSREQ=NO
a zaś aby można się zalogować bez hasła przez ssh (co nie jest szczególnie udanym pomysłem) należy w pliku /etc/ssh/sshd_config ustawić:
PermitEmptyPasswords=yes
powered by Hugo and Noteworthy theme