OpenBSDのdoasの概要

バックグラウンド

OpenBSDの代替sudoはですがdoas、sudoと同じようには機能せず、いくつかの設定が必要です。これは、「専用のopenbsdアプリケーションサブエグゼキュータ」の頭字語です。2015年にリリースされたOpenBSD 5.8が最初に組み込まれましたdoas。Ted Unangstは、sudoの複雑さに不満があり、デフォルトのsudo構成に問題があった後に作成されました。

このdoasコマンドは設計上単純であり、複雑なsysadminインフラストラクチャに必要な高度な機能は含まれていません。ほとんどの人にとって、それは十分すぎるほどです。必要な場合sudopkg_add sudo、ルートとしてインストールしてください。

取り付け

OpenBSDバージョン5.8以降がdoasプリインストールされています。

構成

wheelグループのユーザーにへのアクセスを許可するdoasには、に以下を追加します/etc/doas.conf。このファイルを編集するには、rootアクセスが必要です。

permit :wheel

これにより、wheelグループのすべてのユーザーに、任意のユーザーとしてコマンドを実行する権限が付与されます。

ユーザーが一度パスワードを入力できるようにして、しばらくの間パスワードを入力する必要がないようにする場合は、persistオプションを使用します。次に、wheelグループにのみ権限を付与する例を示します。

permit persist :wheel

nopassパスワードを入力する必要がないようにする場合は、代わりにオプションを使用できます。

permit nopass :wheel

ユーザー「mynewuser」に管理者権限を持たせたい場合は、usermod -G wheel mynewuserrootとして実行してユーザーをwheelグループに追加するか/etc/doas.conf、次のように行を追加してください。

permit nopass :wheel
permit nopass mynewuser

この例では、を使用するときにユーザーがパスワードを入力する必要がないことを前提としていますdoas。mynewuserがwwwユーザーとしてのみコマンドの実行を許可されるように設定する場合、構成は次のようになります。

permit nopass :wheel
permit nopass mynewuser as www

mynewuserがdoasで "vim"コマンドのみを使用できるようにするには、次の構成を使用します。

permit nopass :wheel
permit nopass mynewuser as www cmd vim

他にも設定オプションがありますが、ここで取り上げているものが最も一般的です。詳細については、コマンドman doas.confを使用してdoas.conf(5)のマンページを参照してください。

構成ファイルのテスト

構成ファイルをテストするには、doas -C /etc/doas.confコマンドを使用します。後でdoas -C /etc/doas.conf vimコマンドを指定すると、コマンドを実行することなく、コマンドを実行する権限があるかどうかがわかります。

使用法

ユーザーは、次のコマンドecho "test"を使用してrootとしてコマンドを実行できます。 doas echo "test"

doasを使用してユーザー「www」に昇格する権限を持つユーザーは、コマンドvim /var/www/http/index.htmlを使用してユーザー「www」としてコマンドを実行できます。 doas -u www vim index.html これは、Webサーバーを管理しているが、完全なスーパーユーザー権限を持っていないユーザーに役立ちます。

ベストプラクティス

可能であれば、拒否の代わりに許可を使用することを強くお勧めします。ユーザーが特定のコマンドの使用を拒否した場合、そのコマンドの代替パスまたは名前が存在する場合、そのコマンドを使用することで回避できる可能性があります。また、コマンドの実行可能ファイルをホームディレクトリにコピーし、その実行可能ファイルを実行して、権限システムを無効にすることもできます。

一般に、rootパスワードを共有する必要がないため、suを使用するよりもdoasを使用する方が適切です。誰もがrootアクセスに自分のパスワードを使用している場合、誰かがそれを変更し、忘れ、システムからロックアウトする可能性はありません。ログはに保持され/var/log/secureます。

ヒントとコツ

keepenvを使用してすべての環境変数を保持できます。これは、エディターを何かに設定していて、別のユーザーになったときに変更したくない場合に役立ちます。以下はmynewuserの例です:

permit nopass keepenv mynewuser

