Bashプログラミング
 Computer >> コンピューター >  >> プログラミング >> Bashプログラミング

Debian:sudoersにユーザーを追加する方法をわかりやすく解説

Linuxオペレーティングシステムが採用しているファイルシステム階層標準(FHS)では、すべてのファイルやディレクトリはルートディレクトリ「/」の配下に配置されます。しかし、セキュリティ上の理由から、このルートディレクトリへのアクセスは通常制限されています。DebianなどのLinuxディストリビューションでは、「sudo」コマンドを使うことで、SSH経由でもフルアクセス権限を取得できます。本記事では、ユーザーがsudoコマンドを実行できるようにするため、sudoersにユーザーを追加する方法を詳しく解説します。

スーパーユーザー(rootユーザー)としてログインすると、システム全体に影響する変更を行うことが可能になります。また「sudo」コマンドは、別のユーザーとしてログインする際にも使用できます。これはシステム管理者や技術者が作業を行ううえで、必要になることがあります。

各種コマンドの実行が許可されているユーザー(およびユーザーグループ)の一覧は、ファイル「/etc/sudoers」に保存されています。そのため、システム管理者は新しいユーザーにrootログイン権限を付与する方法、つまりこのファイルにユーザー名を追加する方法を把握しておく必要があります。追加方法は主に2つあります。1つ目はファイルを手動で編集する方法です。この方法なら、rootログイン時に実行を許可する権限の範囲を細かく指定することもできます。もう1つのより手軽な方法は、コマンドラインから「sudo」グループにユーザーを追加することです。

sudoグループにユーザーを追加する

他のユーザーをsudoグループに追加するには、当然ながら自分自身がスーパーユーザーとしてログインしている必要があります。Debianサーバーにrootユーザーとしてログインするには、以下のコマンドを実行します。

ssh admin@wsxdn.com

追加したいユーザーがすでにシステム上に存在している場合は、次のコマンドを実行します。

usermod -aG sudo username

ユーザーが正しくグループに追加されたかどうかを確認するには、以下のコマンドを入力し、そのユーザーのパスワードを入力してください。

sudo whoami

sudo権限が正しく付与されていれば、出力結果として「root」と表示されます。もし権限がない場合や入力内容に誤りがある場合は、「user is not in the sudoers file(ユーザーはsudoersファイルに存在しません)」というエラーメッセージが表示されます。

まったく新しいユーザーを作成する場合は、Linuxの「adduser」コマンドを使用します。

adduser newusername

コマンド実行後、パスワードの設定をはじめとするいくつかの追加情報の入力を求められます。入力が完了すると、新しいユーザーの情報がsudoersファイルに書き込まれます。

コマンドラインから新しいユーザーをsudoグループに割り当てたい場合は、「usermod」または「gpasswd」コマンドを使用できます。たとえば以下のように実行します。

usermod -aG sudo newusername

sudoersファイルを手動で編集してユーザーを追加する

新しいスーパーユーザーに対してカスタムのセキュリティポリシーを設定したい場合は、こちらの方法が適しています。sudoersファイルを直接編集するか、あるいは/etc/sudoers.dディレクトリ内に新しい設定ファイルを作成します。このディレクトリに置かれたファイルは、実行時にsudoersファイルと結合されたものとして扱われます。

visudoを使用する

sudoersファイルを編集する際は、必ず「visudo」コマンドを使用してください。visudo経由でエディタを起動すると、保存前にファイルの構文が厳密にチェックされます。visudoを使わずに直接編集した場合、構文チェックは行われません。sudoersファイルは非常に重要なシステムファイルであるため、これは大きなリスクとなります。なお、/etc/sudoers.d配下に保存したファイルもvisudoで編集できますが、その場合は-fオプションで編集対象ファイルの場所を指定する必要があります。

visudoが実際に使用するエディタは、EDITOR環境変数によって決定されます。デフォルトではvimが設定されています。デフォルトのエディタをnanoなど別のものに変更したい場合は、以下のように指定します。

EDITOR=nano visudo

権限の割り当て方

sudoersファイルの中には、次のような記述が見られることがあります。

root ALL=(ALL) ALL

これはユーザーに権限を割り当てる際の基本的な構文を示しています。この例の場合、「rootユーザーは、ALL(すべての)端末から、ALL(任意の)ユーザーとして、ALL(すべての)コマンドを実行できる」という意味になります。

sudoersファイル内の名前に対して権限のセットを簡単に適用できるよう、エイリアス(別名)が定義されることがよくあります。ユーザーのグループ、端末の範囲、あるいはコマンドのグループごとにエイリアスを作成できます。たとえば、sudoersファイルの先頭に次のような記述を追加できます。

User_Alias OPERATORS = amy, ben, chris
Runas_Alias OP = root, operator
Host_Alias NETWORK = 192.168.0.0/255.255.255.0
Cmnd_Alias PRINTING_CMDS = /usr/sbin/lpc, /usr/sbin/lprm

これらのショートカットは、ユーザーにアクセス権を付与する際に呼び出すことができます。たとえば次のように記述します。

ben ALL = PRINTING_CMDS

この設定により、benは定義されたIPアドレス範囲内の任意の端末から、プリンタ関連のコマンドlpcおよびlprm/usr/sbin/に格納されています)を実行できるようになります。

Debianにおけるroot権限は非常に強力です。そのため、アクセス制御の破壊、サーバーへの損害、データの消失といったトラブルが発生するリスクも高くなります。すべてのユーザーにフルroot権限を与えることは避け、必要のないときにスーパーユーザーとしてログインする習慣をつけないようにしましょう。

  1. Microsoft Teamsにゲストユーザーを追加する方法

    Microsoft Teamsは、組織のメンバー同士をつなぐのに非常に便利なツールです。特にリモートワーク環境ではその真価を発揮します。しかし、業務によっては、外部の請負業者、クライアント、サプライヤーなど、組織外の人々と協働しなければならない場面もあります。Teamsのゲスト機能を活用すれば、こうした外部ユーザーを安全に追加でき、組織のデータへのアクセスも適切に制限できます。 ゲストを追加する手順 ゲストの追加はとても簡単です。まず、Teamsのサイドバーからゲストを追加したいチームを見つけます。次に、チーム名の右側にある「…」ボタンをクリックし、「メンバーの追加」を選択しましょう。 追加

  2. PDFファイルにコメントを追加する方法を徹底解説

    電子書籍の普及により、本や小説をPDF形式で読む機会が大きく増えました。しかし、電子書籍は紙の本と違い長文になりがちで、一度に読み切るのは難しいものです。実際の本を読むときのように、重要な箇所に印をつけたり、後で見返したい部分に目印を残したりしたいと思ったことはありませんか。PDFドキュメントには複数のコメントを追加できるため、しおり代わりに活用すれば読書の効率がぐっと向上します。 PDFにコメントを追加する手順 PDFファイルの任意のページにコメントを追加するには、「UPDF」というサードパーティ製アプリを利用します。以下の手順に従ってください。 ステップ1: 公式サイトからUPDFアプリ