タグ付けされた質問 「sudo」

sudo-スーパーユーザー権限でコマンドを実行します。


5
どうすればすぐにsudo suしてディレクトリを変更できますか?
次のようなエイリアスを作成したいと思います。 alias userYYY='sudo su userYYY; cd /a/path/that/only/userYYY/has/access' それで、コマンドラインからsudoユーザーでuserYYYログインしuserYYYてpwdい/a/path/that/only/userYYY/has/accessます。エイリアスを入力して、シェルがでログインされるようにします。 どうやってやるの?これuserYYYはいくつかのプロセスを実行するためのものであり、そのホームには何かがなければなりません。したがって、次のコマンドを使用して$ HOMEを変更してみました。 sudo usermod -m -d /a/path/that/only/userYYY/has/access userYYY そして、私のシェルから私のsudoerファイルを使用しましたsudo su userYYY。しかし、それはうまくいきませんでした。機能したのは1つだけでしたsudo su -l userYYYYが、元のシェル(-bash-4.1$ ....)内に新しいbashが開きました。 要約すると、私が欲しいのは、シェルに2行を記述する必要を単に回避することです。 sudo su userYYY cd /a/path/that/only/userYYY/has/access 何か案は?
13 bash  shell  sudo  su 

2
シェルスクリプト:sudoを使用するか、sudoで実行するか?
すべてのコマンドではなく一部のコマンドがスーパーユーザー権限を必要とするシェルスクリプトを記述する場合、 スーパーユーザー権限が必要なコマンドにsudoを追加し、sudoなしでシェルスクリプトを実行する、または スーパーユーザー権限が必要なコマンドにsudoを追加しないでください。ただし、sudoを使用してシェルスクリプトを実行しますか? 2番目の方法では、パスワードを1回入力するだけで済みますが、スクリプト内のすべてのコマンドは、不要なコマンドを含め、スーパーユーザー特権で実行されます。 最初の方法では、さまざまなsudoコマンドにパスワードを複数回提供する必要があるかもしれませんが、スーパーユーザー権限はそれらを必要とするコマンドにのみ付与されます。 セキュリティ上の問題から、最初の方法の方が優れています。便宜上、2番目の方法の方が適しています。 最初の方法を採用することを考えています。したがって、シェルスクリプトで複数のsudoコマンドにパスワードを提供するという不便さに対処する必要があります。 スティーブン・ハリスは書きました: 適切に作成されたスクリプトは、適切な権限で実行されているかどうかを検出し、sudoをまったく呼び出さないでしょうが、多くの不正なスクリプトがあります だから私は2番目の方法を使うべきですか?もしそうなら、 「スクリプトが適切な権限で実行されていて、sudoをまったく呼び出さないかどうかをスクリプトが検出する」と書くにはどうすればよいですか? sudoを使用してスクリプトを実行するときに、スーパーユーザー特権を必要としないコマンドにスーパーユーザー特権を与える問題を回避するために、セキュリティをどのように改善できますか? この単純なアプローチは、両方のアプローチの中で最も優れていますか?それを必要とするだけのコマンドにsudoを追加し、利便性とセキュリティのどちらを望むかに応じて、sudoの有無にかかわらずスクリプトを実行しますか?このアプローチには問題がありますか? ありがとう。

1
スクリプトでsudoを使用しているときにGUIプロンプトでパスワードを要求するにはどうすればよいですか?
Trisquel GNU / LinuxをGNOME Flashbackデスクトップ環境で使用しています。sudoスクリプトを使用してコマンドを実行するためのユーザーのGUIパスワードプロンプトが必要です。次のスクリプトの例を検討してください。 zenity --question --text="Do you want to install this package?" if [[ $? -eq 0 ]]; then sudo apt-get install package else zenity --warning fi これは次の方法で実行されます(実行)、つまりターミナル内ではありません。 そのため、コマンドを実行するためにパスワードを要求する必要がありますsudo。そうしないと、ジョブを実行できません。 したがって、GUIプロンプトでパスワードを尋ねるにはどうすればよいですか?

2
ファイルの所有者を変更せずにsudoでコマンドを使用するにはどうすればよいですか?
sudoを使用してファイルを操作すると、これらのファイルの所有権が変更されます。ファイルの所有者を変更せずにsudoでコマンドを使用するにはどうすればよいですか? サンプルファイルarchivos35.shはApacheのものですが、sedを使用します(usr admin sudoを使用) $ ls -l -rwxr-xrw-. 1 apache apache 181 Aug 5 11:56 archivos35.sh adminsudoを持つユーザー--- sudo sed -i s/old/new/g archivos35.sh ただし、sudoでこのコマンドを実行すると、ファイルの所有者が変更されます $ ls -l -rwxr-xrw-. 1 admin apache 181 Aug 5 11:56 archivos35.sh sudoでコマンドを使用してファイルの所有者を変更しないようにするにはどうすればよいですか?所有者を変更せずにファイルを変更したいだけです。
12 sed  sudo  ownership 


