UNIX系OS上で使われるコマンドのひとつ。 例えば一般ユーザーに管理権限を一時的に付与したりするのに使われるが、完全にrootユーザーの代替なども可能。 MacOSXやUbuntuやそれから派生したOSではデフォルトでrootユーザーによるログインやsuは行われず代わりにsudoが管理権限を使う手段として用意されている。
前説:Linux-mintでPythonスクリプト動かせてみようというキッカケ 仮想環境構築:Linux-mint + Python + venv 仮想環境を用意する:AI-Copilotに助けてもらいました sudo python3 -m venv venv ターミナル実行? Win11で動いたのでLinux-mintでもすぐ動くだろうと思ったPythonスクリプト、イロイロ変更・修正が必要でした。
今回はLinuxの頻出コマンドである「sudo」について解説します。 管理者権限は何でもできてしまう Linuxの管理者権限は「最高権限者」なので「何でもいじれてしまう」というメリットでもありデメリットでもある特徴を持っています。 特に初心者の場合、コマンドをちょっと打ち間違ってもそれがそのまま有効になってしまい、重要なシステムファイルを消去してしまったり、重要な設定ファイルを間違った設定にしてしまって致命的な変更をしてしまうなんてことが起こりえます。 そこで重要な変更などをする場合はワンクッション「sudo」という権限が必要な変更ですよ、とLinuxはお知らせしてくれます。 重要な変更を起こ…
/etc/sudoers.d の使用方法 Linux の運用において sudo は日常的に使われるが、 sudoers、特に /etc/sudoers.d/ の設計意図まで正しく理解されていることは少ない。 本記事では、 sudoers.d をどう書き、どう分割運用すべきか その背景として sudo が内部で何をしているのか を、実際の実行結果をもとに整理する。 sudo とは sudo は「root 権限を付与するコマンド」ではない。 sudo が行っているのは、 指定されたコマンドを、指定された条件下で、 一時的に別の UID として実行すること である。 この「条件」を定義しているのが …
ついにWindowsにもsudoが標準実装された訳だが 以前からWindowsのコマンドラインには度々不満が唱えられてきた。それは権限の昇格が面倒という事だ。 以前はrunasを使って権限昇格をする必要があり、度々runasのオプションを指定して起動したり、Adminのパスワードを設定するなどの必要があった。 が、Microsoftもついに重い腰を上げてsudo.exeを24H2で実装した。以前からscoop等でsudoを実装するといった事は出来たが、今回実装されたsudo.exeとは差異が生じていた。
結論 $ sudo visudo して以下を書き加える。 # 単位は「分」 Defaults timestamp_timeout=120 参考
Windows環境を使用している方々にとって、LinuxやmacOSで一般的な「sudo」コマンドはなじみが薄いかもしれません。しかし、Windowsでも同様の管理者権限を持つコマンドを実行する方法が存在します。この記事では、Windows環境でのsudoコマンドの代替手法について解説します。 要約 Windows環境では、「sudo」コマンドそのものは使用されません。その代わりに、管理者権限を持つコマンドプロンプトやPowerShellを使用します。以下に、コマンドプロンプトの方法を詳しく説明します。 コマンドプロンプトを管理者として実行する方法 スタートボタンをクリックし、検索ボックスに「…
概要 スクリプトやツールを使用する際、ログインシェルか、インタラクティブシェルかを考慮しないといけないことがあります。 本記事では、suやsudoを実行した際に起動されるシェルがログインシェルかどうか、インタラクティブシェルかどうかについてまとめます。 本記事の目的 suやsudoを実行した際に起動されるシェルがログインシェルかどうか、インタラクティブシェルかどうかを確認する 目次 概要 基本 前提 suやsudo時のログインシェル、インタラクティブシェル 詳細 suの各実行方法 su su - sudoの各実行方法 sudo -s (--shell) sudo -i (--login) su…
1 sudoコマンドとは? 2 検証環境 3 事前準備 4 sudoersファイルの書式 5 特定ユーザに全てのコマンドの実行を許可する方法 6 パスワード入力を要求しないようにする方法(NOPASSWD) 7 特定コマンドの実行を許可する方法 7.1 単一コマンドの実行を許可する方法 7.2 複数コマンドの実行を許可する方法 8 グループに対してコマンドの実行を許可する方法 8.1 事前準備 8.2 実行結果 9 エイリアス 9.1 コマンドエイリアスの種類 9.2 実行結果 10 ログの保存場所 Z 参考情報 1 sudoコマンドとは? 現在ログインしている利用者が別の利用者(特に特権ユー…
Ubuntuを入れていたPCにDebian 11をインストールしました。デフォルトのままなので、当然ながら一般ユーザーでsudoが使えませんし、ホームディレクトリにある各ディレクトリの名前はカタカナ表記になっています。 いつものことですが、毎回やっているのに設定の仕方を覚えていません(汗)。 今後も同じことを繰り返すでしょうから、この件もブログに備忘録を残すことにしました。 一般ユーザーにsudoを実行する権限を与える 手動で/etc/groupファイルを書き換えてもよいのかもしれませんが、無難にgpasswdコマンドを使います。 たとえば、hogeという一般ユーザーがsudoを実行できるよう…
動作環境 なんでこのメッセージが出るの?原因は? 方法 利用しているユーザの所属グループを調べます。 rootユーザに変更します。 利用しているユーザをsudoグループに追加します 動作確認 動作環境 OS : Debian なんでこのメッセージが出るの?原因は? sudo コマンドを利用したときに、ユーザが sudoグループ に属していないからだそうです。 うん。単純。 なので、利用しているユーザを sudoグループに追加してみます。 方法 利用しているユーザの所属グループを調べます。 $ groups [ユーザ名] [ユーザ名] : [グループ名]... きっと、sudoグループには属して…