ルートシステムで構成ファイルを編集して保存できないようです(例:)/etc/dhcp/dhcpd.config
。「許可が拒否されました」と表示されるか、テキストエディタで保存オプションがブロックされます。
私はrootユーザーだと確信していますが、どうすれば確認できますか?ルートユーザーの場合、これを修正するにはどうすればよいですか?
ルートシステムで構成ファイルを編集して保存できないようです(例:)/etc/dhcp/dhcpd.config
。「許可が拒否されました」と表示されるか、テキストエディタで保存オプションがブロックされます。
私はrootユーザーだと確信していますが、どうすれば確認できますか?ルートユーザーの場合、これを修正するにはどうすればよいですか?
回答:
どのテキストエディターを使用していますか?あなたがrootユーザーであり、パスワードを知っている場合は、(端末で)次のいずれかを試してください。
sudoedit /etc/dhcp/dhcpd.config
nano
またはなどのターミナルベースのエディターを使用している場合。gksudo <text editor here> /etc/dhcp/dhcpd.config
次のようなGUIベースのエディターを使用している場合 gedit
どちらの場合でも、要求されたときに最初にルートパスワードを提供する必要があります。
Ubuntu 14.04以降でgksudo
は、デフォルトではインストールされません。gksu
パッケージsudo apt-get install gksu
を取得するには、パッケージをインストールする必要があります(Software Centerから、または経由で)。
Ubuntu 17.10では、従来のXサーバーの代わりにWaylandがデフォルトであり、グラフィカルエディターをルートとして実行することは困難です。Waylandでgksu / gksudoを使用したり、sudoを使用してグラフィカルアプリケーションを起動したりしない理由をご覧ください。詳細については。
Ubuntu 18.04ではgksudo
、公式リポジトリでは利用できません。sudo -H <text editor>
代わりに、またはプロトコルを使用しadmin://
ます:
gedit admin:///etc/dhcp/dhcpd.config
ターミナルを使用したくない場合は、GUIプログラムをルートとして呼び出すことができます(この例はGedit用です)。
タイプgksudo
(GUIで表示される名前と異なる場合があります)あなたのプログラムの実行可能ファイル名が続きます。例えば:
gksudo gedit
rootが取得するケースは考えられませんpermission denied
。
12.04では、次のように行うことができます: alt+ f2そしてgksudo
、次のようなボックスに入力します。
次のようなボックスが表示されたら、入力gedit
してクリックしますok。
クリックOpen:
ファイルを参照するだけです:
完了
警告:理由により、スーパーユーザー/ルートが存在します。誤って重要なものに誤って何か悪いものや構造から外れたものを入れないようにするためです。ルートとして編集するものはすべて、編集しようとしている正しいファイルであり、構文が完璧であることを非常に注意する必要があります。他のツールを編集に使用できる場合は、それらを使用することをお勧めします。たとえば、手動で編集する代わりに、visudo
terminalコマンドを使用します/etc/sudoers
。
混乱する可能性のあるファイルは、簡単に回復できます。その他は比較的複雑であるか、回復コンソールと多くのコマンドラインを使用する必要があります。
はい、回復コンソールのコマンドラインはこれよりも少し怖いようです。注意してください。
root
ファイルを使用してファイルが不変に設定されているchattr
場合、またはディスクが読み取り専用である場合は、許可を拒否できます。
現在のシェルがルートとして実行されているかどうかをいくつかの異なる方法でテストできます
~/ > whoami
paul
~/ > sudo whoami
root
~/ > id
uid=1000(paul) gid=1000(paul) groups=1000(devs),4(adm),20(dialout),24(cdrom),…
~/ > sudo id
uid=0(root) gid=0(root) group=0(root)
他の答えはルート権限にエスカレートする良い方法を与えるので、私はそれらを繰り返しません。仮定すると、あなたはあるルートとあなたはまだファイルを編集することはできません/etc/dhcp/dhcpd.config
-そして、非常におそらく誰かまたはいくつかのプログラムが使用しているchattr
ファイルの不変を作るためのプログラムを。
「i」属性を持つファイルは変更できません。削除または名前変更することはできません。このファイルへのリンクを作成することも、ファイルにデータを書き込むこともできません。
CAP_LINUX_IMMUTABLE
この属性を設定またはクリアできるのは、スーパーユーザーまたは機能を所有するプロセスのみです。
を使用して調べることができます lsattr
lsattr /etc/dhcp/dhcpd.config
確かに不変の場合は、次のようにオフにすることができます。
chattr -i /etc/dhcp/dhcpd.config
環境変数1を使用して、お気に入りの(グラフィカル!)テキストエディターでsudo -e
またはそのエイリアスsudoedit
を使用できます。VISUAL
VISUAL=gedit sudo -e /path/to/some-config-file.cfg
これは
VISUAL=gedit sudoedit /path/to/some-config-file.cfg
もちろん、あなたは、例えば、あなたが好きなことを、他のエディタを使用することができleafpad
、kate
またはsubl
。
一部のエディターは、現在実行中のインスタンスであっても、常に新しいインスタンスを開始するコマンドラインオプションを提供します。sudoedit
編集されたファイルに変更を適用するためにエディタープロセスが終了するのを待つので、同じエディターの他のインスタンスが実行されている場合、これが必要になる場合があります。
VISUAL='gedit -s'
。VISUAL='kate -n'
。pkexec
(この場合、ファイルを編集する必要がある…スーパーユーザーとして、この答えが解決しようとしている正確なこと)のようなセキュリティポリシーの変更を必要としません。sudo -H
。root
容認できるように見える場合とそうでない場合があります。1 EDITOR
またはSUDO_EDITOR
動作しますが、優先度が低いか、より専門的です。詳細については、マニュアルページを参照してください。
安全にバックアップcp /etc/dhcp/dhcpd.config /$HOME/dhcpd.config.backup
するにはgksu gedit /etc/dhcp/dhcpd.config
gedit
お好みのエディターに置き換えます
このようなプロンプトが表示されます
ここにパスワードを入力してください。
新しいウィンドウが開き、そこで設定を編集できます。
問題が発生した場合は、ホームフォルダーのバックアップから復元できます。
Linuxが許可を処理する方法が原因で、「許可が拒否されました」。
中に何か$HOME
他にはほとんど何もルートに属しているのに対し、フォルダには、利用者に属します。
/etc/dhcp/dhcpd.conf
あなたがアクセスしようとしているファイルは、ルートに属し、ほとんどのファイルにおける/etc/
セキュリティ上の理由から、デフォルトでルートに属します。
アクセス許可を上げることで、このファイルを編集できます。
これを行うには、いくつかの方法があります。
使用su
スイッチユーザーの略です。属性がなければ、rootアカウントに切り替えるコマンドとして機能しますが、切り替え先のユーザーのパスワードを入力する必要があります。また、Ubuntuではrootがデフォルトでパスワードを持たないため(rootアカウントを事実上無効にします) 、これはお勧めできませんが、rootのパスワードを設定しないと機能しません。
sudo
which を使用すると、1つのコマンドのみの許可が高くなります。これは通常vim
、nano
などのCLIテキストエディターなどのコマンドラインアプリでのみ使用されます
gksu
which を使用すると、1つのコマンドのみのアクセス許可が高くなりますがsudo
、GUIなどのGUIテキストエディターなどのグラフィカルプログラムでは使用されませんgedit
。グラフィカルプロンプトを使用して、パスワードの入力を容易にします。
sudo < editor > < filelocation >
例えば:
sudo -H gedit etc/dhcp/dhcpd.config