Linux如何修改文件所有者chown命令

说实话,第一次接触Linux时,chown命令让我一度困惑。
当时,我刚刚承担了一个与运行和维护网站相关的小任务,Apache 每次都会报告 5 00 个内部服务器错误。
经过检查,发现是文件权限问题——网站根目录下的文件所有者还是root,服务器进程根本无法读取。
我当时很着急,差点就想重装系统了。
后来隔壁小伙教我如何使用chown将所有者更改为www-data,问题立即解决。

有趣的是,chow的使用实际上完全分为小节。
例如,如果您只更改所有者,例如将report.txt文件从旧用户更改为新用户,则只需将report.txt文件更改为新用户即可。
但如果您只想更改组,例如将 data.csv 从旧组更改为新组,则应该使用 chown :newgroup data.csv 和冒号。
当我第一次写一个处理用户数据的脚本时,我陷入了这样的困境,忘记添加两个冒号。
结果整个目录组都变了,系统差点崩溃。

假设最重要的技能考验是递归修改。
例如,如果你有一个巨大的项目目录,其中有多层嵌套的子目录和数千个文件,你会突然发现所有文件的所有者都迷失了方向。
这时, chown -R user:group /path/to/directory 就可以派上用场了。
但是,使用此功能时必须非常小心。
我之前曾尝试使用它来清除生产环境中的缓存。
因此,键盘日志目录也发生了更改。
最终花了半天时间才扭转了流程。
因此,当尺寸较大时,最好使用 -l 选项先预览,或者 chown -R --dry-run 以避免手抖。

用数字ID来更改也很有趣。
例如,如果你知道用户的UID是1 001 ,GID是1 002 ,但是你懒得检查用户名,就选择文件1 001 :1 002 file.txt。
但说实话,我通常使用名字。
毕竟数字很难记,如果我记错了,至少可以通过名字立即知道我改成了哪个用户。
我曾经帮助一个同事调整代码,用数字改变组合。
原来该文件已与另一个组共享,所有权限都丢失了。
最后,我不得不使用 chown 来返回。

还有谁检查当前所有者也很常见。
我有每次更改 chown 后使用 ls -l 命令添加眼罩的习惯。
例如,如果您看到 -rw-r--r-
1 user1 group1 file.txt,您现在就会知道谁负责该文件。
升级系统后,发现配置文件组的属主变成了root。
我快速用 ls -l 扫描它并用 chown -c 更改它。
不然官方知道后会再次训斥我的。

最怕的是操作不好。
例如,本来我只想更改特定目录,但 chown -R 也更改了顶层目录。
我以前在更改大型项目的代码时犯过这个简单的错误。
结果,我更改了项目根目录的所有者,这使得整个存储库无法使用,我不得不重新安装它。
因此,在进行更改之前,最好使用 ps aux 找出哪些进程正在使用该目录,并使用搜索命令确认路径。
现在重新开始还不算太晚。

总之,chown是一个强大的工具,但是你必须小心使用它。
虽然很简单,但是细节却很多。
我建议初学者先在虚拟机上练习技能。
比如创建几个用户,把文件权限搞乱,然后慢慢用chown来整理。
这比着急要好。

Linux目录所有者修改chown命令用法

说实话,这个 chown 东西用得不少。
只需更改谁拥有该文件以及哪个组拥有该文件即可。
我们来谈谈语法。
chown 后面是选项,然后是用户名,冒号之前没有空格,然后是组名,最后是文件或目录。

例如,如果要将 /data/project 目录的所有权授予用户 alice,则可以直接使用 chown alice /data/project。
简单明了。

如果您想同时更改所有者和组,例如用户 alice 和组开发人员,请选择 alice:dev /data/project。
请注意,冒号前后不能有空格。
这很容易做错。

如果只是想重新组织而不改变用户,有两种方法。
建议使用 chown :dev /data/project,它只是重新组织。
还有一个老方法,chown .dev /data/project,也可以用,但不推荐。

如果目录中有子目录并且要全部更改,请使用 -R 递归地更改它们。
例如,chown -R alice:dev /data/project。
这样一来,无论多深,一切都已经改变了。

有几个选项,-R表示递归,-v表示显示详细过程,-f表示不报错,直接改即可。

要使用此命令,您必须具有管理员、root 或 sudo 权限。
用户名和组名必须在系统中存在。
如果它们不存在,则会报告错误。
例如,使用 id alice 查看用户是否存在,使用 getent group dev 查看组是否存在。

更改系统目录时要小心,例如/etc。
如果您进行了错误的更改,系统可能会崩溃。
进行递归更改时还需要仔细观察,不要更改重要文件。

该命令与 chmod 结合使用。
chown 控制谁拥有它, chmod 控制它可以做什么。
例如,首先使用 chown 更改所有者和组,然后使用 chmod 更改权限。

就是这样。
使用多了之后就变得容易了。

LINUX怎么递归地修改文件夹所有者_LINUX递归修改文件权限方法

结论:Linux 使用 chown -R 递归地更改文件夹的所有者,例如:chown -R alice:developers /data/project。
使用 chmod -R 更改权限是不安全的。
使用 find 来区分目录和文件。
目录是7 5 5 ,文件是6 4 4 注意权限,使用sudo并检查路径。

如何使用 chown 命令更改文件的用户和用户组?

哦虽然chown命令的描述还算完整;这有点像教科书。
让我们换一种方式来说,好吗?
我自己遇到的错误是,当我第一次开始使用 chown 时,我总是将用户名和组名混淆。
例如,如果您想更改项目文件以进行某些开发。
但是,如果组改错了文件。
权限仍然无效。
因此chown [user]的形式为:[group];请记住,用户优先,组最后。
不要回信。

上次有同事问我为什么用chown -R 反复改变一个目录,但里面的小文件却没有变化。
后来发现他使用的用户名拼写错误或者该用户根本不存在于系统中。
Linux是一件非常严肃的事情。
如果您给它错误的名称,它将被忽略。

最烦人的功能是--reference参考文件。
2 02 3 年,我在上海一家公司的服务器上工作,解决备份文件随机命名的问题,我是这样解决的。
例如,文件A是标准格式;如果你想获取文件B的权限,点击--reference=A B就可以避免手动一一更改。
但这招它非常先进,一般人无法使用。

毕竟chown使用起来很方便;但请注意不要拼错用户名和组名。
如果我撤销权限,那哭就来不及了。
您想使用哪个选项?或者直接向我询问您遇到的任何问题。
最近我一直在思考反复更改权限的陷阱。