GNU/Linux >> Linux の 問題 >  >> Linux

root が非 root としてコマンドを実行することは可能ですか?

簡単な答え:「はい、可能です」.

X 以外のアプリケーションを実行したい場合は、次のコマンドを使用してください:

<ブロック引用>

sudo -u abc コマンド

X アプリケーションを別のユーザーとして実行したいが、最初に自分のデスクトップでヘルパー スクリプトを作成する必要がある場合は、作業がより簡単になります

  • ホーム ディレクトリの下に bin フォルダを作成します:
<ブロック引用>

mkdir -p ~/bin

お気に入りのテキスト エディターを使用して、ファイル ~/bin/xsudo を作成します。 次のように:

#!/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 - ; $*"

次に実行可能にします:

<ブロック引用>

chmod +x ~/bin/xsudo

sudo と同じように使用します ただし、スイッチなし:

<ブロック引用>

xsudo ユーザー アプリケーション

お楽しみください。

追記xsession を開始 root から アカウントは使用しないことを強くお勧めします!


移植可能なソリューションは次のとおりです:

su abc -c google-chrome

ただし、google-chrome は X11 アクセスを必要とするため、保護を解除しない限り失敗する可能性が高く、特に root として実行している場合は非常に悪い考えです。

X11 のトンネリング/転送が許可されている場合、より良い方法は

ssh -X [email protected] google-chrome

または

ssh -Y [email protected] google-chrome

Linux
  1. リモートアクティブターミナルでコマンドを実行しますか?

  2. 定義されたディレクトリ範囲でコマンドを実行しますか?

  3. 入力でNohupコマンドを実行しますか?

  1. Linux で root 以外のユーザーのコマンドを有効にするための sudo の構成

  2. Windows 用の Make コマンド - 可能なオプションは?

  3. root の .bashrc はどこにありますか?

  1. root ユーザーと非 root ユーザーの異なるシェル

  2. id -r コマンドの適切な構文

  3. 特定のユーザーに対して Linux で特定のコマンドをブロックする