[Ubuntu 1604] X Server: właściciel pliku .Xauthority w katalogu domowym użytkownika.

Problemy dotyczące innych systemów operacyjnych
Awatar użytkownika
kitek
Posty: 42
Rejestracja: 24 sierpnia 2015, 19:09

[Ubuntu 1604] X Server: właściciel pliku .Xauthority w katalogu domowym użytkownika.

Post autor: kitek »

Cześć. Moje pytanie jest banalnie proste i dotyczy wspomnianego w tytule pliku .Xauthority. Kilka dni temu, znajomy poprosił mnie o pomoc, ponieważ nie był w stanie zalogować się poprzez LightDM do systemu Ubuntu 16.04.3 LTS. Za każdym razem po wpisaniu hasła, ekran robił się czarny na 1-2 sekundy, i ponownie pojawiał się LightDM. Postanowiłem zalogować się na tty2 w celu sprawdzenia logów systemowych. W tym przypadku był to plik /var/log/syslog. Okazało się, że zawarta jest w nim pewna informacja.

Kod: Zaznacz cały

WARNING **: Error reading existing Xauthority: Failed to open file '/home/komp/.Xauthority': Permission denied
Error writing X authority: Failed to open X authority /home/komp/.Xauthority: Permission denied
Komunikat jest oczywisty: błąd dotyczący otwarcia oraz zapisania pliku .Xauthority. Po sprawdzeniu właściciela, okazało się, że jest nim... root! Pytałem kolegę, co ostatnio robił, zmieniał w systemie itp. Niestety, nie udało mi się dowiedzieć czegoś konkretnego oprócz typowych działań, takich jak; aktualizacje programów, instalacja nowych. Wracając do sedna sprawy. Tak wyglądały atrybuty tego pliku:

Kod: Zaznacz cały

$ ls -al .Xauthority
-rw------- 1 root  root  110 paź 21 15:54 .Xauthority
Postanowiłem zmienić właściciela na użytkownika utworzonego przez mojego znajomego, podczas instalacji systemu. Najpierw skopiowałem ten plik, tworząc kopię zapasową: .Xauthority.bak, następnie za pomocą polecenia chown zmieniłem właściciela. Standard. Po ponownym uruchomieniu komputera, znajomy mógł się zalogować do systemu. Czyli problem rozwiązany. Ale mam pewne, powiedzmy, wątpliwości.

Z całą pewnością w internecie jest sporo tekstów, pytań na forach odnoszących się do tego pliku, ale nie mam teraz możliwości sprawdzenia tego. I nie będę miał przez kilka następnych dni, dlatego chciałbym poprosić Was o odpowiedź, sprawdzenie u siebie, czy właścicielem pliku .Xauthority powinien być zwykły użytkownik? Po zmianie właściciela, sytuacja wygląda teraz tak:

Kod: Zaznacz cały

$ ls -al .Xauthority*
-rw------- 1 user user  110 paź 21 16:12 .Xauthority
-rw------- 1 root root  110 paź 21 16:11 .Xauthority.bak
-rw------- 2 user user    0 paź 21 15:55 .Xauthority-c
-rw------- 2 user user    0 paź 21 15:55 .Xauthority-l
Oczywiście, po udanym zalogowaniu się do systemu, plik .Xauthority.bak został usunięty.

A więc: a) jakiego właściciela powinien mieć plik .Xauthority - normalnego użytkownika, czy admina, to znaczy root (może ktoś z Was sprawdzić to u siebie)? b) czy prawa dostępu widoczne powyżej są w porządku? c) Czy możliwe jest usuwanie plików .Xauthority, ale z końcówką -c, -l?

Przepraszam za taki styl pytania, ale myślałem o innych początkujących użytkownikach. Chciałem, po prostu wyłożyć ten problem łopatologicznie. Nic więcej.

Dziękuję.

PS. Niemniej, spotkało mnie coś, czego nigdy nie doświadczyłem. Otóż, podczas próby rozwiązania tego problemu, wydałem w konsoli (tty2) polecenie shutdown now (parametr -p powodował pojawienie się jakiegoś komunikatu, ale niestety nie pamiętam o co chodziło) po którym ekran "zgasł" i po chwili uruchomiło się środowisko graficzne, ale czcionki były, według znajomego, zupełnie inne od tych, które ustawił. Ikonki na pulpicie, również zmieniły kolejność. Po kilkunastu sekundach, system się wyłączył! To tylko taki mały opis tego, co się działo.
Awatar użytkownika
marcin1982
Moderator
Posty: 1731
Rejestracja: 05 maja 2011, 12:59
Lokalizacja: Zagłębie Dąbrowskie

