私は走っています
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
source
このファイルをルートではなくファイルにする方法はありますか?root以外のユーザーとしてエイリアスを実行したいです。このようにsudoで実行できますか?
$ sudo ksession
試しましたが、次のエラーで失敗しました。
amit@c0deDaedalus:~$ sudo ksession sudo: ksession: command not found
そうでない場合、root以外のユーザーからrootエイリアスを実行する回避策はありますか?
ベストアンサー1
ルートにはエイリアスは必要ありません。個人的なものが必要な場合は、他のユーザーアカウント(この場合はrootアカウント)の内容を変更しないでください。
ksession
シェルスクリプトで作成し、sudo
必要に応じてスクリプトで使用してください。たとえば、スクリプトをプライベートディレクトリに配置し、ディレクトリがディレクトリ$HOME/bin
の一部であること、およびスクリプトが$PATH
実行可能であることを確認します。
または、それをシェル関数で作成してファイルに入れます~/.bashrc
。この機能はsudo
必要に応じて使用できます。
または、別名で作成して~/.bashrc
ファイルに入れます。sudo
必要に応じてエイリアスを使用できます。
あなたのコマンドは組み込みコマンドであり、外部コマンドが必要なためsudo source ...
機能しません。source
bash
sudo
動作しても、sudo
呼び出しコマンドは独自のサブシェルで実行されているため、呼び出しシェルでエイリアスは有効になりません。