すべての環境変数を上書きすると問題が発生する場合がありますが、setenvを使用すると、引き継ぐ変数を選択できます。以下は、エディターをgitなどで使用したいものに設定しておく例です。

permit nopass setenv { VISUAL EDITOR } mynewuser

また、setenvを使用して環境変数を削除する(削除する変数の前にダッシュを付ける)か、等号で特定のものに設定することもできます。たとえば、環境変数VISUALを削除してEDITORをvimに設定する場合は、次の構成行を使用します。

permit nopass setenv { -VISUAL EDITOR=vim } mynewuser

doasパスワードを覚えている場合はdoas -L、パスワードを忘れさせることができます。



Leave a Comment

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1におけるBlacklistdのインストール方法について詳しく解説します。この方法を通じて、強力なセキュリティ対策を実装できます。

FreeBSD 12にNeos CMSをインストールする方法

FreeBSD 12にNeos CMSをインストールする方法

別のシステムを使用していますか?Neosは、CMSとアプリケーションフレームワークをコアとするコンテンツアプリケーションプラットフォームです。このガイドでは、インストール方法を説明します

完全なディスク暗号化でOpenBSD 5.6をセットアップする

完全なディスク暗号化でOpenBSD 5.6をセットアップする

このチュートリアルでは、Vultr VPSで完全に暗号化されたディスクを使用してOpenBSD 5.6を設定する方法を示します。暗号化の部分に関する注意:周りのほとんどのデータセンター

Debian、CentOS、およびFreeBSDでSudoを使用する方法

Debian、CentOS、およびFreeBSDでSudoを使用する方法

LinuxおよびUnixのシステム管理者の間では、sudoユーザーを使用してサーバーにアクセスし、コマンドをルートレベルで実行することは非常に一般的です。sudの使用

FreeBSD 12にosTicketをインストールする方法

FreeBSD 12にosTicketをインストールする方法

別のシステムを使用していますか?osTicketは、オープンソースのカスタマーサポートチケットシステムです。osTicketのソースコードはGithubで公開されています。このチュートリアルでは

OpenBSD 6.2にWordPressをインストールする

OpenBSD 6.2にWordPressをインストールする

はじめにWordPressは、インターネット上の主要なコンテンツ管理システムです。ブログから動的コンテンツを備えた複雑なWebサイトまで、あらゆるものを強化します

OSの選択:CentOS、Ubuntu、Debian、FreeBSD、CoreOS、またはWindows Server

OSの選択:CentOS、Ubuntu、Debian、FreeBSD、CoreOS、またはWindows Server

