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

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


3
リダイレクトせずにファイルに書き込みますか?
特別なファイルを作成し、それに魔法のクッキーを書き込む必要がある通常のコンパイル済みアプリケーションを書いています。アプリケーションから直接ファイルを書き込むことはできません。システムセキュリティモデルでは、トリックを実行するために昇格された特権でヘルパーツールを起動する必要があります。ヘルパーツールに任意の数の引数を指定できます。次に、ヘルパーツールとして機能し、ファイルを作成する非常に単純なシステムコマンドを選択します。このようなもの: /bin/sh -c "/bin/echo -n 'magic' > /some/where/file" Simple touchは、Cookieをファイルに書き込む必要があるため、カットしません。echoシェルラッパーなしのSimple は、ファイルを書き込むためにリダイレクトが必要なため機能しません。そのような些細なタスクを実行するためにroot特権でシェルを呼び出すのは快適ではありません。ファイルを書き込むために呼び出すことができる本当にシンプルで制約のあるシステムコマンドはありますか?



1
「sudo」を起動したユーザーの名前を取得する方法
私の問題:Pythonプログラムがあり、ユーザーはを使用してそれを起動しsudoます。時々私はユーザーの家を取得しなければならない、そしてそれは私がその名前を知っているだけでこれを行うことができる: import pwd pwd.getpwnam(username) それで、プログラムを起動したユーザーの名前を取得するにはどうすればよいですか?
12 users  sudo  python 

1
キーファイルをsudoのパスワードとして使用できますか?
環境 私はラップトップで公共の場所で作業するのが好きですが、パスワードなしでsudoを使用するのも好きです。私が今知っていることに基づいて、私はNOPASSWD自分のsudoersファイルでオプションを使用しますが、もちろん誰でも希望どおりにsudoを使用できます。 私の頭に浮かぶ重要な考えの1つは、ロックプログラムが存在するということです。 ただし、(1)高速で、(2)パスワードを入力するよりも簡単で、(3)自分のコンテンツにアクセスしたり、悪意のある行為をしたりする心配がないため、フラッシュドライブを使用することをお勧めします(sudoだけに使用します)。物事:ラップトップは他の人々の周りに公開され、私のラップトップの唯一の知的財産は非常に基本的なAngularプロジェクトです。 さらに、私や他の人は、XまたはWayland環境を実行していないコンピューターでのsudoの誤用を防ぎたいと思うかもしれません。現在の作業には最新のWebブラウザが必要ですが、Xを使用せずにマルチプレクサを使用する機会があれば、それを行います。ラップトップは少し古くて遅いです。 質問 私がやりたいのは、キーファイルをフラッシュドライブに置き、ラップトップにいるときにフラッシュドライブを差し込んで、そこから離れたときにそれを取り出すことです。 そこで、この問題から派生した私の3つの質問を次に示します。 これはsudoでそのまま可能ですか? そうでない場合、これを可能にするプログラムを作成できますか? もしそうなら、どの言語がこのプログラムを書くのに最適でしょうか? (4. [たぶん無関係な質問]このパッケージは別個のものですか、それともsudoのフォークである必要がありますか?) 注意 関連する場合、私のセットアップはデスクトップ環境のないbspwmを備えたArch Linuxです。私の仕事のほとんどは、urxvt / vimでのWeb開発と、Chromeでのチェックです。
11 sudo  usb  usb-drive 

1
sudoersとデフォルト
ユーザーがttyなしでパスワードなしのsudoを実行できるようにする必要があります。 ファイルを/etc/sudoers.d/直接編集したくないので、必要な特別なコマンドと設定を含むsudoersファイルがあります。そのファイルには、次のものが含まれています。 # My list of commands that the user can run passwordless myUser ALL=(ALL) NOPASSWD:SETENV: /foo/bar /foo/zaz # My new defaults. Defaults exempt_group = myUser Defaults !env_reset,env_delete-=PATH Defaults: myUser !requiretty ただしsu、ユーザーにアクセスして実行するsudo -lと、デフォルトで次のようになります。 Matching Defaults entries for myUseron this host: requiretty, !visiblepw, always_set_home, env_reset, env_keep="COLORS DISPLAY HOSTNAME HISTSIZE INPUTRC KDEDIR …
11 sudo  sudoedit 

