root以外のユーザーとしてrootエイリアスを実行するにはどうすればよいですか?

root以外のユーザーとしてrootエイリアスを実行するにはどうすればよいですか?

私は走っています

Linux 4.4.0-116-generic Ubuntu + KDE ( x86_64 GNU/Linux )

ksession特定のセッションを終了するためにエイリアスを実行したいと思います。同時に、私は他の人ではなく、私だけがこのエイリアスを実行できるようにしたいです。そのため、ディレクトリ.bashrc内のファイルを見つけて名前/rootでエイリアスを追加し、コマンドをksession実行してみましたが、うまくsourceいかず、次のエラーが発生しました。

amit@C0deDaedalus:~$ source /root/.bashrc
bash: /root/.bashrc: Permission denied

amit@C0deDaedalus:~$ sudo source /root/.bashrc
sudo: source: command not found
  1. sourceこのファイルをルートではなくファイルにする方法はありますか?

  2. root以外のユーザーとしてエイリアスを実行したいです。このようにsudoで実行できますか?

    $ sudo ksession
    

    試しましたが、次のエラーで失敗しました。

    amit@c0deDaedalus:~$ sudo ksession
    sudo: ksession: command not found
    
  3. そうでない場合、root以外のユーザーからrootエイリアスを実行する回避策はありますか?

ベストアンサー1

ルートにはエイリアスは必要ありません。個人的なものが必要な場合は、他のユーザーアカウント(この場合はrootアカウント)の内容を変更しないでください。

ksessionシェルスクリプトで作成し、sudo必要に応じてスクリプトで使用してください。たとえば、スクリプトをプライベートディレクトリに配置し、ディレクトリがディレクトリ$HOME/binの一部であること、およびスクリプトが$PATH実行可能であることを確認します。

または、それをシェル関数で作成してファイルに入れます~/.bashrc。この機能はsudo必要に応じて使用できます。

または、別名で作成して~/.bashrcファイルに入れます。sudo必要に応じてエイリアスを使用できます。


あなたのコマンドは組み込みコマンドであり、外部コマンドが必要なためsudo source ...機能しません。sourcebashsudo

動作しても、sudo呼び出しコマンドは独自のサブシェルで実行されているため、呼び出しシェルでエイリアスは有効になりません。

おすすめ記事