我有一个日志文件夹,有时一些日志文件归root
所有,但我需要它们归www-data
所有。
我正在编写一个脚本,用于检查它们是否全部归www-data
所有。=可写给该用户。
#!/bin/bash
rootfiles=$(ls -lA /tmp/logs/ | grep root | sed -e 's/\s*$//')
if [[ ! -z "$rootfiles" ]]; then
exit 1
fi
exit 0
这样做很好,但只有当我假设其中没有包含单词root
的文件时,并且所有不是root的www-data
{{} 1}}。
我怎样才能让它更健壮?
答案 0 :(得分:1)
您可以使用find
查找:
find /tmp/logs -not -user www-data
但是,要更改所有文件的所有者,可以使用递归chown
:
chown -R /tmp/logs/* www-data
答案 1 :(得分:1)
您可以在-user
中使用find
选项:
find /tmp/logs -not -user www-data
更改所有权:
find /tmp/logs -not -user www-data -exec chown www-data {} +