nk2 Asked: 2022-10-10 06:12:39 +0800 CST2022-10-10 06:12:39 +0800 CST 2022-10-10 06:12:39 +0800 CST 为什么直接复制文件不可编辑? 772 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会这样? linux root 2 个回答 Voted Best Answer symcbean 2022-10-10T12:54:07+08:002022-10-10T12:54:07+08:00 大多数现代操作系统都应用文件权限和所有权。在 Linux 中,与在 Unix 上一样,默认行为是限制对文件的访问,除非被告知要共享它们(其他操作系统采用不同的方法)。通过使用“sudo”,您可以在没有任何安全控制的情况下执行操作。Sudo 以 root 用户身份执行命令。当您以 root 身份复制文件时,新文件归 root 所有。该文件仍然是可编辑的 - 但不是由 root 以外的其他用户编辑。你可以... 以 root 身份编辑文件(通常不好) 将文件的用户(或组,如果组可写)所有权更改为您通常使用的用户(或他们所属的组)(好) 更改文件的权限,以便任何人都可以编辑它(坏) 更改文件权限的默认值(坏) 更改所有权是使用chown命令完成的。使用chmod更改文件的权限。使用umask命令更改默认值,通常从您的 shell 配置文件中调用。chmod 和 chown 在第一个链接中进行了说明,在后续链接中进行了更详细的说明。 Artem S. Tashkinov 2022-10-10T06:52:23+08:002022-10-10T06:52:23+08:00 sudo cp将使其属于文件的原始用户(很可能root)。 sudoaftertouch将覆盖文件,因此它将保留其原始 id/groupid。 “Clobber”是默认操作,尽管它在手册页中没有明确指出: -n, --no-clobber do not overwrite an existing file (overrides a previous -i option) 这应该解决这个问题: sudo chown `id -u` ~/.config/dunst/dunstrc
大多数现代操作系统都应用文件权限和所有权。在 Linux 中,与在 Unix 上一样,默认行为是限制对文件的访问,除非被告知要共享它们(其他操作系统采用不同的方法)。通过使用“sudo”,您可以在没有任何安全控制的情况下执行操作。Sudo 以 root 用户身份执行命令。当您以 root 身份复制文件时,新文件归 root 所有。该文件仍然是可编辑的 - 但不是由 root 以外的其他用户编辑。你可以...
更改所有权是使用chown命令完成的。使用chmod更改文件的权限。使用umask命令更改默认值,通常从您的 shell 配置文件中调用。chmod 和 chown 在第一个链接中进行了说明,在后续链接中进行了更详细的说明。
sudo cp
将使其属于文件的原始用户(很可能root
)。sudo
aftertouch
将覆盖文件,因此它将保留其原始 id/groupid。“Clobber”是默认操作,尽管它在手册页中没有明确指出:
这应该解决这个问题: