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/.
jak można zmusić debiana, aby root mógł się logować w srodowisku graficznym?
Offline
ok dzięki, a teraz niech mi jeszcze ktoś powie jak odpalić jakiś program z GUI z pod root'a będąc na koncie zwykłego uzytkownika, bo teraz wyswiela mi się coś takiego:
Xlib: connection to ":0.0" refused by server
Xlib: No protocol specified
k3b: cannot connect to X server :0.0
Offline
jako user: xhost +
jako root -> program
Offline
jako user: xhost +
jako root -> program
xhost + to trochę niebezpieczne podejście, lepiej będzie
xhost local:root
dzięki temu z xów nie skorzystają jacyś nieproszeni goście, tylko root (zwłaszcza jak masz LAN).
Offline
może jestem lekko przewrażliwiony ale dam wycinek z Debian Reference:
"9.4.12 Zdobywanie uprawnień administratora w X
Jeśli program z GUI musi być uruchomiony z uprawnieniami administratora użyj następującej procedury.Nigdy nie uruchamiaj X serwera bezpośrednio z konta roota, aby uniknąć problemów z bezpieczeństwem.
Uruchom X serwer jako zwykły użytkownik i otwórz okno programu xterm. Potem:
$ XAUTHORITY=$HOME/.Xauthority
$ export XAUTHORITY
$ su root
Password:*****
# printtool &
Używając tego sposobu by zyskać prawa użytkownika innego niż root, upewnij się, że ~/.Xauthority jest dostępny do odczytu dla grupy tego użytkownika.
Aby zautomatyzować te sekwencje poleceń, utwórz plik ~/.xsession na koncie użytkownika zawierający linie:
# To sprawia, że X-y działają, kiedy za pomocą su staję się root'em.
if [ -z "$XAUTHORITY" ]; then
XAUTHORITY=$HOME/.Xauthority
export XAUTHORITY
fi
unset XSTARTUP
# Jeśli jakieś menedżery okien/sesji są wybrane, odkomentuj następujące
# linie i dostosuj je do swoich potrzeb.
#XSTARTUP=/usr/bin/blackbox
# To uruchomi program x-window/session-manager
if [ -z "$XSTARTUP" ]; then
if [ -x /usr/bin/x-session-manager ]; then
XSTARTUP=x-session-manager
elif [ -x /usr/bin/x-window-manager ]; then
XSTARTUP=x-window-manager
elif [ -x /usr/bin/x-terminal-emulator ]; then
XSTARTUP=x-terminal-emulator
fi
fi
# Uruchom automatycznie wybrany menedżer okien/sesji X
exec $XSTARTUP
Następnie uruchom su (nie su -) w oknie programu xterm. Teraz programy uruchamiane z tego xterma będą wyświetlać się temu użytkownikowi, podczas gdy pracować będą z prawami administratora. Działa to tak długo, jak długo domyślny plik /etc/X11/Xsession jest wykonywany. Jeśli użytkownik zmienił swoje środowisko edytując ~/.xinit lub ~/.xsession, to wymieniona zmienna środowiskowa XAUTHORITY musi być w nich odpowiednio zmieniona.
Opcjonalnie, sudo może być wykorzystane dla zautomatyzowania tej sekwencji poleceń:
$ sudo xterm
... lub
$ sudo -H -s
W tym wypadku plik /root/.bashrc powinien zawierać:
if [ $SUDO_USER ]; then
sudo -H -u $SUDO_USER xauth extract - $DISPLAY | xauth merge -
fi
Działa to poprawnie nawet gdy katalog domowy użytkownika jest na NFS, ponieważ root nie odczytuje jego .Xauthority.
Jest kilka pakietów przeznaczonych specjalnie dla tego celu: kdesu, gksu, gksudo, gnome-sudo, i xsu. Parę innych metod może być użytych do osiągnięcia podobnych rezultatów: utworzenie dowiązania symbolicznego z pliku /root/.Xauthority do użytkownika, użycie skryptu sux; lub wpisanie „xauth merge ~USER_RUNNING_X/.Xauthority” w plikach startowych administratora.
Przeczytaj więcej na debian-devel mailing list. "
Offline
Oczywiście można użyć sudo do uruchomienia progamu z gui z uprawnieniami roota, nie potrzeba polecenia xhost.
Offline
Nie mogłeś poczekać jeszcze miesiąca i 10 dni? Wtedy odkopałbyś równo dwuletni temat. :)
Dopisek:
Ach, to ktoś inny podał link w innym temacie. :)
Ostatnio edytowany przez azhag (2008-03-12 21:58:20)
Offline
su-to-root -c /ścieżka_do_programu
np.:
su-to-root -c /bin/nano
Offline
Ale nano jest tekstowym programem. :)
Tak więc należałoby dodać flagę -X. Z dwojga wolę krótsze sux. Też ma flagę -c, do wykonania polecenia, zamiast uruchomienia powłoki.
Offline
Zamiast nano, uruchomisz każdy program w taki sposób w każdym środowisku graficznym --- jako root --- można np.: k3b
Ostatnio edytowany przez fnmirk (2008-03-13 15:14:21)
Offline
Faktycznie.
Choć --help sugeruje właśnie flagę -X w przypadku aplikacji graficznych.
Offline
Jak zrobić żeby root nie mógł się logować na x-ach? Żeby po wpisaniu np polecenia #kate dostawać wynik
Xlib: connection to ":0.0" refused by server Xlib: No protocol specified
Coś mam namieszane w systemie i teraz root bez problemu uruchamia każdy program bez konieczności wywołania kdesu lub gksu Jak to zmienić?
Ostatnio edytowany przez zomer (2008-09-23 14:37:11)
Offline
za ustawinie uprawnien odpowiedzialna jest komenda xhost - zobacz czy w skryptach startowych masz moze gdzies zezwlenie - jezeli tak to wywal ... jezeli nie to po prostu zabron ...
Offline
Przeszukałem: /etc/init.d# cat policycoreutils | grep xhost*
/etc/init.d# cat policycoreutils | grep xhost* /etc/init.d# cat rc.local | grep xhost* /etc/init.d# cat kdm | grep xhost*
Sprawdziłem w /etc/X11/xserver/SecurityPolicy
jest tak. Czyli domyślnie
RESOURCE_MANAGER root ar iw property SCREEN_RESOURCES root ar iw
W pliku
cat /root/.bashrc
mam
# ~/.bashrc: executed by bash(1) for non-login shells. export PS1='\h:\w\$ ' umask 022 # You may uncomment the following lines if you want `ls' to be colorized: # export LS_OPTIONS='--color=auto' # eval "`dircolors`" # alias ls='ls $LS_OPTIONS' # alias ll='ls $LS_OPTIONS -l' # alias l='ls $LS_OPTIONS -lA' # # Some more alias to avoid making mistakes: # alias rm='rm -i' # alias cp='cp -i' # alias mv='mv -i' # Comment in the above and uncomment this below for a color prompt PS1='${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' # enable color support of ls and also add handy aliases if [ "$TERM" != "dumb" ]; then eval "`dircolors -b`" alias ls='ls --color=auto' alias dir='dir --color=auto' #alias dir='ls --color=auto --format=vertical' #alias vdir='ls --color=auto --format=long'
Polecenie xhost- wydane jako user nie blokuje x-ów u roota.
Nie mam pojęcia gdzie tego szukać. Wszędzie jest pełno rad jako odblokować bezpośredni dostęp roota do x-ów, ale jak go zablokować nie ma.
Pamiętam że kiedyś x-y dla roota byłly zablokowane. Chciałbym aby było tak nadal.
Ostatnio edytowany przez zomer (2008-09-23 14:48:01)
Offline
dpkg-reconfigure x11-common
Chyba o to chodzi.
Offline
jako root
dpkg-reconfigure x11-common
trzy możliwości do wybrania
Użytkownicy mogący uruchamiać serwer X: Tylko root Tylko użytkownicy konsoli --> wybrałem to Każdy użytkownik
Niestety nadal mogę bezpośrednio jako root uruchamiać np. kate
a powinienem dostać coś takiego
Xlib: connection to ":0.0" refused by server Xlib: No protocol specified
Offline
do bani do pupy alba ja głupi lub system
root to root ma do wszytkiego wheel byc moze ty jesteś w grupie cemniak a root guru
Offline
Może.
Xhost daje możliwość dostępu zdalnego, dlatego możliwość uruchamiania jako root program_kde była zblokowana.
Można to było robić pośrednio np. kdesu porgram_kde lbu gsu program_kde.
Teraz kiedy jest inaczej to ja się zastanawiam czy bezpieczeństwo mojego systemu nie zostało naruszone z zewnątrz. Na forach czytałem że xhost to niezła dziura.
Może programiści debiana wprowadzili ostatnio zmiany w tym temacie. Nie wiem. Ja tylko widzę brak pewnego zabezpieczenia które jeszcze nie dawno było.
Ostatnio edytowany przez zomer (2008-09-23 16:38:16)
Offline
Nigdy sie w to nie zagłebiałem ale jak nie mam żadnego menadzera logowania to moge jako root bezpośredni programy odpalać.
Wystarczy zaś zainstalować np KDMa to już nie.
Trzeba przez kdesu albo xhost
Offline
No to mnie uspokoiłeś. Paranoja zaczęła mi się wkradać :) do głowy.
Chociaż Kdm`a zainstalowanego mam, lecz system uruchamiam z gdm`a. Pewnie to jest przyczyną.
Może ten gdm jest odporniejszy na manipulacje z zewnątrz.
Ostatnio edytowany przez zomer (2008-09-23 17:06:01)
Offline
weźcie panowie wypieprzcie te menadżery logowania, bo one tylko zamęt sieją. Zwykła konsola i startx i ma działać.
Offline