/etc/sudoers
viaを編集しようとしていますが、visudo
root権限を変更する方法がわかりません。
を使用しようとするとルートになりたいですsu user1
。
答え1
実際には良い考えではありませんが、可能です。誰かが指摘したように、ルートがコンピュータの神になるのを防ぐことはできませんが、「su」プログラムを変更してパスワードを要求することはできます。これにより、root が独自の su バージョンをコンパイルして使用しない限り、別のアカウントに再ログインするのを防ぎます。
まず、suを再構築するにはコンパイラが必要です。ルートとして次を実行します。
apt-get install build-essential
その後、ダウンロードして準備してください。GNU Coreutils:
ftp://ftp.task.gda.pl/pub/gnu/coreutils/coreutils-8.13.tar.gz
tar xvf coreutils-8.20.tar.xz
cd coreutils-8.20
./configure
今訪問ソースコードディレクトリと検索su.c文書。 223行目には次のものがあります。
if (getuid () == 0 || !correct || correct[0] == '\0')
次に変更してください。
if (!correct || correct[0] == '\0')
今再びcoreutils-8.20ディレクトリを作成してmakeを実行します。コンパイルに時間がかかることがあります。完了したら、現在のsuバイナリを新しいsuバイナリで上書きします。
cp src/su `which su`
繰り返しますが、あなたは間違っています。
答え2
- ルートは何かをするためにパスワードを必要としません。ルートはユニバーサルユーザーです。ルート=スーパーユーザー=管理者=チャックノリス
- @Cry Havokが指摘したように、/ etc / sudoersはそれとは何の関係もありません
su
。sudo
注:su - <user>
通常のユーザー(rootではないユーザー、または許可されていないユーザー)として実行すると、常にパスワードを求められます。
答え3
ルートは認証なしで任意のユーザーにすることができます。su
パスワードの入力を求めるコマンドが設定されていても、ルートは他のプログラムを使用して低レベルのシステムコールを実行できます。このsu
コマンドは通常、セキュリティには役に立たないため、パスワードを必要としないように構成され、多くの非対話型スクリプトでは、権限の低いユーザーで操作を実行するためにパスワードを使用します。
Ubuntu(そして他の多くの人が使うポリアクリルアミド)、su
次の行を使用すると、rootとして実行したときにパスワードプロンプトが表示されません/etc/pam.d/su
。
auth sufficient pam_rootok.so
とsudo
はsu
まったく異なるプログラムです。su
設定を変更して変更できない動作ですsudo
。
答え4
ルートはパスワードを求めるプロンプトを表示しません。その理由は/etc/pam.d/su
。
auth sufficient pam_rootok.so
特定のユーザーを認証するためにrootを要求するには、この前にいくつかの行を追加する必要があると思います。