ルートシステムで設定ファイルを編集して保存できないようです(例:/etc/dhcp/dhcpd.config
); 「許可が拒否されました」と表示されるか、テキストエディタで保存オプションがブロックされます。
私はrootユーザーだと確信していますが、どうすれば確認できますか?ルートユーザーの場合、これを修正するにはどうすればよいですか?
どのテキストエディターを使用していますか?あなたがrootユーザーであり、パスワードを知っている場合は、(端末で)次のいずれかを試してください。
sudoedit /etc/dhcp/dhcpd.config
は、nano
などのターミナルベースのエディターを使用している場合、またはサーバーにSSH接続している場合。gksudo <text editor here> /etc/dhcp/dhcpd.config
gedit
などのGUIベースのエディターを使用している場合どちらの場合でも、要求されたときに最初にルートパスワードを提供する必要があります。
Ubuntu 14.04以降では、gksudo
はデフォルトではインストールされません。 gksu
パッケージをインストールする必要があります(ソフトウェアセンターから、またはSudo apt-get install gksu
経由で)。
Ubuntu 17.10では、従来のXサーバーの代わりにWaylandがデフォルトであり、rootとしてグラフィカルエディターを実行することは困難です。 なぜgksu/gksudoを実行しないのか、Sudoでグラフィカルアプリケーションを起動しないのはWaylandで動作しないのですか? .
Ubuntu 18.04では、gksudo
は公式リポジトリでは使用できません。代わりにSudo -H <text editor>
を使用するか、 admin://
プロトコル :
gedit admin:///etc/dhcp/dhcpd.config
端末を使用したくない場合は、GUIプログラムをルートとして呼び出すことができます(この例はGedit用です)。
gksudo
と入力し、その後にプログラムの実行可能ファイル名(GUIで表示される名前とは異なる場合があります)を入力します。例えば:
gksudo gedit
ルートがpermission denied
を取得する場合は考えられません。
12.04では、次のようにできます。 alt+f2 次のように表示されるボックスにgksudo
と入力します。
このようなボックスが表示されたら、gedit
と入力してクリックします ok:
クリック Open:
ファイルを参照するだけです:
完了
警告:理由により、スーパーユーザー/ルートが存在します。誤って重要なものに誤って何か悪いものや構造から外れたものを入れないようにするためです。ルートとして編集するものはすべて、編集しようとしている正しいファイルであり、構文が完璧であることを非常に注意する必要があります。他のツールを編集に使用できる場合は、それらを使用することをお勧めします。たとえば、/etc/sudoers
を手動で編集する代わりに、visudo
端末コマンド を使用します。
混乱する可能性のあるファイルは、簡単に回復できます。その他は比較的複雑であるか、回復コンソールと多くのコマンドラインを使用する必要があります。
はい、リカバリコンソールのコマンドラインは this よりも少し怖いようです。注意してください。
現在のシェルがルートとして実行されているかどうかをいくつかの異なる方法でテストできます
~/ > 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)
他の答えはルート権限にエスカレートする良い方法を与えるので、それらを繰り返すことはしません。 are rootでファイルを編集できない場合/etc/dhcp/dhcpd.config
-その後veryおそらく誰かまたは何らかのプログラムがchattr
プログラムを使用してファイルを不変にする。
chattrマニュアルページ から:
「i」属性を持つファイルは変更できません。削除または名前変更することはできません。このファイルへのリンクを作成することも、ファイルにデータを書き込むこともできません。この属性を設定またはクリアできるのは、
CAP_LINUX_IMMUTABLE
機能を持つスーパーユーザーまたはプロセスのみです。
lsattr
を使用して調べることができます
lsattr /etc/dhcp/dhcpd.config
実際に不変の場合は、次のように無効にすることができます。
chattr -i /etc/dhcp/dhcpd.config
buntu 17.04以上を使用している場合は、gvfs admin backendを使用することをお勧めします。 Text EditorまたはFiles appsのように、アプリで開く完全なファイルパスの前にadmin://
を追加するだけです。
たとえば、起動設定を変更するには、開く
admin:///etc/default/grub
デフォルトのWaylandでUbuntu 17.10を使用している場合、ここの古い回答で述べたSudo
およびgksu
はnot動作します。
Sudo -e
またはそのエイリアス sudoedit
は、VISUAL
環境変数を介して、お気に入りの(グラフィカル!)テキストエディターで使用できます。1:
VISUAL=gedit Sudo -e /path/to/some-config-file.cfg
これは
VISUAL=gedit sudoedit /path/to/some-config-file.cfg
もちろん、好きな他のエディターを使用できます。 g。 leafpad
、kate
、またはsubl
。
エディタの中には、alwaysを実行するコマンドラインオプションを提供するものがあります(現在実行されている場合でも)。 sudoedit
は、エディタープロセスが終了して編集済みファイルに変更を適用するのを待つため、同じエディターの他のインスタンスを実行している場合、これが必要になる場合があります。
VISUAL='gedit -s'
を使用します。VISUAL='kate -n'
を使用します。pkexec
のようなセキュリティポリシーの変更は必要ありません(ファイルを編集する必要があります。スーパーユーザーとして、この答えが解決しようとしている正確なことです)。Sudo -H
などの構成ファイルのアクセス許可を台無しにします。root
ユーザーのユーザーアプリケーション設定データにフォールバックしないでください。このデータは、容認できるように見える場合とそうでない場合があります。1 EDITOR
またはSudo_EDITOR
も機能しますが、優先順位は低くなりますが、それぞれ特化されています。詳細については、 manual page をご覧ください。
安全に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
を使用すると、1つのコマンドのみに対するアクセス許可が高くなります。これは通常、vim
、nano
などのCLIテキストエディターなどのコマンドラインアプリでのみ使用されます
gksu
を使用すると、1つのコマンドの許可のみが引き上げられますが、Sudo
とは異なり、gedit
などのGUIテキストエディターなどのグラフィカルプログラムに使用されます。グラフィカルプロンプトを使用して、パスワードの入力を容易にします。
Sudo < editor > < filelocation >
例えば。:
Sudo -H gedit etc/dhcp/dhcpd.config