GNU/Linux >> Belajar Linux >  >> Linux

Apakah mungkin root menjalankan perintah sebagai non-root?

Jawaban singkat:"Ya, ini mungkin".

jika Anda ingin menjalankan aplikasi non-X maka cukup gunakan perintah berikut:

sudo -u abc perintah

Jika Anda ingin menjalankan beberapa aplikasi X sebagai pengguna lain tetapi dengan desktop Anda sendiri terlebih dahulu Anda perlu membuat skrip pembantu, yang akan membuat hidup Anda lebih sederhana

  • buat folder bin di bawah direktori home Anda:

mkdir -p ~/bin

dan menggunakan editor teks favorit Anda, buat file ~/bin/xsudo sebagai berikut:

#!/bin/bash
# (C) serge 2012
# The script is licensed to all users of StackExchange family free of charge
# Fixes/Enhancements to the script are greatly appreciated. 
# 
# SUDO_ASKPASS has to be set to the path of ssh-askpass
# fix the following two lines if your distribution does not match this autodetection
. /etc/profile.d/gnome-ssh-askpass.sh
export SUDO_ASKPASS="${SSH_ASKPASS}"

SUDOUSERNAME="$1"
shift
xauth nlist "${DISPLAY}"|sudo -HA -u $SUDOUSERNAME env --unset=XAUTHORITY \
bash -c "xauth nmerge - ; $*"

kemudian membuatnya dapat dieksekusi:

chmod +x ~/bin/xsudo

dan gunakan dengan cara yang sama seperti sudo tetapi tanpa sakelar apa pun:

xsudo aplikasi pengguna

Selamat menikmati.

P.S. Memulai xsession dari root akun sangat tidak disarankan!


Solusi portabel adalah:

su abc -c google-chrome

Namun, karena google-chrome memerlukan akses X11, ini kemungkinan akan gagal kecuali Anda tidak mengamankannya, yang akan menjadi ide yang sangat buruk, terutama saat dijalankan sebagai root.

Jika penyetelan/penerusan X11 diizinkan, cara yang lebih baik adalah

ssh -X [email protected] google-chrome

atau

ssh -Y [email protected] google-chrome

Linux
  1. Cara Mengeksekusi Perintah Ping Hanya Untuk N jumlah Paket

  2. Jalankan perintah untuk setiap file di direktori saat ini

  3. Buat perintah untuk Windows - opsi yang memungkinkan?

  1. shell berbeda untuk pengguna root dan non-root

  2. Sintaks yang tepat untuk perintah id -r

  3. Blokir Perintah Khusus di Linux untuk pengguna tertentu

  1. Tetapkan Tanggal dan Waktu untuk Setiap Perintah yang Anda Jalankan di Bash History

  2. Contoh Perintah DNF Untuk Pemula

  3. Jalankan Perintah Di Terminal Aktif Jarak Jauh?