#author("2020-01-02T05:51:39+00:00","default:wikiwriter","wikiwriter") #author("2022-02-04T06:40:34+00:00","default:src128","src128") &tag(sudo); *目次 [#hc5336e9] #contents *参考情報 [#n6f57f00] -[[Ubuntu]] *基本 [#r71c64ac] -/etc/sudoesが設定ファイル。直接編集せずvisudoを使うのがお作法。 *Tips [#b6d6bff3] **パスワード無しで実行 [#v1da19dc] -sudoersファイルを編集 #pre{{ tanaka ALL=NOPASSWD: ALL sora ALL=NOPASSWD: ALL }} **aliasを引き継ぐ [#h3df31a4] -[[なんで末尾にスペース入れるだけで sudo で alias を有効にできるわけ? « blog.hekt.org:http://blog.hekt.org/archives/5085]]にあるようにsudoのaliasを設定しておく。 alias sudo='sudo ' -末尾のスペースは意味が無いように思えるけど、このaliasを解釈するBashが、「最初のコマンド引数のaliasがスペース or タブで終わっていたら、次のコマンド引数のaliasも展開する」という仕様なので意味がある。例えば alias emacs='/usr/local/bin/emacs' と設定しておき、「sudo emacs」を実行する事を考える。sudoに上記alias(='sudo ')が設定されていれば、最初のaliasがスペースで終わっていることになり、次のemacsのaliasが展開されることになる。 **環境変数を引き継ぐ [#ac010ef0] -[[自分好みの環境をsudo時にも使えるようにする - ゆどうふろぐ:http://d.hatena.ne.jp/Yudoufu/20110326/1301129885]]によると。最後のスペースがあればaliasも引き継げる。 alias sudo='sudo -E ' *トラベルシューティング [#gc6985e6] **「sudo su」で.bashrcや.bash_profileが読み込まれない [#z321b2e5] -macOS Catalinaでsudo suを実行した場合、.bashrcや.bash_profileが読み込まれない。 -2020/01/02(木)追加。 -[[sudo command doesn't source /root/.bashrc - Unix & Linux Stack Exchange:https://unix.stackexchange.com/questions/228314/sudo-command-doesnt-source-root-bashrc]]だと/root/.bashrcが読み込まれているようだがmacOSだから? -時間がないのでこれ以上の調査断念。