Akun pengguna reguler saya adalah, katakanlah, user1. Saya membuat user2 terpisah untuk beberapa aplikasi x yang ingin saya jalankan ketika sedang login ke x sebagai user1 tetapi dengan cara yang akan mencegahnya dari akses baca / tulis ke data user1. Saya pikir saya bisa menggunakan xauth dan sudo / su untuk user2 dari user1 untuk menjalankan aplikasi ini. Bagaimana saya melakukan ini? Saya tidak yakin cara mengkonfigurasi xauth.
48
.Xauthority
file di direktori home user2. Masalah 2: Entah bagaimana dan untuk beberapa alasan saya tidak mengerti, setelah itusu
, XAUTHORITY memegang filepath ke user1's. Tetapi file itu tidak dapat dibaca oleh user2.unset XAUTHORITY
bawah user2hexkey
dalamxauth add
perintah yang sama seperti darixauth list
atau apakah saya harus membuat yang baru acak?Saya memasukkan
.zshrc
garis sayaexport XAUTHORITY=~/.Xauthority
dan sekarang saya bisa mengeksekusisudo -E xcommand
. Setelah banyak googling, bagi saya ini adalah cara termudah.sumber
sudo -E
(dan menggunakan-E
dinonaktifkan pada sebagian besar pemasangan default) karena biasanyasudoers
konfigurasi default akan memungkinkanXAUTHORITY
variabel lingkungan untuk diteruskan ke sudo.-E
. Itu dapat diatur sebagai variabel yang dapat dilewati, dan Red Hat atau Debian menyarankannya.Dengan asumsi debian atau ubuntu (harus serupa pada Red Hat / SUSE).
sumber
sux
tidak terawat (dan dihapus dari repositori Debian / Ubuntu): packages.qa.debian.org/s/sux/news/20140101T172633Z.htmlPertama: Jangan gunakan
xhost +
, itu agak tidak aman (blank allow / deny).Alih-alih menggunakan mekanisme X-Cookie:
Atau, jika Anda telah
sux
menginstal, gunakan itu (lihat jawaban ehempel).Dalam kedua kasus, user2 akan menggunakan cookie rahasia di .Xauthority untuk mengotorisasi ke server X, dan tidak ada orang lain yang akan memiliki akses ke sana.
Catatan:
.Xauthority
, Anda juga dapat menggunakanxauth
untuk mengekstrak dan menyalin kunci otorisasi (lihat jawaban Randall). Jika Anda memiliki beberapa kunci dalam.Xauthority
file ini lebih selektif; kalau tidak, itu adalah masalah selera.sumber
Ini akan memperbaiki masalah untuk semua pengguna:
sumber
Sebagai root:
Di mana nama pengguna Anda adalah nama pengguna Anda :)
Kemudian lakukan su karena pengguna Anda
xclock
harus bekerja jika diinstalsumber
Ini hanya retasan:
sleske di atas, saya pikir, solusi yang tepat.
sumber
ssh -X
adalah solusi yang sangat sederhana dan elegan, tidak tergantung pada hal-hal gtk / kde yang sudah usang / tidak terawat (yang membutuhkan menginstal lebih banyak binari dengan bit SUID ...).Saya menemukan sesuatu yang sangat bagus untuk saya di KDE
sumber
kde-cli-tools
, dan bukan di$PATH
tetapi di/usr/lib/x86_64-linux-gnu/libexec/kf5/kdesu
(jelas tergantung pada arsitektur).Cara ini dibuat di suse / opensuse: http://www.novell.com/support/kb/doc.php?id=7003743
Cukup modifikasi /etc/pam.d/su, tambahkan opsi (cetak tebal):
Maka Anda dapat beralih dengan su tanpa -:
dan jalankan aplikasi secara grafis.
sumber
Untuk GNOME (dan tanpa lingkungan desktop apa pun, saya menggunakannya hanya dengan icewm)
gksu
:sumber