Re: [Ubuntu 1604] X Server: właściciel pliku .Xauthority w katalogu domowym użytkownika.

Post autor: marcin1982 »

Kod: Zaznacz cały

-rw------- 1 user user  110 paź 21 16:12 .Xauthority
Uprawnienia i właściciel tego pliku są prawidłowe. Resztę usuń.
Awatar użytkownika
kitek
Posty: 42
Rejestracja: 24 sierpnia 2015, 19:09

Re: [Ubuntu 1604] X Server: właściciel pliku .Xauthority w katalogu domowym użytkownika.

Post autor: kitek »

Cześć marcin1982. Dzięki za odpowiedź. Rozumiem, że podjęta decyzja o zmianie właściciela dla pliku .Xauthority była słuszna oraz domyślnym właścicielem jest user, tak? Mam tu na myśli np. świeżą instalację systemu - po jej zakończeniu, właścicielem jest user a nie tak, jak w tym przypadku był to root? (Oczywiście, w tym przypadku, root został właścicielem z bliżej nieokreślonego powodu.) Przepraszam za to pytanie, ale chciałbym być na 100% pewny, i żeby początkujący użytkownicy potrafili sami rozwiązać podobny problem.

Co do usuwania reszty, o której wspomniałeś: prawdopodobnie jutro, bądź w kolejnych dniach, usunięte zostaną pliki .Xauthority-l, .Xauthority-c. Mam nadzieję, że znajomy poradzi sobie z tym zadaniem :)

Dzięki.
Awatar użytkownika
yossarian
Beginner
Posty: 241
Rejestracja: 28 lutego 2009, 22:46
Lokalizacja: Kraina Deszczowców

Re: [Ubuntu 1604] X Server: właściciel pliku .Xauthority w katalogu domowym użytkownika.

Post autor: yossarian »

kitek pisze: 25 października 2017, 19:10 Oczywiście, w tym przypadku, root został właścicielem z bliżej nieokreślonego powodu.
Powód bardzo łatwo określić.
Twój znajomy — jako rasowy użyszkodnik Ubuntu — próbował uruchomić sesję X z poziomu roota.
Awatar użytkownika
saturno
Junior Member
Posty: 744
Rejestracja: 08 lipca 2008, 20:04

Re: [Ubuntu 1604] X Server: właściciel pliku .Xauthority w katalogu domowym użytkownika.

Post autor: saturno »

yossarian pisze: 28 października 2017, 12:16 Powód bardzo łatwo określić.
Twój znajomy — jako rasowy użyszkodnik Ubuntu — próbował uruchomić sesję X z poziomu roota.
Chyba się mylisz, bo jakby próbował uruchomić sesję X z poziomu root-a to ten plik pojawił by się w katalogu domowym root-a czyli w: /root
Awatar użytkownika
yossarian
Beginner
Posty: 241
Rejestracja: 28 lutego 2009, 22:46
Lokalizacja: Kraina Deszczowców

Re: [Ubuntu 1604] X Server: właściciel pliku .Xauthority w katalogu domowym użytkownika.

Post autor: yossarian »

saturno pisze: 28 października 2017, 17:29 Chyba się mylisz, bo jakby próbował uruchomić sesję X z poziomu root-a to ten plik pojawił by się w katalogu domowym root-a czyli w: /root
Chyba zapomniałeś, że tu mowa o Ubuntu, a Ubuntu to stan umysłu ;)

W absurdalnym świecie Canonicala działa to trochę inaczej i nie ma tam konta roota, ani jego katalogu domowego.
Tam zamiast root (konsola), su (emulator konsoli) użytkownik korzysta z sudo. Takie niewinne sudo startx :D
„Katalog roota” to katalog użytkownika korzystającego z sudo, o ile nie ustawi zmiennej HOME (-H, --set-home).

Zresztą nawet nie trzeba uruchamiać całego serwera X:
You should never use normal sudo to start graphical applications as root. You should use gksudo (kdesudo on Kubuntu) to run such programs. gksudo sets HOME=~root, and copies .Xauthority to a tmp directory. This prevents files in your home directory becoming owned by root. (AFAICT, this is all that's special about the environment of the started process with gksudo vs. sudo).
https://help.ubuntu.com/community/RootSudo
ODPOWIEDZ