【问题标题】:On mac OS X terminal, how to see what user created file在 mac OS X 终端上,如何查看用户创建的文件
【发布时间】:2016-05-21 06:42:37
【问题描述】:

我想看看是什么用户为我的 php 项目创建了我的日志文件。奇怪的是,PHP 可以创建文件但不能写入文件,所以我一直有chmod 它们。我想看看是什么用户在创建它们,并授予该用户写入文件夹中文件的权限。

echo exec('whoami'); 当前返回www-data,但我没有这样的用户,只有_www。我应该注意,我是在 docker 上从 v-machine 运行它的。

是否有终端命令可以让我查看谁创建了特定文件?谢谢。

【问题讨论】:

  • ls -l filename 将显示文件的所有者。
  • 所有者和创建者一样吗?
  • 我问的原因是因为php可以创建它但是抱怨它不能写入它。
  • 创建文件时,其所有者设置为创建者。之后可以更改所有者,但只有 root 可以这样做。
  • 如果你必须chmod他们,这意味着所有权不是问题,权限是问题。听起来文件是在没有所有者写权限的情况下创建的。显示创建文件的代码。

标签: php macos shell command-line


【解决方案1】:

我可以试试stat。例如:

$ touch file
$ stat file
File: `file'
Size: 0             Blocks: 0          IO Block: 4096   regular empty file
Device: 801h/2049d  Inode: 18874836    Links: 1
Access: (0664/-rw-rw-r--)  Uid: (  500/   mauro)   Gid: (  500/   mauro)
Access: 2016-02-10 13:37:13.678996997 -0500
Modify: 2016-02-10 13:37:13.678996997 -0500
Change: 2016-02-10 13:37:13.678996997 -0500

或者只是:

$ stat --format=%U file
mauro

【讨论】:

  • stat --format=%U file 现在在 macOS BigSur 上返回 stat: illegal option -- -
【解决方案2】:

Stat 应该能够提供帮助。请尝试以下操作:

stat -f "%Su" file_path

【讨论】:

    猜你喜欢
    • 2012-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-27
    • 1970-01-01
    • 2022-06-10
    • 2015-11-27
    • 1970-01-01
    相关资源
    最近更新 更多