mkdir ~/.config/dunst
sudo cp /etc/dunst/dunstrc ~/.config/dunst/dunstrc
これにより、ファイルを編集できなくなります。
rm ~/.config/dunst/dunstrc
touch ~/.config/dunst/dunstrc
sudo cp /etc/dunst/dunstrc ~/.config/dunst/dunstrc
これにより、ファイルを編集できます。 Linuxはなぜそう行動するか。
答え1
ほとんどの最新のオペレーティングシステムで動作ファイル権限と所有権。 Linuxでは、Unixと同様にファイルを共有するように指示されていない限り、ファイルへのアクセスを制限することがデフォルトの動作です(他のオペレーティングシステムでは異なるアプローチを取る)。 「sudo」を使用すると、セキュリティ制御なしで作業を実行できます。 Sudo は root ユーザーとしてコマンドを実行します。ルートとしてファイルをコピーすると、新しいファイルはルートの所有になります。ファイルは引き続き編集できますが、root以外のユーザーは編集できません。あなたはできます...
- rootでファイルを編集する(通常間違っている)
- ファイル内のユーザー(またはグループが書き込み可能な場合はグループ)の所有権を通常使用するユーザー(またはそのグループが属するグループ)に変更します(良好)。
- 誰でも編集できるようにファイルの権限を変更します(悪い)。
- ファイル権限のデフォルト値の変更(悪い)
所有権の変更は次のように行われます。ジョン注文する。ファイルの権限の変更は、次のように実行されます。chmod。デフォルト値を変更する方法は次のとおりです。マスク通常、シェル構成ファイルから呼び出されるコマンドです。 chmod と chown は最初のリンクで説明され、後続のリンクでさらに詳しく説明されます。
答え2
sudo cp
ファイルの元のユーザーに属します(ほとんどroot
)。
sudo
afterはtouch
ファイルを上書きするため、元のID /グループIDを保持します。
「Clobber」はデフォルトの動作ですが、マニュアルページに明示的に指定されていません。
-n, --no-clobber
do not overwrite an existing file (overrides a previous -i option)
これにより問題が解決します。
sudo chown `id -u` ~/.config/dunst/dunstrc