web-dev-qa-db-ja.com

常にSudo特権

私はこれを検索しました、そして、答えはおそらく「ネット上の百万の場所にあります、しかし、私はそれを見つけることができません...」.

Linuxでアカウントにroot権限を与えて、権限を必要とするすべてのコマンドをSudoする必要がないようにするにはどうしますか? Windowsのユーザーアカウント制御よりもさらに面倒です。

お願い ...危険な生活を送る方法についての講義は必要ありません。ありがとうございます。)

14
Mehrdad

私の質問に対するcorrect回答:

/etc/passwdでユーザーID(UID)とグループID(GID)をゼロに変更して、ルート権限を取得できます。

しかしながら:

実行すると、notに再度ログインできなくなります

それにもかかわらず、newユーザーを作成し、そのグループ/ユーザーIDを0に変更できます。基本的に、そのユーザーは別のrootになります、ただし異なるプロファイルフォルダーなどを使用.

そうすれば、自分がrootであるかのようにそのプロファイルを使用できます。 :D

別の「解決策」:

(空のパスワードが必要な場合)

  1. 以下のコマンドを実行し、出力を比較します

    Sudo cat /etc/shadow
    Sudo sed "s/\(^$(whoami):\)[^:]*/\1/" /etc/shadow
    

    後者は、ユーザー名の前の不要なものを削除していることがわかります($(whoami)を使用して読み取られます)。 (そうしない場合、しないでください続行します!)

  2. 準備ができたら、コマンドを実行して/etc/shadowを上書きします(自己責任で!)

    Sudo sed -i.bak "s/\(^$(whoami):\)[^:]*/\1/" /etc/shadow
    
  3. アカウントのパスワードが空になったため、Sudoのアクセス許可を求められることはなくなります。 (少なくとも、それは私に起こったことです。)

注意:

また、 パスワードなしのログイン を有効にする必要がある場合があります。ただし、それが必要かどうかはわかりません。

0
Mehrdad

これはあなたのために働きますか?

Sudo EDITOR=gedit visudo

この行を変更します。

%admin ALL=(ALL) ALL

この行に:

%admin ALL=(ALL) NOPASSWD: ALL

講義はありません。 :)

11
user8290

あなたはしません。できることは次の2つです。

1)複数のコマンドを入力する予定で、Sudoをプレフィックスとして付けたくない場合は、Sudo -sを実行してrootのままにします。

2)パスワードを入力せずにSudoを実行できるように、sudoersファイルを構成できます。

6
psusi

ターミナルでSudo -iを1回実行し、この1つのターミナルを使用するのがどれほど難しいかわかりません(または、複数のターミナルを開くことができますが、パスワードを入力する必要があります再び)すべてのSudoを行う。

(そして、いや、パスワードをたまに入力することで大きな問題を実際に見ることはできません。実際にはそれほど時間はかかりません。各コマンドの後に端末を閉じない限り、Sudoはしばらくパスを要求しません。認証済み)。

2
LasseValentini

「su」コマンドをインストール/アクティブ化し、起動時に実行するようにシェルを構成できます。

1
TheLugal

私は自分にGID 0を与えないように強くアドバイスします。須藤は物事を複雑にするためにそこにいません。別のルートアカウント(ホームディレクトリが/ root /またはカスタムディレクトリ、つまり/ home/root2 /)を作成する唯一の理由は、1つのルートパスワードを共有したくないシステムに2つの管理者がいることです。

それ以外の場合は、Sudoを使用します。また、あなたがUnixのベテランユーザーではない場合、root専用のツールや一般的なユーザー向けのツールを忘れてしまうリスクもあります。

しかし、あなたが安全な一般ユーザーを持っていると感じたら(私はこの方法で個人的に強力なパスワードを使用します)、私はユーザー(つまりtatu.staff/uid = 1xxx、gid 50)にパスワードなしでSudoを実行させます。そのため、root専用のものとユーザー向けのものを混同することはありません。

上記の手順を使用してsudoersファイル(および対応するグループ)を作成し、特定のユーザーにパスワードなしでSudoを実行させるか、ここに貼り付けるファイルの例を参照してください。

#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults        env_reset
Defaults        mail_badpass
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
Defaults        !authenticate

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL:ALL) ALL
YOURUSER    ALL=(ALL) NOPASSWD:ALL

# Allow members of group Sudo to execute any command
%Sudo   ALL=(ALL:ALL) ALL
%wheel  ALL=(ALL) NOPASSWD:ALL

# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d

YOURUSERはユーザー名で、特定のユーザーがパスワードなしでSudoを実行できるようにする行です。

グループSudoのすべてのユーザーはパスワードを与える必要があります。

グループホイールのすべてのユーザーは、パスワードなしでSudoを実行できます。複数のユーザーにパスワードなしのSudo ACCESSを付与する場合に便利です。

また:-GROUP名の前に%文字を覚えておいてください。 -/ etc/groupを直接編集できますが、お勧めしません。 ADDGROUPを使用して編集し、次のように入力して詳細情報を表示します。man addgroup

VISUDOコマンドを使用して常にsudoersファイルを編集し、エディターで直接実行しないでください。これにより、常に有効なsudoersファイルを取得できます。このような重要なファイルでは、入力エラーや不適切なステートメントなどが非常に悪いことであり、visudoを使用すると、自分で回復できない可能性のある問題をすべて保存できます。これは「常にvisdoを使用します。彼らはあなたにそれを教えてくれませんでしたか?または何か似ている;)

-

フィンランドからのご挨拶-ニース、ここはとても素敵な冬です。摂氏-10度で、-25℃以下の気温ではありません。

\\ tatu-o

0
tatu stty