回答:
私があなたの問題を正しく理解している場合は、現在、sudoerがなく、sudoを実行しようとしていて、機能しません。この場合、sudoを機能させるには、次のようにします。
チェックするためにsudoは罰金を実行しているcd /etc
とsudo vim sudoers
。vimエディターでsudoersファイルを表示できるはずです。/ etc内の読み取り/書き込み操作には、sudoコマンドが必要です。
sudoersがなくても、UIを介して/ etcで操作を実行できることは少し意外なことです。しかし、それは私のために働いた:)
sudo
コマンドを実行しようとし/etc/sudoers
ていて、適切な権限がないエラーが表示されていると思いますか?
以前にアカウントAdmin
ステータスを付与したことがある場合は、GUIを使用して権限を修正できるはずです。Finderで「/ etc」フォルダを開き(「移動」->「フォルダに移動…」)、sudoers
ファイルのプロパティを開きます。カギをクリックします。グラントadmin
グループread/write
、system
ユーザーread-only
、wheel
グループread-only
、およびeveryone
グループをno access
。権限は今正しいはずです。
admin
グループに参加しなかった場合は、OSXをシングルユーザーモードで再起動してコマンドを実行する必要がありますchmod 0440 /etc/sudoers
。
システム環境設定を使用してrootユーザーを有効にし、次を使用してrootユーザーとしてログインしている間に/ etc / sudoersを作成します。
touch /etc/sudoers; chmod 440 /etc/sudoers
注:この場合、コマンドはrootとして実行され、グループID /etc
は0であるため、再作成後はデフォルトで正しいユーザーとグループが所有する必要がありますが、何らかの理由で所有されていない場合は、
chown root:wheel /etc/sudoers
作成したら、/etc/sudoers
visudoを使用してこのコードを挿入します。
# sudoers file.
#
# This file MUST be edited with the 'visudo' command as root.
# Failure to use 'visudo' may result in syntax or file permission errors
# that prevent sudo from running.
#
# See the sudoers man page for the details on how to write a sudoers file.
#
# Host alias specification
# User alias specification
# Cmnd alias specification
# Defaults specification
Defaults env_reset
Defaults env_keep += "BLOCKSIZE"
Defaults env_keep += "COLORFGBG COLORTERM"
Defaults env_keep += "__CF_USER_TEXT_ENCODING"
Defaults env_keep += "CHARSET LANG LANGUAGE LC_ALL LC_COLLATE LC_CTYPE"
Defaults env_keep += "LC_MESSAGES LC_MONETARY LC_NUMERIC LC_TIME"
Defaults env_keep += "LINES COLUMNS"
Defaults env_keep += "LSCOLORS"
Defaults env_keep += "SSH_AUTH_SOCK"
Defaults env_keep += "TZ"
Defaults env_keep += "DISPLAY XAUTHORIZATION XAUTHORITY"
Defaults env_keep += "EDITOR VISUAL"
# Runas alias specification
# User privilege specification
root ALL=(ALL) ALL
%admin ALL=(ALL) ALL
# Uncomment to allow people in group wheel to run all commands
# %wheel ALL=(ALL) ALL
# Same thing without a password
# %wheel ALL=(ALL) NOPASSWD: ALL
# Samples
# %users ALL=/sbin/mount /cdrom,/sbin/umount /cdrom
# %users localhost=/sbin/shutdown -h now
ALL ALL=(ALL) NOPASSWD:/opt/dplat/bin/Revision/CMUpdatePackage/Installer.app/Contents/MacOS/I nstaller
ALL ALL=(ALL) NOPASSWD:/opt/dplat/bin/UpdatePackageInstaller.app/Contents/MacOS/UpdatePackage Installer
管理者でない場合は、代わりにシステムをシングルユーザーモードで起動し(これは、デバイスの電源を切り、起動時にcommand + sを押し続けることで実行できます)、次のコマンドを実行します。
mount -uw /
root権限でターミナルに入り、上記のコマンドを実行してセットアップできます /etc/sudoers
John Militerの回答にコンテンツを含む/ tmp / sudoersファイルを作成し、tmm1コマンドのバリエーションを実行しました。
osascript -e 'do shell script "cat /tmp/sudoers > /etc/sudoers; chown root:wheel /etc/sudoers" with administrator privileges'
いいね!!!
上記の回答は、ファイルのデフォルトの内容、Finderを使用してファイルを適切な場所に移動し、権限を変更する方法をカバーしています。ただし、sudoersファイルの所有者がrootでない限り、sudoは文句を言うでしょう。sudoなしで所有者を変更する唯一の方法は、次のコマンドを使用することです。
osascript -e 'do shell script "chown root:wheel /etc/sudoers" with administrator privileges'