由于某些原因,我已将php.ini文件复制到用户的所有主目录中 例如:
/home/user1/php.ini
/home/user2/php.ini
/home/user3/php.ini
任何用户的主文件夹的chown与用户相同: 例如:
/home/user1/ is owned by user1 and group is set to user1
我想将所有php.ini文件附加到特定的行,如:
open_basedir=/home/xxxxx:/usr/local/etc/php5/cgi:/tmp
而不是xxxxxx我希望拥有php.ini当前所在的相关文件夹的所有者。
如何自动化?
答案 0 :(得分:0)
我将以root身份做什么:
cd /home
for user in */; do
test -s /home/${user}php.ini || continue
chown ${user%/}: /home/${user}php.ini
echo "open_basedir=/home/${user%/}:/usr/local/etc/php5/cgi:/tmp" >> /home/${user}php.ini
done
答案 1 :(得分:0)
您可以使用此find
命令:
cd /home
find . -name 'php.ini' -exec bash -c 'd="${1%/*}"; d="${d#*/}"; echo "open_basedir=/home/$d:/usr/local/etc/php5/cgi:/tmp" >> "$1"' - '{}' \;