首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >L的解说结果

L的解说结果
EN

Unix & Linux用户
提问于 2021-07-27 04:51:49
回答 2查看 100关注 0票数 -1

我无法解释目录中ls -l的结果:

代码语言:javascript
复制
-rwxrwxr-x 1 root   root      37114 Jul 24 02:13  madison_events.json
-rwxrwxr-x 1 root   root     131355 Jul 24 16:00  milwaukee_events.json
-rwxrwxr-x 1 root   root      67570 Jul 26 19:42  minneapolis_events.json
-rwxrwxr-x 1 root   root     402115 Jul 24 16:33  nashville_events.json
-rwxrwxr-x 1 root   root      70429 Jul 24 16:46  neworleans_events.json
-rw-rw-r-- 1 ubuntu ubuntu   546936 Jul 27 02:15  nyc_events.json
-rwxrwxr-x 1 root   root      58037 Jul 24 16:50  seattle_events.json
-rw-rw-r-- 1 ubuntu ubuntu   141303 Jul 27 01:04  sf_events.json

我注意到我的python脚本可以写入列出的ubuntu (nyc_events.josn和sf_events.json)文件,但它不能写入列出的根文件(seattle_events.json、nashville_events.json等)。

在这种情况下,root和ubuntu意味着什么?我如何才能让读取“root”的文件读取“ubuntu”?我还注意到,在filezilla中,根文件的数值为664,而ubuntu文件的值为775

总之,我希望能够写到所有这些文件。谢谢。

EN

回答 2

Unix & Linux用户

发布于 2021-07-27 06:13:31

其中一些文件属于root (也属于组root )。这是因为在某个时候,您已经运行了作为root生成它们的脚本。不要这样做,只对需要根权限的系统管理任务使用root。所有权可以用chown来修正。

根拥有的文件也具有执行权限,可能是因为root的umask默认设置新文件的执行位。.json文件通常不需要是可执行的(因为它们只是json数据,而不是脚本),所以您应该用chmod修复它。

若要修复所有权和权限,请将cd放到包含文件的目录中,并且:

代码语言:javascript
复制
sudo chown ubuntu:ubuntu *.json
sudo chmod 644 *.json
票数 0
EN

Unix & Linux用户

发布于 2021-08-24 08:35:59

原因是列出为root的文件属于root用户,因此不能被任何其他用户更改,比如在您的情况下的ubuntu

要使您的程序能够写入作为root列出的文件,您必须使用chown命令更改这些文件的所有权。

步骤:

  1. root用户身份登录。
  2. cd到包含文件的文件夹
  3. chown ubuntu:ubuntu *.json

或者直接执行:

  1. cd <to the directory>; sudo chown ubuntu:ubuntu *.json

希望这能有所帮助!

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/660101

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档