目的:项目创建日志文件权限为 644 , 想自动改为777
有以下几种方式:
- 重写底层代码
laravel 默认使用的是
Illuminate\Log\Writer里的useDailyFiles()方法,并不能修改权限,除非修改底层源码!
默认 644 权限
- shell 命令处理
~ - 对用户和目录设置ACL权限
# 更改前,laravel-2020-01-10.log 权限为644
~ logs]$ ll
total 82424
-rwxrwxrwx 1 op www 122168 Jan 6 23:50 laravel-2020-01-06.log
-rwxrwxrwx 1 op www 10747499 Jan 7 23:50 laravel-2020-01-07.log
-rwxrwxrwx 1 op www 413004 Jan 8 23:50 laravel-2020-01-08.log
-rwxrwxrwx 1 op www 157196 Jan 9 23:50 laravel-2020-01-09.log
-rw-r--r-- 1 op www 52794 Jan 10 10:20 laravel-2020-01-10.log
# 设置递归ACL权限
~ storage]# setfacl -m u:op:rwx -R logs/
[root@dev-op-1 storage]# ls
app framework logs
# 更改后,laravel-2020-01-10.log 权限为777
~ storage]# ll logs/
total 82428
-rwxrwxrwx+ 1 op www 122168 Jan 6 23:50 laravel-2020-01-06.log
-rwxrwxrwx+ 1 op www 10747499 Jan 7 23:50 laravel-2020-01-07.log
-rwxrwxrwx+ 1 op www 413004 Jan 8 23:50 laravel-2020-01-08.log
-rwxrwxrwx+ 1 op www 157196 Jan 9 23:50 laravel-2020-01-09.log
-rw-rwxr--+ 1 op www 55308 Jan 10 10:50 laravel-2020-01-10.log
# 删除acl权限
$ setfacl -Rb logs/
递归是指父目录在设定 ACL 权限时,所有的子文件和子目录也会拥有相同的 ACL 权限。
-R递归
参考文章:http://c.biancheng.net/view/863.html