3
sudo -iがエラーを返す
rootに切り替えようとするとsudo -i、エラーが発生します/var/tmp/sclDvf3Vx: line 8: -i: command not found...しかし、su -引き続き使用することはできます。私は決してLinuxシステム管理者ではないので、環境はまだかなりぼんやりしています。私の質問は次のとおりだと思います: エラーがスローされるのはなぜですか? 2つのコマンドの違いは何ですか? なぜどちらを使うのですか? 更新: CentOSバージョンを使用しています。CentOSリリース6.6(最終) は、以下のコメントで、実行を要求されたいくつかのコマンドの出力です。 type sudo : sudo is /opt/centos/devtoolset-1.1/root/usr/bin/sudo sudo -V : /var/tmp/sclIU7gkA: line 8: -V: command not found grep'^root:' /etc/passwd : root:x:0:0:root:/root:/bin/bash 更新: これは、C ++ 11のサポートが必要だったため、しばらく前に非rootユーザーの〜/ .bashrcに追加されました。コメントアウトして、再SSHすると、sudo -iを問題なく実行できます。 if [ "$(gcc -dumpversion)" != "4.7.2" ]; then scl …

4
「sudo」パスワードが「su root」パスワードと異なるのはなぜですか
私の個人用マシンでは、sudo管理タスクを実行するために特定のコマンドの前にタイプすることがよくあります。su root普段と同じパスワードを入力して入力することで、1日中これを回避することを望んでいましたsudo。ただし、2つのパスワードは同じではありません(にログインする方法がわかりませんsu root)。コマンド実行しているsudoと、ログインとは異なるsu rootと同じコマンドを実行しているの? 私が考えるsudoとsu root同じですが、私が入力したときので、sudo whoami私が得る、rootちょうどとは反対に、whoami私は私のユーザー名を取得する場所。

4
sudo権限は拒否されましたが、suは権限を付与します
これは、suが必要になった最初の事例です。 / sys / devices / virtual / backlight / acpi_video0 / brightnessの値を変更してラップトップの画面の明るさを変更する方法についての記事を読みました。 最初に気づいたのです$ sudo echo 10 > brightnessが、許可されると拒否されました。 suを使用してrootに切り替え# echo 10 > brightness、ほぼ瞬時に明るさを変更しました。 最後に奇妙なことが起こったのは# echo 20 > brightness(maxbrightnessファイルに値15が保持されている)試し、書き込みエラーが発生したときです。 誰かがsudoとsuのこの違いを私に説明できますか?書き込みエラーを理解することは、追加のボーナスになります。ヘルプ、ポインタ、および/またはリンクをいただければ幸いです。
11 permissions  sudo  su 

1
sudoを実行する前に、sudoの機能を確認できますか?
小さなユーティリティプログラムを書いています。sudo必要に応じて、何かを実行しようと思います。 つまり、ファイルのアクセス許可で現在のユーザーが特定のファイルを操作できない場合(およびsudoルールで許可されている場合)sudo、ファイルの所有者としてユーティリティを実行する必要があります。 システムログが失敗したsudo試行のノイズでいっぱいにならないようにしたいので、この機能を事前に確認したいと思っています。それsudo自体が失敗について報告するように:「この事件は報告される」 だから、私はプログラムでチェックしたいと思っています:経由で実行できuser <x>ますか?command <y>sudo ここに問題があり/etc/sudoersます:そのマッピングが含まれていますが、それはroot所有であり、通常のユーザーは読み取ることができません。 実行するサブプロセスを生成することを検討していましたsudo -l(現在のユーザーがsudo実行できるコマンドを出力します)。次に、これの出力を解析します。ただし、これは少し壊れやすいようです。出力には必要な情報が含まれていますが、それは人間が読むために設計されたようです(プログラムによる消費用ではありません)。出力が将来同じ形式に従うか、または異なるプラットフォーム間で保証されるかどうかはわかりません。 プログラムによるsudo -l出力の解析は安全ですか?そうでない場合、sudoコマンドが成功するかどうかを事前に判断するためのより良いオプションはありますか? (X / Yの背景:このユーティリティは、アクセスが制限されたロールアカウントで使用するためのものです。他の一部のユーザーは、sudoルールを使用して、アクセスが制限されたアカウントがファイルを操作できるように効果的にオプトインすることを期待しています。しかし、他のどのユーザーが適切なsudoルールを設定しているかを事前に知りません)
11 sudo 

