アンドロイド

Linuxのsudoコマンド

’, Â, � etc... How to fix strange encoding characters in WP or other SQL database

’, Â, � etc... How to fix strange encoding characters in WP or other SQL database

目次:

Anonim

sudoコマンドを使用すると、プログラムを別のユーザー(デフォルトではrootユーザー)として実行できます。 コマンドラインで多くの時間を費やす場合、sudoは非常に頻繁に使用するコマンドの1つです。

rootとしてログインする代わりにsudoを使用すると、rootパスワードを知らなくても個々のユーザーに制限された管理特権を付与できるため、より安全です。

このチュートリアルでは、 sudo コマンドの使用方法を説明します。

Sudoのインストール(sudoコマンドが見つかりません)

sudoパッケージは、ほとんどのLinuxディストリビューションにプリインストールされています。

sudoパッケージがシステムにインストールされているかどうかを確認するには、コンソールを開き、 sudo Enter を押します。 sudoがインストールされている場合、システムに短いヘルプメッセージが表示されます。インストールされていない場合は、 sudo command not found などのメッセージが表示 sudo command not found ます。

sudoがインストールされていない場合は、ディストリビューションのパッケージマネージャーを使用して簡単にインストールできます。

UbuntuおよびDebianにSudoをインストールする

apt install sudo

CentOSおよびFedoraにSudoをインストールします

yum install sudo

Sudoersへのユーザーの追加

デフォルトでは、sudoアクセスを許可するほとんどのLinuxディストリビューションでは、 sudoers ファイルで定義されたsudoグループにユーザーを追加するのと同じくらい簡単です。 このグループのメンバーは、ルートとして任意のコマンドを実行できます。 グループの名前は、配布ごとに異なる場合があります。

CentOSやFedoraなどのRedHatベースのディストリビューションでは、sudoグループの名前は wheel です。 ユーザーをグループに追加するには、次を実行します。

usermod -aG wheel username

Debian、Ubuntu、およびそれらの派生物では、グループ sudo メンバーにsudoアクセスが許可されます。

usermod -aG sudo username

Ubuntuのルートユーザーアカウントは、セキュリティ上の理由からデフォルトで無効になっています。ユーザーは、sudoを使用してシステム管理タスクを実行することをお勧めします。 Ubuntuインストーラーによって作成された最初のユーザーはすでにsudoグループのメンバーであるため、Ubuntuを実行している場合は、ログインしているユーザーに既にsudo特権が付与されている可能性があります。

たとえば、ユーザー linuxize mkdir コマンドのみをsudoとして実行できるようにするには、次のように入力します。

sudo visudo

次の行を追加します。

linuxize ALL=/bin/mkdir

ほとんどのシステムでは、 visudo コマンドはvimテキストエディターで /etc/sudoers ファイルを開きます。 vimの経験がない場合は、ファイルを保存してvimエディターを終了する方法についての記事を確認してください。

ユーザーがパスワードを入力せずにsudoコマンドを実行できるようにすることもできます。

linuxize ALL=(ALL) NOPASSWD: ALL

須藤の使用方法

sudo コマンドの構文は次のとおりです。

sudo OPTION.. COMMAND

sudo コマンドには、その動作を制御する多くのオプションがありますが、通常、 sudo はオプションなしで最も基本的な形式で使用されます。

sudoを使用するには、コマンドの前にsudoを付けるだけです。

sudo command

command は、sudoを使用するコマンドです。

Sudoは /etc/sudoers ファイルを読み取り、呼び出し側のユーザーにsudoの評価が付与されているかどうかを確認します。 セッションで初めてsudoを使用するときは、ユーザーパスワードの入力を求められ、コマンドはrootとして実行されます。

たとえば、 /root ディレクトリ内のすべてのファイルをリストするには、次を使用します。

sudo ls /root

password for linuxize:….bashrc.cache.config.local.profile

パスワードタイムアウト

デフォルトでは、sudoは5分間のsudoの非アクティブ後にパスワードの再入力を求めます。 sudoers ファイルを編集して、デフォルトのタイムアウトを変更できます。 visudo ファイルを開きます:

sudo visudo

以下の行を追加してデフォルトのタイムアウトを設定します 10 は分単位で指定されたタイムアウトです。

Defaults timestamp_timeout=10

Defaults:user_name timestamp_timeout=10

ルート以外のユーザーとしてコマンドを実行する

sudo は通常のユーザーにルート権限を提供するためだけに使用されるという誤った認識があります。 実際、 sudo を使用して、任意のユーザーとしてコマンドを実行できます。

-u オプションを使用すると、指定したユーザーとしてコマンドを実行できます。

次の例では、 sudo を使用して whoami コマンドをユーザー「richard」として実行しています。

sudo -u richard whoami

whoami コマンドは、コマンドを実行しているユーザーの名前を出力します。

richard

須藤でリダイレクトする方法

sudo echo "test" > /root/file.txt

bash: /root/file.txt: Permission denied

これは、出力のリダイレクト「 > 」が、sudoで指定されたユーザーではなく、ログインしているユーザーの下で実行されるために発生します。 リダイレクトは、 sudo コマンドが呼び出される前に発生します。

1つの解決策は、 sudo sh -c を使用してrootとして新しいシェルを呼び出すことです。

sudo sh -c 'echo "test" > /root/file.txt'

別のオプションは、以下に示すように、通常のユーザーとして tee コマンドに出力をパイプすることです。

echo "test" | sudo tee /root/file.txt

結論

sudo コマンドの使用方法と、sudo特権を持つ新しいユーザーの作成方法を学習しました。

ターミナル須藤