この記事では、Vultrでテンプレートとして提供されるサーバーオペレーティングシステムの概要を説明します。CentOS CentOSはRHEL(Re

X-Cart 5をFreeBSD 12にインストールする方法

X-Cart 5をFreeBSD 12にインストールする方法

別のシステムを使用していますか?X-Cartは、数多くの機能と統合を備えた非常に柔軟なオープンソースのeコマースプラットフォームです。X-Cartのソースコードはホストです

FreeBSD 11 FAMP VPSにOmeka Classic 2.4 CMSをインストールする方法

FreeBSD 11 FAMP VPSにOmeka Classic 2.4 CMSをインストールする方法

別のシステムを使用していますか?Omeka Classic 2.4 CMSは、デジタルを共有するための無料のオープンソースのデジタル出版プラットフォームおよびコンテンツ管理システム(CMS)です。

Directus 6.4 CMSをFreeBSD 11 FAMP VPSにインストールする方法

Directus 6.4 CMSをFreeBSD 11 FAMP VPSにインストールする方法

別のシステムを使用していますか?Directus 6.4 CMSは、強力で柔軟な無料のオープンソースヘッドレスコンテンツ管理システム(CMS)であり、開発者に提供します。

FreeBSD 11にPyroCMSをインストールする方法

FreeBSD 11にPyroCMSをインストールする方法

別のシステムを使用していますか?PyroCMSは、PHPで記述されたオープンソースのCMSです。PyroCMSソースコードはGitHubでホストされています。このガイドでは、entirをよく歩いてください

FreeBSD 12.0にApache、MySQL、PHP(FAMP)スタックをインストールする方法

FreeBSD 12.0にApache、MySQL、PHP(FAMP)スタックをインストールする方法

はじめにLinuxのLAMPスタックに相当するFAMPスタックは、通常一緒にインストールされるオープンソースソフトウェアのコレクションです。

FreeBSD 11で独自のメールサーバーを構築する

FreeBSD 11で独自のメールサーバーを構築する

独自の電子メールサーバーを実行することは、かなりやりがいがあります。あなたはあなたのデータを担当しています。また、配信オプションの柔軟性も向上します。しかしながら

FreeBSD 10でスワップファイルを作成する

FreeBSD 10でスワップファイルを作成する

デフォルトでは、Vultr FreeBSDサーバーはスワップスペースを含むように構成されていません。使い捨てのクラウドインスタンスを意図している場合は、おそらく必要ありません

FreeBSD 10でのiRedMailのセットアップ

FreeBSD 10でのiRedMailのセットアップ

このチュートリアルでは、FreeBSD 10の新規インストールにグループウェアiRedMailをインストールする方法を示します。少なくとも1ギガバイトのサーバーを使用する必要がありますo

FreeBSDでディスクのサイズを変更する方法

FreeBSDでディスクのサイズを変更する方法

FreeBSDオペレーティングシステムは、ルートパーティションファイルシステムにUFS(Unix File System)を利用しています。別名freebsd-ufsアップグレードの場合

OpenBSD 6でMariaDBを設定する

OpenBSD 6でMariaDBを設定する

この記事では、MariaDBをOpenBSD 6にインストールし、chrootされたWebサーバー(ApacheまたはNginx)からアクセスできるように構成する方法を紹介します。あなたはアルになります

FreeBSD 11 FAMP VPSにRedaxscript 3.2 CMSをインストールする方法

FreeBSD 11 FAMP VPSにRedaxscript 3.2 CMSをインストールする方法

別のシステムを使用していますか?Redaxscript 3.2 CMSは、最新で超軽量の無料のオープンソースのコンテンツ管理システム(CMS)です。

FreeBSD 12にCraft CMSをインストールする方法

FreeBSD 12にCraft CMSをインストールする方法

別のシステムを使用していますか?はじめにCraft CMSは、PHPで記述されたオープンソースのCMSです。Craft CMSソースコードはGitHubでホストされています。このガイドはあなたを示します

OpenBSDとhttpdを使用してVultrでシンプルなWebサイトを作成する

OpenBSDとhttpdを使用してVultrでシンプルなWebサイトを作成する

はじめにこのガイドの目的は、OpenBSDとhttpdを使用してVultrでWebサイトのホームページを簡単に作成できることを示すことです。作成

CentOS 7にApacheをインストールする方法

CentOS 7にApacheをインストールする方法

CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1におけるBlacklistdのインストール方法について詳しく解説します。この方法を通じて、強力なセキュリティ対策を実装できます。

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

サーバーマネージャーを使用して、Windows Serverの管理が向上します。セキュリティリスクを軽減し、効率的な管理を実現します。

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法。Seafile(コミュニティバージョン)は、ownCloudに似た無料のオープンソースファイル同期および共有ソリューションです。

DebianでSnortを設定する方法

DebianでSnortを設定する方法

Snortは無料のネットワーク侵入検知システムです。最新の方法で、SnortをDebianにインストールし、設定する手順を紹介します。ネットワークのセキュリティを強化しましょう。

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsサーバーでWebサイトを実行している場合、電子メールも受信できるようにするためにhMailServerを使用する方法を解説します。

Ubuntu 19.04にFiveMサーバーをインストールする方法

Ubuntu 19.04にFiveMサーバーをインストールする方法

FiveMサーバーをUbuntu 19.04にインストールするための詳細なガイド。必要条件からインストール、起動、トラブルシューティングまで、すべてのステップを含みます。

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。

ヘルスケア2021における人工知能の影響

ヘルスケア2021における人工知能の影響

ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。