在完成Nextcloud安装后,或者创建了一个新用户之后,(该用户)的根目录下就会出现这些目录和文件:
在Nextcloud尚未安装时,这些文件存放在core/skeleton
目录中,在安装或创建用户时,这些文件将会被自动复制到data/
目录中,所以在如果用户删除这些文件的话,是不会影响到core/skeleton
中的原文件的。
换个思路,如果用自己的文件替换core/skeleton
中的内容,就可以自定义新用户默认的文件。
示例
如图,我在一个尚未完成安装的Nextcloud实例上,在core/skeleton
目录中添加了Winterfell-background.png文件:
root@5df28f05c05b:/var/www/html/core/skeleton# ls -l total 5024 drwxr-xr-x 2 www-data root 4096 Nov 18 06:42 Documents -rw-r--r-- 1 www-data root 4143672 Nov 18 06:42 Nextcloud Manual.pdf -rw-r--r-- 1 www-data root 462413 Nov 18 06:42 Nextcloud.mp4 drwxr-xr-x 2 www-data root 4096 Nov 18 06:42 Photos -rw-r--r-- 1 www-data root 525833 Dec 2 11:16 Winterfell-background.png注意权限要与其它文件保持一致,至少可读。
- 文件权限为:644 ,用户和组:apache:apache
- 目录权限为:755,用户和组:apache:apache
完成安装后,进入Nextcloud,我们就可以看到刚才添加的文件了,它和其它文件一样可以查看、编辑、删除。
我们来看看用户的在data目录下的文件:
root@5df28f05c05b:/var/www/html/data/ORGLEAF/files# ls Documents Nextcloud Manual.pdf Nextcloud.mp4 Photos Winterfell-background.png
可以看到,Winterfell-background.png已经和其它文件一起被复制了进去。
自定义默认文件目录
如果你按照上述步骤来自定义默认文件的话,就会出现一个问题:当Nextcloud升级时,这个core/skeleton
就会被替换,你所做的修改也就不存在了。当然你也可以再重新修改一次,不过还有更好的方法。
你可以在config/config.php
文件中添加一个参数,这个参数可以自定义默认文件目录的名字,例如我在core/
下创建一个custom_skeleton
目录,想让它作为存放默认文件的目录,那么就可以这样写(添加到?>
之前):
'skeletondirectory' => 'core/custom_skeleton',
这样,Nextcloud在安装或创建新用户时就会从core/custom_skeleton
复制文件,当Nextcloud更新时,这个目录也不会被替换以至于丢失自定义的默认文件。
P.S.如果你将‘skeletondirectory’ =>
后面的参数留空,像这样:
'skeletondirectory' => '',
那么Nextcloud就不会去复制任何文件,这样用户的文件夹默认就是空的。
comments powered by Disqus