Linuxディストリビューションでパスワードなしのsudoを設定する

Linuxディストリビューションでパスワードなしのsudoを設定する

私は最近、Fedora 28とUbuntu 18.04システムをセットアップしました。sudoパスワードを入力せずにコマンドを実行できるように、両方のシステムでデフォルトのユーザーアカウントを設定したいと思います。

そのシステムでこれをどのように実行しますか?

答え1

Fedoraシステムで呼び出される特別なUnixグループを使用している場合、wheelこれは非常に簡単です。あなたがしなければならないことは次のとおりです。

  1. wheelグループにデフォルトユーザーを追加する

    $ sudo gpasswd -a <primary account> wheel
    
  2. %wheelグループに対してNOPASSWDを有効にします。/etc/sudoers

    $ sudo visudo
    

    次に、次の行をコメントアウトします。

    ## Allows people in group wheel to run all commands
    # %wheel        ALL=(ALL)       ALL
    

    そして、次の行のコメントを外します。

    ## Same thing without a password
    %wheel  ALL=(ALL)       NOPASSWD: ALL
    

    ShiftZこのファイルを保存するには++を使用してくださいZ

  3. ログアウトしてもう一度ログインしてください。

    メモ:デスクトップとその最上位シェルを再実行するには、最後のステップが必須です。これは、デフォルトアカウントがwheelUnixグループのメンバーであることを示しています。

答え2

伝統的に、Debian / Ubuntu / Mint / Kali / AntixなどのDebianベースのディストリビューションでは、sudoのデフォルトグループはですsudo

したがって、sudoDebian ベースのシステムにパスワードのないユーザーを追加するには、次の手順に従います。

  1. インストールするsudo

    sudoDebian では、インストールオプションによっては通常、デフォルトでインストールは終了しません。

    パッケージがインストールされていない場合sudo(パッケージがない場合など/etc/sudoers)、rootとして実行します。

    # apt install sudo
    
  2. sudo グループにユーザーを追加する

    ユーザーがまだグループにない場合は、そのユーザーをsudoグループに追加します(Ubuntuとその派生製品は、インストール中に作成されたユーザーをsudoグループに自動的に追加します)。

    最初のsudoユーザーを設定するときは、最初のユーザーを次のように設定する必要がありますroot

    # gpasswd -a <primary account> sudo
    

    すでにユーザーがいる場合は、sudoセキュリティを強化するために、ユーザーを介してsudoグループに別のユーザーを設定することをお勧めします。

    $ sudo gpasswd -a <primary account> sudo
    
  3. /etc/sudoersNOPASSWDディレクティブを追加するように修正されました。

    /etc/sudoersその後、次を使用してグループsudoのデフォルト行を編集できます。

    $ sudo visudo
    

    次のように変更します。

    # Allow members of group sudo to execute any command
    %sudo   ALL=(ALL:ALL) ALL
    

    到着する:

    # Allow members of group sudo to execute any command, no password
    %sudo   ALL=(ALL:ALL) NOPASSWD:ALL
    
  4. ログアウトしてもう一度ログインしてください。

    システムにログインしている場合、ターゲットユーザーはログアウトしてからログインする必要があり、sudoこのグループに属するユーザーの変更が適用されます。

メモ:Debian では、グループは、RedHat/SuSE ベースのディストリビューションのようにコマンドで使用するのではなく、wheelPAM でsuグループの使用を制限するためによく使用されます。sudo

従来、Debian ベースのディストリビューションでは、グループをsudo使用してsudoコマンドを実行していました。

答え3

ほとんどのディストリビューションには次の行があります/etc/sudoers/

#includedir /etc/sudoers.d

したがって、ユーザーを追加する簡単な方法は、/etc/sudoers.d/ディレクトリに適切なファイルを作成することです。私は通常、追加したいユーザーの名前を指定します。

add_sudoer() {
    if ! test -n "$1"
    then echo "Usage: $0 <user>" >&2; return
    fi

    printf >"/etc/sudoers.d/$1" '%s    ALL= NOPASSWD: ALL\n' "$1"
}

Defaults:%s !lecture, !authenticate\nファイルにおよび/または他のオプションを追加することもできます。

答え4

またはPythonを使用することもできますフートパック。

取付ける:

user$ sudo -H pip3 install pudo # you can install using pip2 also

以下は、Pythonオートメーションでroot権限でコマンドを実行するためのコードスニペットです。

user$ python3 # or python2
>>> import pudo
>>> (ret, out) = pudo.run(('ls', '/root')) # or pudo.run('ls /root')
>>> print(ret)
>>> 0
>>> print(out)
>>> b'Desktop\nDownloads\nPictures\nMusic\n'

以下は、root権限でコマンドを実行するcmdの例です。

user$ pudo ls /root
Desktop  Downloads  Pictures  Music

関連情報