一年前按照张大妈的教程在nas上部署了管理密码的VaultWarden(Bitwarden),运行一直很稳定,终于不用记那么多密码了。最近突然发现一直处于开放注册的状态,虽然个人nas不太会被注意到,但毕竟是个小小的隐患。在官方的说明文档中搜索到,可以通过添加一个环境变量来禁止新用户注册。遗憾的是我所使用的威联通不支持在web页面对已经部署的docker的环境变量进行修改,官方售后建议我重新部署,这个docker已经用了一年了,重新折腾又嫌麻烦。不过因为它的系统是基于Linux的,一顿搜索之后,发现可以通过SSH连接来修改docker对应的config文件来达到修改环境变量的效果。同样的方法也可以用在其他docker中,来修改已经部署的docker的环境变量。

这是VaultWarden修改前的环境变量,我们需要在其中添加一个值为“false”的“SIGNUPS_ALLOWED”环境变量来禁止新用户注册。

修改NAS上已经部署docker的环境变量VaultWarden修改前的环境变量

首先需要查看一下需要修改的docker的ID。在威联通的Container Station中,单机对应的docker名称,可以在右侧的容器详细信息中看到ID(我这个是e9630940995d3e......),记下这个ID,在后续的操作中需要用到。然后点击停止按钮,停止该docker。

修改NAS上已经部署docker的环境变量查看docker ID

接下来需要在nas上允许SSH连接。在“控制台-网络和文件服务-Telnet/SSH”中,勾选“允许SSH连接”,端口号可以用默认的22,也可以修改成其他端口,记得做好路由器的端口转发。

修改NAS上已经部署docker的环境变量开启SSH

下载SSH连接工具PuTTY,官网链接在这里。运行后在Host Name和Port处填写nas的地址和刚才设置的端口号,回车或者点击下方的Open按钮。

修改NAS上已经部署docker的环境变量PuTTY界面

连接后会提示login as:,这里需要输入administrators组的账号,账号输入完毕后回车,按照提示输入密码(输入密码时不会显示字符),输入完毕后回车。

修改NAS上已经部署docker的环境变量SSH登录

如果是admin账户登录,则会显示下方菜单:

修改NAS上已经部署docker的环境变量Console Management菜单

输入Q回车,按y回车确认即可回到常见的命令模式。

修改NAS上已经部署docker的环境变量确认返回shell环境

如果是非admin的administrators组账户则直接进行后续操作。

首先要找到docker所在的目录,输入如下命令:

docker info | grep 'Docker Root'

回车后可以看到docker的路径。然后用cd命令转到这个路径:

cd /share/CACHEDEV1_DATA/Container/container-station-data/lib/docker

修改NAS上已经部署docker的环境变量查找并跳转到docker目录

输入ls命令查看该路径下的所有文件和文件夹,应该会有一个“containers”的文件夹,用cd命令跳转到该文件夹,然后再输入ls命令,可以看到有一个或者多个由字母和数字组成的很长的文件夹,找到之前查看的docker ID,用cd命令跳转到这个文件夹中。

进入文件夹后用ls命令可以看到目录中的文件,其中应该有一个名为config开头,后缀为json的文件,我这个是config.v2.json。用如下命令打开(如提示需要输入密码则输入密码后回车),然后按字母 i 进行编辑:

sudo vim config.v2.json

修改NAS上已经部署docker的环境变量编辑json文件

用左右方向键找到环境变量参数所在的位置,格式为:

“ENV”:["变量名称1=变量值1","变量名称2=变量值2"]

按照此格式添加所需要的变量名称和值后,按ESC键退出编辑,输入“:wq”回车保存文件并退出。

修改完毕后输入exit退出SSH连接,重启nas即可生效。重启后查看Container Station中的docker环境变量,可以看到新的环境变量已经添加进来了:

修改NAS上已经部署docker的环境变量新添加的环境变量

测试一下注册新账户,提示错误:

修改NAS上已经部署docker的环境变量已禁止新用户注册

以上就是对已经部署好的docker环境变量的修改方法,希望对跟我一样不熟悉Linux的小白们有所帮助,如果大佬们有更好的办法还请不吝赐教修改NAS上已经部署docker的环境变量

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

,

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。