タグ

sudoとlinuxに関するyukimori_726のブックマーク (7)

  • sudoersのお勉強 - Qiita

    sudoersの【ユーザー名】 ALL = (ALL:ALL) ALLとは一体何表してんのかってことでman sudoersを読んでみた。 (全文読むのは結構時間がかかる上に、知識がないと上の方は恐らく読むことすらできない。わからないけど読みたい方は【Runas_Spec (どのユーザやグループに変身できるか)】あたりから読み始めることをお薦めする。) 【ユーザー名】 ここはユーザー名を指定。 %付きにするとグループ名 最初のALL ホストに対する許可。 ホストに対するエイリアスを書かない限りALL指定で問題ない。 ホスト指定を書かなくてはならないような人は間違いなく趣味人ではなくプロのネットワーク管理者だと思われ・・・ ()内の左のALL どのユーザーになれるか。 当たり前だがALLだと誰にでもなれる。 ここに個々人のユーザー名を書くとその人と同じ権限を得られる。 (つまるところサブの管

    sudoersのお勉強 - Qiita
  • 改めてsudoについて調べてみた - Qiita

    要点 ⑴sudoした場合は環境変数を引き継がない。 ⑵sudoで環境変数を引き継ぐにはsudo -E some_commandかsudoersにenv_keepを書く。 ⑶sudo ${pathが通っているコマンド}を実行する場合、カレントユーザのpathによって実行するコマンドが決まる。 sudoについて調べたきっかけ 今まで「root権限でコマンドを実行したい場合」にsudoを使っていたのですが、 とあるrubyのスクリプトをsudoで実行したところ以下のようなエラーがでました。 $ sudo /usr/local/hoge/fuga.rb /usr/local/hoge/fuga.rb:3:in `require': no such file to load -- thor (LoadError) from /usr/local/hoge/fuga.rb:3 rootとカレントユーザ

    改めてsudoについて調べてみた - Qiita
  • sudoのパスワード入力で\*(アスタリスク)を表示させる | 俺的備忘録 〜なんかいろいろ〜

    コンソールでsudoコマンドを利用する際、パスワードの入力を行うように促される。 で、当たり前といえば当たり前だが、セキュリティの観点から入力した文字数も分からないようにしている。 でも、何文字打ったのかわからないし、文字入力間違えた際にバックスペースで削除しても、文字がちゃんと消えているか不安… そんな時は、sudoの設定値に以下のように「pwfeedback」を追加することで、パスワードの入力文字を「*(アスタリスク)」にすることが出来る。 変更する箇所は以下。 Before Defaults env_reset After Defaults env_reset,pwfeedback 編集の際は、「visudo」コマンドを利用すると良いだろう。 設定以後のセッションは、以下のようにアスタリスクが表示されるようになる。

  • sudoで環境変数を引き継ぎたい|ざる魂

    sudo -u hogeなどで実行すると、sudoを実行したユーザの環境変数が引き継がれない。 昔は、こんなこと考えずに引き継がれてた気がするが、どうやらsudoのバージョンが上がって 仕様変更されたらしい。 http://arika.org/2009/04/24/sudo-and-env 環境変数を引き継ぐためにはvisudoを使ってsudoersファイルに環境変数を記述するのが 定石のようだが、/etc配下はできるだけ触りたくない。 そこで下記の方法を見つけた。-Eをつけるだけで良いらしい。 http://d.hatena.ne.jp/Yudoufu/20110326/1301129885 ただし、man sudo しても-Eオプションは何故か載っていなかった。 (manにないだけで実際には使用できる。) manの最後にver1.6.6とあるのでマニュアルが古いと思われる。 sudo[

  • 最近のsudoと環境変数

    sudoの環境変数の扱い方が最近になって変わっていることに気付いた。最近といっても一〜二年はたっているかもしれない。 sudoを介してコマンド実行するとき、あらかじめ決められた環境変数以外は消し去されてしまう。このためたとえば次のようなコマンド実行は意図通りには動かない。 $ GEM_HOME=/tmp/GEM sudo gem install rails 従来、このようなときにはenvを使って回避というのが一つのやり方だったように思う。もちろんsudoersでenvの実行が許可されていなければならない。 $ sudo env GEM_HOME=/tmp/GEM gem install rails sudo 1.6.9以降になると以下のような記述が可能となり、わざわざenvを使う必要がなくなった(バージョンは多少違うかもしれないが、少なくともDebian/etchの1.6.8p12ではこの

  • 【Linux】"sudo -s"を禁止する方法 - 私は素人サーバ管理者

    前回書いたように、"sudo -s"は対話式シェルを起動できるので、root権限で色々と作業したいときに大変便利ですが、ログに起動したシェル上で行った作業が記録されないという問題があります。 ユーザに特定のコマンドしかsudoさせない場合、"sudo -s"の利用は禁止するのが望ましいです。 /etc/sudoersではオプション利用が禁止できない sudoコマンドの設定は、visudoコマンドで/etc/sudoersファイルを編集して行います。 ところが、/etc/sudoersファイルでは特定のオプション禁止することができません。 シェルコマンドを1つ1つ禁止する "sudo -s"は実行されると環境変数SHELLに設定されたシェルを起動します。 つまり、"sudo -s"は"sudo $SHELL"と同じです。 そのため、$SHELLに設定される可能性がある、/bin/bash、/

    【Linux】"sudo -s"を禁止する方法 - 私は素人サーバ管理者
  • rootのパスワードが必要なスクリプトを書く場合の注意点 - スコトプリゴニエフスク通信

    MySQLのrootユーザーのパスワードが必要なスクリプトを書く場合、 #!/bin/bash mysqladmin -uroot -ptiger ping のようにスクリプト自体にパスワードを書くのではなく、rootのHOMEディレクトリの.my.cnf(/root/.my.cnf)の中にパスワードを書き、rootユーザにしか読めないように600にしておく。 # cat > /root/.my.cnf [client] user = root password = tiger [mysqladmin] user = root password = tiger # chown root:root /root/.my.cnf # chmod 600 /root/.my.cnf と、ここまではいいのだが、テストとして、 $ sudo mysqladmin ping mysqladmin: co

  • 1