常にSudo特権


15

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

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

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

回答:


11

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

sudo EDITOR=gedit visudo

この行を変更します。

%admin ALL=(ALL) ALL

この行に:

%admin ALL=(ALL) NOPASSWD: ALL

講義はありません。:)


3
+1、しかし問題は、まだ入力する必要があることですsudo
user541686

@Lambert OK、まあ、これを試してテストしたくないのですが、rootにパスワード 'sudo passwd root'を与える​​だけでいいと思います。ユーザーとしてログアウトします。ルートとしてログインします。GDMはrootログインを許可しますか?

2
さて、ルートパスワードを設定してとしてログインするためにroot、すでにそれを行っていsudoます。もちろん、これ以上する必要はありません。問題は、異なるアカウントに対して同じことを行う方法を見つけることです。
user541686

6

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

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

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


2
さて、私が理解できないのは、「root」として簡単にログインでき、「sudo」という単語について考える必要さえない場合、別のアカウントで同じことをできないのはなぜですか?
user541686

@Lambert:他のアカウントはそうではないからUID 0です。
JanC

1
ええと...グループに自分を追加するsudoだけでも、そのようなものでさえ十分ではありませんか?:(
user541686

2

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

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


3
それは時間がかかるということではなく、ただ非常にいらいらすることです。ログイン画面の壁紙を変更したい場合、「あなたは気にしないのか!あなたを信用できない」と言う必要はありません。このような高特権アクションを実行することを考えても本当に正気かどうかを尋ねるメッセージ。パスワードを間違って入力すると、このイベントが報告されます。自分のコンピューターは私を信用していないようです。しばらく作業していると、他の人のコンピューターに対するばかげた行動があなた自身のコンピューターに疑問を抱かせてしまうのをうんざりさせます。
user541686

これに対する私の怒りをあなたに伝えるつもりはありませんが、時々、経験の浅いユーザーを保護するように設計されたソフトウェアの「安全」機能は、単に私を怒らせます。コンピューターを爆発させたい場合、「本当によろしいですか!」以上のものは必要ありません。「これはもう聞かないで」というメッセージ 箱...これ以上、そしてそれはまったく確認を持つという目的を無効にします。すべての確認を入力する必要がある場合は、確認がない場合もあります-私の決意は変わりませんが、少なくとも私は同じことを刺激なしで5倍の速さで行います。
user541686

Ubuntuのセキュリティ設計は、複数のユーザーがいるホーム環境向けです。システム全体の変更は、たまたまユーザーアカウントを持っている人やアカウントを借りている人だけでなく、信頼できる個人のみが行う必要があります。
ジェレミービチャ

@JeremyBicha彼らは、Imoがメインフレームでのマルチユーザーのタイムシェアリングのために作られた元のUNIXセキュリティ/認可デザインの上に何も追加しませんでした...このiasがホームに適しているかどうかは別の質問ですが、私たちはそれで立ち往生しています。
masterxilo

1

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


「直接」の方法はありますか?使用しsudoersたり、特別なグループに自分を追加したりしますか?
user541686

sudo -sは同じことをします。
psusi

@psusi:しかし、質問のポイントは、コンピューターを起動するたびにそれを行う必要がないということではありませんか?
user541686

毎回パスワードを要求しないようにする方法はありますか?
user541686

0

私の質問の正しい答え:

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

しかしながら:

もしあなたがそうするなら、 あなたはなりませんに戻ってログインすることができ

それにもかかわらず、新しいユーザーを作成し、グループ/ユーザー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のアクセス許可を求められることはもうありません。(少なくとも、それは私に起こったことです。)

注意:

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


私はどこかで「sudo bash」を使用して仕事をすることを読みました。これを試しましたか?
好奇心が強い見習い

@CuriousApprentice:要点はを避けることsudoでした。
user541686

0

自分にGID 0を与えないように強くアドバイスします。SUDOは物事を複雑にするためにそこにいません。別のルートアカウント(ホームディレクトリが/ 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アクセスを許可する場合に便利です。

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

VISUDOコマンドを使用して常にsudoersファイルを編集し、エディターで直接操作しないでください。これにより、常に有効なsudoersファイルを取得できます。このような重要なファイルでは、入力エラーや不適切なステートメントなどは非常に悪いことです。これは「常にvisdoを使用します。彼らはあなたにそれを教えてくれなかったのですか?または何か何か;)

-

フィンランドからのご挨拶-素晴らしい冬です。気温は摂氏-10度で、気温が-25℃よりも低いわけではありません。

\\ tatu-o


また、長いコマンドを書きたくない場合や--flagsを忘れがちな場合は、エイリアスがあります!エイリアスファイルが設定されていることを〜/ .bashrcで確認し、エイリアスを〜/ .bash_aliasesに追加します
tatu stty
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.