明日复明日,明日何其多。
我生待明日,万事成蹉跎。

Nextcloud 加密开启与管理

Nextcloud的服务器端加密生成一个强大的加密密钥,该密钥由用户的密码解锁。您的用户不需要追踪额外的密码,只需像往常一样登录即可。它只加密文件的内容,而不是文件名和目录结构。
密匙存放在以下目录,为了避免文件被永远封存,最好将定时备份他们:

data/<user>/files_encryption

(这个目录存放了用户的私有密匙以及用户各文件对应的密匙)

data/files_encryption

(存放所有的用户的密匙和能够解密所有文件的密匙)
文件的加密和解密都由Nextcloud来完成,然后将加密后的文件上传至远程存储,这可以保护你存放在外部存储中的数据。Nextcloud管理员和存储管理员只能在后台看到加密后的文件。

image.png

ps:请在启用加密前认真考虑一下,因为Web界面上的启用操作是不可逆的(需要使用OCC命令来关闭),如果你的丢失了加密密匙,那么你的文件将永远无法恢复,所以要注意及时备份密匙。

web页面启用加密

到后台管理页面->加密,勾选“启用服务端加密”:

image.png

image.png

提示没有加载加密模块,到应用->禁用应用中找到“Default encryption module”,然后启用它:

image.png

image.png

你可以在上图中下方“默认加密模块”中取消勾选“加密主目录储存”,这样Nextcloud只会加密上传到外部存储的文件,有利于减少Nextcloud服务器的资源消耗。

加密效果

image.png

加密不会影响文件和文件夹名,但是如果查看其中的文件,可以看到内容已经被加密了:

image.png

配置文件查看加密与设置

获取当前的加密启用状况和加密模块的加载状况:

# 注意以下命令是宿主机命令
sudo -u www-data php occ encryption:status   
 - enabled: false     #加密禁用
 - defaultModule: OC_DEFAULT_MODULE  #加载的加密模块

启用服务端加密:

sudo -u www-data php occ encryption:enable
Encryption enabled
Default module: OC_DEFAULT_MODULE

列出可用的加密模块:

sudo -u www-data php occ encryption:list-modules
 - OC_DEFAULT_MODULE: Default encryption module [default*]  #“OC_DEFAULT_MODULE”为模块ID

选择一个加密模块(目前可用的只有OC_DEFAULT_MODULE):

sudo -u www-data php occ \
encryption:set-default-module [Module ID].

(Module ID)要使用encryption:list-modules中列出的模块ID:

sudo -u www-data php occ encryption:set-default-module OC_DEFAULT_MODULE                                                               
"OC_DEFAULT_MODULE"" is already the default module

文件加密

加密所有文件:

sudo -u www-data php occ encryption:encrypt-all                                                                                        
                                                                                                                                                                                        
                                                                                                                                                                                        
You are about to encrypt all files stored in your Nextcloud installation.                                                                                                               
Depending on the number of available files, and their size, this may take quite some time.                                                                                              
Please ensure that no user accesses their files during this time!                                                                                                                       
Note: The encryption module you use determines which files get encrypted.                                                                                                               
                                                                                                                                                                                        
Do you really want to continue? (y/n) y         #输入"y" 开始加密                                                                                                                                       
                                                                                                                                                                                        
                                                                                                                                                                                        
Encrypt all files with the Default encryption module                                                                                                                                    
====================================================                                                                                                                                    
                                                                                                                                                                                        
                                                                                                                                                                                        
Use master key to encrypt all files.                                                                                                                                                                                                                                                                                                                                
Start to encrypt users files                                                                                                                                                            
----------------------------                                                                                                                                                            
                                                                                                                                                                      
 all files encrypted                                                                                                                                                                    
 [============================]  

文件解密

可以一次性解密所有用户的文件,或者仅解密某个用户的文件:

sudo -u www-data php occ encryption:decrypt-all [用户名]

禁用加密

禁用加密功能仅能使用OCC命令。

禁用前先开启维护模式:

sudo -u www-data php occ maintenance:mode --on
Maintenance mode enabled

禁用加密

sudo -u www-data php occ encryption:disable
Nextcloud is in maintenance mode - no apps have been loaded                                                                                                                                                                                                                                                                                                      
Encryption disabled

关闭维护模式

sudo -u www-data php occ maintenance:mode --off

注意:如何是docker环境下,无法执行以上命令进行处理,可以通过:www-data用户进入容器环境执行

docker exec -it -u www-data nextcloud_web  /bin/bash
php occ maintenance:mode --on
php occ encryption:disable
php occ maintenance:mode --off

0人点赞私有化网盘更多精彩内容下载简书APP

作者:zhipengit
链接:https://www.jianshu.com/p/649763d38b85
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

赞(0) 打赏
未经允许不得转载:致明日 » Nextcloud 加密开启与管理
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

坚持,总会看见蓝天和白云

联系我们你来了,你就是最棒的!

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