You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux服务器查找所有者为apache的文件/文件夹的命令需求

解决Linux服务器查找指定目录下属主为apache的文件/文件夹问题

没问题,我来帮你一步步搞定这个需求!咱们分两部分来:先讲怎么查看文件的所有者、用户组和权限,再重点解决筛选目标目录中属主为apache的内容。

一、查看所有文件/文件夹的所有者、组与权限

最常用的命令就是ls加上参数,能快速列出基础信息:

  • 查看当前目录下所有可见文件的详细信息:
    ls -l
    
    输出里的第三列是所有者(owner),第四列是用户组(group),第一列是权限(permission)(比如drwxr-xr-x,第一位d代表目录,后面的三组分别是所有者、组、其他用户的权限)。
  • 如果要包含隐藏文件(以.开头的文件),用:
    ls -la
    
  • 要是想查看更详细的文件属性(比如inode、修改时间等),可以用stat命令:
    stat filename
    

二、找出网站/CRON相关目录中属主为apache的文件和文件夹

咱们用find命令来递归查找,这是处理这类需求最灵活的工具。

1. 针对网站目录的查找

常见的网站根目录是/var/www/,如果你的网站有自定义目录,可以替换成实际路径。

  • 列出该目录下所有属主为apache的文件和文件夹(包含路径、属主、组、权限):
    find /var/www/ -user apache -printf "%p | 所有者: %u | 用户组: %g | 权限(数字): %m\n"
    
  • 只找文件夹:
    find /var/www/ -user apache -type d -printf "%p [目录]\n"
    
  • 只找文件:
    find /var/www/ -user apache -type f -printf "%p [文件]\n"
    

如果不确定所有网站的DocumentRoot,可以用Apache的命令先列出所有网站根目录:

# 针对CentOS/RHEL的httpd
httpd -S | grep "DocumentRoot" | awk '{print $NF}'
# 针对Debian/Ubuntu的apache2
apache2ctl -S | grep "DocumentRoot" | awk '{print $NF}'

把这些路径批量传入find:

WEB_DIRS=$(httpd -S | grep "DocumentRoot" | awk '{print $NF}')
find $WEB_DIRS -user apache -printf "%p\n"

2. 针对CRON相关目录的查找

常见的CRON相关目录有/var/spool/cron/(用户自定义crontab文件)、/etc/cron.d/(系统级定时任务)、/etc/cron.hourly///etc/cron.daily/等周期任务目录。

  • 查找这些目录中属主为apache的内容:
    find /var/spool/cron/ /etc/cron.d/ /etc/cron.hourly/ /etc/cron.daily/ -user apache -printf "%p\n"
    

另外,你也可以直接查看apache用户的crontab内容:

crontab -u apache -l

3. 额外实用技巧

  • 把结果保存到文件方便后续查看:
    find /var/www/ -user apache -type f > apache_owned_web_files.txt
    
  • 统计找到的文件/文件夹数量:
    find /var/www/ -user apache | wc -l
    

内容的提问来源于stack exchange,提问作者Vivek Tankaria

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 12:29:56