过了一个清明节,把自建的nextcloud登录密码给忘了,不停重试,不如直接重置密码。
参考文章ownCloud/Nextcloud使用OCC命令重置密码

因为重启了一下vps,导致docker退出,先重启。

ubuntu@VM-0-5-ubuntu:~$ sudo su
root@VM-0-5-ubuntu:/home/ubuntu# docker ps -a
CONTAINER ID        IMAGE                                                     COMMAND                  CREATED             STATUS                            PORTS               NAMES
66ae53f080fc        greyltc/nextcloud                                         "/bin/sh -c 'start-s…"   4 days ago          Exited (137) About a minute ago                       nc
67ba8f56d216        registry.cn-hangzhou.aliyuncs.com/zkeasoft/zkeacms.core   "dotnet ZKEACMS.WebH…"   4 days ago          Exited (0) About a minute ago                         thirsty_bohr
root@VM-0-5-ubuntu:/home/ubuntu# docker start nc
nc

进入docker容易,找到occ,查看occ所属的用户组,根据参考文章中的命令

sudo -u www-data php occ user:resetpassword 用户名

执行occ命令,需要先了解occ所属的用户,然后调整命令。

root@VM-0-5-ubuntu:/home/ubuntu# docker exec -it nc /bin/bash
[root@66ae53f080fc /]# find -name occ
./usr/share/webapps/nextcloud/occ
./usr/share/webapps/nextcloud/data/updater-ocaxdj9yd0ef/backups/nextcloud-11.0.1.2/occ
./usr/share/webapps/nextcloud/data/updater-ocaxdj9yd0ef/backups/nextcloud-12.0.6.1/occ
./usr/bin/occ
[root@66ae53f080fc /]# cd /usr/share/webapps/nextcloud/
[root@66ae53f080fc nextcloud]# cat occ
#!/usr/bin/env php
<?php
/**
 * Copyright (c) 2013 Thomas Müller <thomas.mueller@tmit.eu>
 * This file is licensed under the Affero General Public License version 3 or
 * later.
 * See the COPYING-README file.
 */

//$argv = $_SERVER['argv'];
require_once __DIR__ . '/console.php';
[root@66ae53f080fc nextcloud]# ls -la occ
-rw-r--r-- 1 http http 283 Apr  4 11:54 occ

所以此处我的命令是

sudo -u http php occ user:resetpassword 用户名

当然也有可能你不仅忘记了密码,也忘记了用户名。可以通过以下命令查看有哪些用户。

sudos -u http php occ user:list

命令中sudos -u http php occ user:list的http记得替换成你自己查询到occ的所属用户。

以下是user的相关命令

 user
  user:add                            添加一个用户
  user:delete                         删除特定用户
  user:disable                        禁用特定用户
  user:enable                         激活特定用户
  user:info                           显示用户信息
  user:lastseen                       显示用户最后登陆了时间
  user:list                           列出所有用户
  user:report                         显示有多少用户访问
  user:resetpassword                  为一个用户重置密码
  user:setting                        读取和修改用户设置

还需要注意的是,执行重置用户密码的命令会让你输入一个密码,改密码过于简单是会有标红提示,多试几个比较长的不常见的密码,总有一个可以成功,成功之后记得记下来自己的用户名和密码,以免下次再次忘记。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