nice 値が -20 のプロセスを開始し、ルート権限を与えないようにするにはどうすればよいですか?

nice 値が -20 のプロセスを開始し、ルート権限を与えないようにするにはどうすればよいですか?

プロセスをnice値-20で開始したいのですが、これには次のようなコマンドを使用する必要があります。

sudo nice -n -20 matlab

ただし、これにより matlab も root として起動します。matlab を非 root として起動する方法はありますか?

私の現在のアプローチは

sudo nice -n -20 sudo -u myusername matlab

これはハックのように見えます。これを直接行う方法はありますか?

答え1

通常どおり起動して、その後「renice」を使用します...

しかし、私は「su」を使って簡単にハックすることができました。

sudo nice -n -20 su -c command_to_run user_to_run_as

sudo にパスワードを与える必要がない場合 (おそらくすでにパスワードを与えている)、 を追加して&全体をバックグラウンドで実行することができます。

すでに sudo コマンドで root になっているので、suパスワードは要求されません。X のターミナル エミュレータから X プログラムを起動できました。X セッションを所有しているユーザーとは別のユーザーとして X プログラムを実行する場合は、X に明示的に許可するように指示する必要があります (そのユーザーの X クライアントに対して開く)。

答え2

これは、ファイルを変更することで実行できることが分かりました/etc/security/limits.conf(少なくとも一部の Linux ディストリビューションでは)。私の場合は、単に次のコードを追加しました:

#<domain>    <type>  <item>  <value>
my_user        -     nice       -20`

実行できます

nice -n -20 matlab

変更を保存した後、ログアウトして再度ログインしてください/etc/security/limits.conf

これ答えその理由を説明します。

答え3

さらに一歩進んで、@Jordan:sudo nice -n -xx su <username> -c matlabハッキングに対するエレガントな解決策をご紹介します。

注: username= sid、matlab meta-data dir= /var/lib/matlab、nice=を使用します-10-- 自由に変更してください

  1. MATLABメタデータディレクトリを作成する
    sudo mkdir /var/lib/matlab
    
  2. 指定されたユーザーを追加して、matlab を起動し、適切な権限を取得します。
    sudo useradd -d /var/lib/matlab sid
    sudo chown sid:sid /var/lib/matlab
    
  3. ユーザーパスワードを設定する
    sudo passwd sid
    
  4. 以下を追加/etc/security/limits.conf
    sid - priority -10
    
  5. ログインを自動化するための ssh キーの設定とコピー (オプション)
    ssh-keygen -t rsa #following key passwd misc   
    ssh-copy-id sid@localhost #using sid's passwd
    
  6. matlabシェルラッパーを作成する(修正)サイレントフェイルエラー
    sudo -i
    cat &lt;&lt;EOF &gt;&gt;/usr/local/bin/wmatlab
    #!/bin/bash --
    # A wrapper to launch matlab
    /usr/local/MATLAB/&lt;version&gt;/bin/matlab -desktop
    EOF
    chmod +x /usr/local/bin/wmatlab
    
  7. 「sid」のログインシェルを調整する
    sudo usermod -s /usr/local/bin/wmatlab sid
    
  8. ssh使用してmatlabを起動しますXforward
    ssh -X sid@localhost
    

答え4

@jordanm が言ったように、sudo はやめてください。自分のプロセスに nice を付けて優先度を下げることができます。

nice -20 matlab

いいえsudo

関連情報