ユーザーにフルルートアクセスを許可する

ユーザーにフルルートアクセスを許可する

そこに私は次のように付け加え/etc/sudoersました。
%myuser ALL=(ALL) NOPASSWD:ALL

これで、sudo apt updateパスワードを入力する必要はありません。
しかし、私は完全なルートアクセスを望んでいます。つまり、.aptを使用したいのですapt update
完全なルートアクセスを望む場合の一例であり、別の例はどこでもファイルを作成/修正できることです。

root ALL=(ALL:ALL) ALLmyuser行でルート行()を試してみましたが、何も起こりませんでした。
%myuser ALL=(ALL:ALL) ALL

これは私の/etc/sudoersファイルです:

#
# 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:/sbin:/bin:/snap/bin"

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL:ALL) ALL
scorpion  ALL=(ALL:ALL) ALL

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

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

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

#includedir /etc/sudoers.d

%scorpion ALL=(ALL) NOPASSWD:ALL

答え1

権限を持って実行するより安全なapt update方法rootいいえ次のように入力するsudo apt updateと、aptエイリアスがユーザープロファイルに追加されます。

  • alias apt='sudo apt'

apt updateその後、、、またはapt upgradeを実行するたびに、apt install <pkg>aptコマンドがroot権限で実行されます。ただし、他のコマンドは、一般ユーザー権限を持つ一般ユーザーとしてのみ実行されます。


これで、すべてをrootとして実行しないことには妥当な理由があることを認識し、sudoを使用せずにユーザーにrootと同じ権限をすべて付与する方法があります。

  • ユーザーのUIDとGIDを0に変更します。usermod -ou 0 -g 0 <username>

<username>これにより、ユーザーがroot権限で実行するために実行するすべての操作が変更されます。すべて。

はい。私はこれが非常に安全ではないことを知っています。 しかしそれはする質問に答えてください。

このパスを選択する場合は、頻繁に再インストールしてもまともなシステムで実行してください。すべてをrootとして実行すると、最終的に予期しない結果が生じる可能性があります。

答え2

各コマンドを入力する前に入力せずに入力するsudo -iと、対話型ルートシェルが表示されますsudo

答え3

Gentoo/etc/sudoersファイルをデフォルトとして使用するには、2つのオプションがあります。

オプション1:


## sudoers file.
.. snip ..
## User privilege specification
##
root ALL=(ALL) ALL
## Add your user here.  This allows you to run all commands as root, 
## not just the update commands.
scorpion ALL=(ALL) ALL
.. snip ..

オプション2:


## sudoers file.
.. snip ..
## User alias specification
##
## Groups of users.  These may consist of user names, uids, Unix groups,
## or netgroups.
# User_Alias    ADMINS = millert, dowdy, mikef
User_Alias  UPDATERS = scorpion
##
## Cmnd alias specification
##
## Groups of commands.  Often used to group related commands together.
# Cmnd_Alias    PROCESSES = /usr/bin/nice, /bin/kill, /usr/bin/renice, \
#               /usr/bin/pkill, /usr/bin/top
# Cmnd_Alias    REBOOT = /sbin/halt, /sbin/reboot, /sbin/poweroff
Cmnd_Alias  UPDATE = /path/to/apt-get, /path/to/apt
.. snip ..
##
## User privilege specification
##
root ALL=(ALL) ALL
UPDATERS ALL=NOPASSWD: UPDATE

ノート

  1. この例では、ユーザー名がと仮定していますscorpion
  2. 私はすべてのコマンドのパスがaptそこにあると仮定しますが、Gentooは/sbinそれを使用しないので編集することを忘れないでください。aptapt-get
  3. コマンドエイリアスとユーザーエイリアスを追加せずにこれを実行できますが、IMHOエイリアスを使用すると、コマンドの追加とデバッグ(必要な場合)が簡単になります。

関連情報