4
Bashパス補完はsudoでどのように機能しますか?
タブパスの補完が機能しない(少なくともUbuntuおよびAFAIK Archでは) sudo mount <whatever> マウントしようとしているISOファイルがにありません/etc/fstab。入力するだけで mount <whatever> 補完が機能します(ただし、ルートではないため、コマンドは失敗します)。どうやらそれsudoを壊すのです。 sudoで補完を機能させるにはどうすればよいですか? それは驚くべきことです sudo umount <whatever> 完成作品。それはどのように達成されますか?調べます/etc/fstabか? 解決策:渡された引数を使用して、/usr/local/binその呼び出しにシェルスクリプトを挿入しますsudo mount ...。sudo邪魔はないので、このスクリプトを呼び出すと補完が機能します。

1
構成ファイルでsftp -sサブシステムオプションを設定する方法
sftpコマンドは、リモートユーザーがリモートのsftp-server実行可能ファイルを選択し、オプションでそのようなプロセスでsudoにアップグレードできるようにするサブシステムオプション(-s)をサポートしています。 sftp -s "/usr/bin/sudo /usr/libexec/openssh/sftp-server" xxx.yyy.zzz.aaa このコマンドは〜/ .ssh / configのsshクライアントオプションに従い、pubkeyおよびカスタムポートとユーザー設定の透過的な使用を許可します。 ただしsubsystem、sftp固有であるように見えるため、構成ファイルで設定されておらず、sftpのコマンドラインオプションとして設定する必要があるようです。 ただし、一部のツールはsftp呼び出しをラップするため、サブシステムオプションを設定できず、ユーザーアクセスが停止します。 openssh sftpに対してこれを設定するために使用できるいくつかの構成オプションファイルはありますか? gnome nautilusがファイルマネージャー統合のためにsftpを呼び出す方法に影響を与える構成ファイルはありますか? ハックしているが機能する可能性のあるソリューションの更新は... したがって、sftpがオプションに使用する明確な構成ファイルがないことが判明したため、汎用ラッパースクリプトを変更して、選択したホストにオプションを明示的に追加し、これをパスに追加しました。 #!/bin/bash # Generic shell wrapper that performs an operation OPERATION=/usr/bin/sftp args=("$@") #the final arg should contain a hostname of the form [user@]host[:path] case "${args[@]: -1}" in myserver.com) exec $OPERATION -s "/usr/bin/sudo /usr/libexec/openssh/sftp-server" …
11 sudo  openssh  sftp  sshfs 

3
実際に `sudo`を必要としないコマンドが与えられたときに、sudoはどのようにパスワードを要求するかどうかを決定しますか?
sudo実際に必要のないコマンドに適用するとsudo、 ときどき、パスワードの入力を求められません。たとえば、私のの下$HOMEでsudo ls。 しかし、私はそれが他のいくつかのコマンドのために機能することを覚えていますが、どちらのコマンドを忘れたかです。 それでsudo、実際には必要のないコマンドが与えられたときに、パスワードを要求するかどうかをどのように決定するのかと思っていましたsudoか?/etc/sudoersそれを指定する際にいくつかのルールはありますか? 私の本当の問題は、を使用するとdu、一部のディレクトリに対して「アクセス権が拒否されました」と表示されることがあり、場合によっては表示されないことがあります。おそらく、一部のディレクトリに対するアクセス権がないためでしょうか?私sudoはdu関係なく申請し、私は関係なくパスワードを求められると思いましたが、実際には自分のディレクトリにはありません。
10 sudo  password 

2
`sudo find`コマンドで、` -exec`コマンドが通常のユーザーとして実行されていることを確認するにはどうすればよいですか?
process_pathsスクリプトが昇格された特権で実行されないように、次のコマンドを機能させようとしています。これを行う方法はありますか? sudo find /path/ -exec process_paths '{}' \+ ここに/path/は、通常のユーザーに読み取り権限のないファイルがいくつかあります。スクリプトprocess_pathsにはパスが必要です。
10 find  sudo  su 

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