suのシェル環境


1

私はいつも利用できるようにしたいlsのエイリアスと修正をいくつか持っています。 sudoを実行した後にrootとしてログインしたときに使用する環境変数を設定することは可能ですか? sudo su


ところで、 "sudo su"はrootユーザーに切り替える正しい方法ではありません。下記の私の答えを見てください。
demianturner

回答:


1

sudoが提供する監査をバイパスするのでsudo suがひどい考えであるという事実は別として、あなたは2つの方法のうちの1つでこれを行うことができます。あなたに必要な変数とエイリアスを与えるためにsudo suの後に実行してください。


rootの.profileを変更しても意味がありません。私がsuを実行してからsu - 私のエイリアスが機能する場合は、suだけが参照する.profileファイルはありますか?私は、suのシェルがshであり、bashではないことを認識していますが、shの環境ファイルがどこにあるのかわかりません。
ridogi

私はsudoersファイルのデフォルトのタイムアウトを増やすことになったので、sudoを使うためにいつもパスワードを入力する必要はありません。あなたが言うように、そのアプローチは私がsudo suを使用するより私より良いでしょう、そしてこれが私の家庭用コンピュータであるので私はより長いタイムアウトについて心配しません、そして常にsudo -kがあります。
ridogi

それは素晴らしいアイデアのようですね。すみません、私は少し外出していました、しかしsudoそれ自体のためのプロフィールがありません。 sudoを使うときは、現在の環境で実行しています。あなたが 'su - 'をすると、あなたは完全に新しいログインを取得するでしょう、そしてあなたはあなたが/ rootにあるrootの.profileを編集する必要があります。 「sudo env」と入力して環境をチェックし、必要なものがあることを確認できます。
atroon

1

suだけの.profileはありませんが、あなたがsu 'しているかどうかを検出する.profileを書くことができます。

もしあなたがそうしているのなら、 "who am i | awk '{print $ 1}'"があなたが来たユーザーになり、 "whoami"があなたになったユーザーになります。

もしこれらが違うのなら、あなたはそれを望んでいます。


それで、これは.bash_profileのシェルスクリプトでしょうか? suを使用した後にエイリアスを設定する例を教えてください。
ridogi

.bash_profileは事実上シェルスクリプトなので、他のスクリプトと同様に扱います。各コマンドに1つずつ、2つの変数を設定して、出力を比較します。
gorilla

1

の「す」 そして スード コマンドは似ているように見えますが、異なるものを表します。

代替ユーザーを表し、より一般的にユーザーの切り替えと呼ばれます。 スード スーパーユーザが行うこと、または「スーパーユーザとしてこのアクションを実行する」を意味します。

を使用してroot用に予約されているコマンドを実行した場合 スード つまり、あなたの環境(パス、変数など)、すなわち/Users/$your_username/.profileファイルに設定されている環境が使用されます。

あなたがタイプするなら つまり、rootユーザーに切り替えてファイルにアクセスし、このユーザーに限定されたバイナリを実行することができますが、あなたはあなたの最後の標準ユーザーの環境でそうするでしょう。

あなたがタイプするなら すー (マイナスに注意)あなたはrootユーザーに切り替えて彼の環境を取得します。

Macでは、/ var / rootにあるrootユーザーには、.profileファイルがありません。この問題を回避するには、ファイルを作成し(ユーザーの.profileファイルをコピーして)、/ var / root /に配置し、エイリアス、パスなどを追加します。このファイルには必要です。

ファイルを起動するには、rootユーザーとしてログアウトし、再度ログインする必要があります。


0

jRandomUserとして、次のように入力します。

sudo bash

jRandomUserのシェルプロファイルを使って(またはあなたが使っているどんなシェルでも)あなたを 'root'にします。タイプ

exit

特権をダンプしてjRandomUserとしての作業に戻ったとき。明らかに、慎重に使用してください。私の.bashrcは私のUID == 0であるときはいつでも私のプロンプトをぎこちない色に設定します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.