11
「sudo su-」内でコマンドを記録する方法は?
もし私が: [user@notebook ~] sudo echo 123456uu 123456uu [user@notebook ~] その後、ログでそれを見ることができます: [root@notebook /var/log] grep 123456uu * auth.log:Jan 9 17:01:51 notebook sudo: user : TTY=pts/3 ; PWD=/home/user ; USER=root ; COMMAND=/bin/echo 123456uu [root@notebook /var/log] しかし、私が: [user@notebook ~] sudo su - [root@notebook ~] echo 1234567zz 1234567zz [root@notebook ~] ログに表示されません: [root@notebook /var/log] grep 1234567zz …
12 sudo 


2
ルートパスワードを変更してもsudoパスワードは変更されません
sudoUbuntuで実行するときに要求されるパスワードを変更しようとしています。ランニングsudo passwdやsudo passwd root私に二つの新しいパスワードのプロンプトを与え、それが成功したパスワードを変更しません。 しかし、その後、sudo別の目的で再度実行するときに古いパスワードを使用できます。まったく同じパスワードを持つユーザーがいますが、違いがあるかどうかはわかりません。ルートユーザーを有効にすると、新しいパスワードがルートユーザーアカウントで機能することがわかります。 そのため、rootパスワードは変更されますが、のパスワードは変更されませんsudo。 sudoパスワードを変更するにはどうすればよいですか?
12 linux  ubuntu  root  sudo 

2
zshはvimを.vimに修正したい
Gentoo x64でzshを使用sudo vim /path/to/file しています。ホームフォルダーから入力すると、zshは次のように尋ねます。 zsh: correct 'vim' to '.vim' [nyae]? フォルダーでvimはなく実行したい.vim。どうすれば修正できますか? 私の推測でsetopt autocdは、これが原因です。奇妙なことは、私が追加しない場合sudo、zshは何も修正するように求めません。
12 zsh  sudo  gentoo  line-editor 

6
Ubuntuでsudoを取得する方法は?
私はこれをやった: sudo chown -R myname /usr/ そして今、私sudoはこのエラーのためにコマンドを使用できません: sudo:setuidルートである必要があります そして私が読んだように、これはこのファイルの所有者が/usr/bin/sudoルートではないことを意味します。/usrフォルダーのチャウンのため、今では私のユーザーです。 多くのフォーラムやブログでは、これをrootで行うことを提案しています: # chown root:root /usr/bin/sudo # chmod 4111 /usr/bin/sudo ...しかし、これに関する問題は、ルートとしてログインする必要があることですsuが、端末に書き込むとパスワードが間違っているため、実際にはできません(実際にユーザーに追加したパスワードを使用します): $ su Password: su: Authentication failure sudoコマンドを取り戻すことはできますか? 編集:私のUbuntuはMac OS XのParalellsの下にあります。


3
構成ファイル '/ dev / fd / 63'を開けませんでした、エラー:wpa_supplicantにそのようなファイルまたはディレクトリはありません
私がこれをするとき: sudo wpa_supplicant -D nl80211,wext -i wlp4s0 -c <(wpa_passphrase "some ssid" "password") 私は得る Successfully initialized wpa_supplicant Failed to open config file '/dev/fd/63', error: No such file or directory Failed to read or parse configuration '/dev/fd/63' 何か案は?

2
root以外のユーザーがインスタンスを使用してsystemdサービスを制御できるようにするにはどうすればよいですか?
dbaグループのユーザーがdatabase@サービスを制御できるようにする必要があります。この関連する質問に対する答えsystemctlは、sudoersファイルに許可したいすべての「動詞」をリストすることですが、システムに存在する可能性のあるデータベースが事前にわからないため、私のケースには当てはまりません。たとえば、私がリストした場合 %dba = /usr/bin/systemctl start database@awsesomeapp %dba = /usr/bin/systemctl start database@anotherawsesomeapp %dba = /usr/bin/systemctl start database@yetanotherawsesomeapp %dba = /usr/bin/systemctl start database@wowyetanotherawsesomeapp # ... other "verbs" omitted for brevity 将来存在する可能性のあるインスタンスは対象外であり、dbaは $ sudo systemctl start database@omgwowyetanotherawsesomeapp とにかく、私は特定のシステムをいじるよりも、パッケージの点で多くのことを考えています。 別の関連する質問に対するこの驚くべき回答に示されているように、これにsudoグロブを使用することは、最終的に安全ではないことに注意してください。 %dba ALL = /usr/bin/systemctl start database@[a-z]* # UNSAFE! 許可します $ sudo systemctl start database@awsesomeapp …

1
ルートシェルはpipを認識しますが、sudo pipは「コマンドが見つかりません」
私はpython 2.7.8をインストールmakeしmake install、次にget-pipを介してpipをインストールしました。私が経由して設定したプロキシの背後で作業していることに注意する必要があります http_proxy ftp_proxy https_proxy に 私のユーザーの ~/.zshrc ルーツ /root/.basrc 今、私は走ることができます pip 私のユーザーアカウント rootアカウント しかし、sudoを使用してユーザーのシェルから実行することはできません sudo pip sudo: pip: command not found ここで何が問題になっていますか?

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