====== 专家 (expert) 模式底下为您的伺服器重置 root 密码 ======
如果您忘记您的伺服器在专家 (expert) 模式底下的 'root' 密码,您可以透过以下流程来重置密码。请注意,Gandi 并没有存取您的密码的权限,因此我们无法替您变更或重置密码。
也因为我们以这样的方式建构我们的虚拟伺服器,才得以让变更 root 密码可以如此简单,仅需您自己花费几分钟即可完成。
===== 必要条件 =====
本流程会要您创建一个新的临时伺服器,利用该伺服器重新附加原系统碟来重置您的密码。
请在新的伺服器上用所有权人帐号登入,在这之前,请确认您有足够的伺服器点数可供伺服器运行。
我们的计费系统将为您创建一个可供当下运行的伺服器,我们的计费是以小时为基础计算,所以只会花您非常少许的费用。
===== 流程 =====
==== 创建一个新的伺服器 ====
请使用您可用的资源,依照下列的页面创建一个基本模式的新伺服器: https://www.gandi.net/admin/hosting/vm/create
您必须选择正确的版本,接着让伺服器创建之操作生效。
==== 卸下及重新添加系统磁碟 ====
请将您忘记密码的伺服器停止运作,卸下其系统磁碟。接着把上述系统磁碟添加到刚刚新创建的伺服器上。如此一来您就可以编辑 '/etc/shadow' 档,使其列出加密过的密码。
==== 编辑密码 ====
透过 SSH 与新创建的伺服器进行连结,接着检查先前那个伺服器的系统磁碟有没有被正确安装(使用 //'mount'// 进行确认),您应该取得以下的结果:
root@Haz:/home/toor# mount
/dev/xvda1 on / type ext4 (rw,noatime,errors=remount-ro)
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
tmpfs on /var/gandi type tmpfs (rw,relatime,size=24k,mode=755)
/dev/xvdb on /srv/DEBIAN6_64 type ext4 (rw,nosuid,nodev,noatime)
在新创建的伺服器上,上述系统磁碟的安装应该跟要 '/dev/xvdb' 进行关联。以上面的例子来说,应该安装在 //'/srv/DEBIAN6_64'//。
接着,为了确认密码所使用的加密方式,我们需要检查这个档案: //'/srv/nom_du_disque/etc/shadow'// 。第一个字是使用者名称,密码是在':'之后被加密过。
test:$6$l4ItWWD.$xy0ZiLQ540cDl3MvhczwvRJ555zPeCA9EryDPZXxrKwGGw6q5zFG6dsU/SVzjbfTuSm1xjzyWl/QK.GgSsmfo1:15281:0:99999:7:::
您可以透过开头的字元确认是用什么方式进行加密:
* MD5 -> 开头以 '$1'
* Blowfish -> 开头以 '$2a'
* SHA-256 -> 开头以 '$5'
* SHA-512 -> 开头以 '$6'
所以在我们的范例里面, '$6$l4ItWWD.$xy0ZiLQ540cDl3MvhczwvRJ555zPeC' 是以 SHA-512 的方式加密。 请使用下面的指令来创建一个新的密码,并使用正确的加密方式 //'mkpasswd -m encryptage'//:
root@Haz:/home/toor# mkpasswd -m sha-512
Password :
$6$1Xpq4cFEZ/z/8/f4$G6AkUlSnKbxpT3YVInIqiTgjdQ3uEbvSFgm6dPwzfr5kpRnXfODZrqpM3Ky0opzBqiVt0mxhMg1tKpiHNLOVP0
编辑 //'/srv/nom_du_disque/etc/shadow'// 档并取代先前的密码 (介于一系列的 ":" 之间) 如下所示:
之前:
test:$6$l4ItWWD.$xy0ZiLQ540cDl3MvhczwvRJ555zPeCA9EryDPZXxrKwGGw6q5zFG6dsU/SVzjbfTuSm1xjzyWl/QK.GgSsmfo1:15281:0:99999:7:::
之后:
test:$6$1Xpq4cFEZ/z/8/f4$G6AkUlSnKbxpT3YVInIqiTgjdQ3uEbvSFgm6dPwzfr5kpRnXfODZrqpM3Ky0opzBqiVt0mxhMg1tKpiHNLOVP0:15281:0:99999:7:::
完成上述流程之后,把系统磁碟从新的伺服器上卸下,重新添加到本来的伺服器上。在您为您的伺服器重新开机之后,您就可以使用您新的密码进行存取事宜。
当然,这时候您就可以把刚刚临时新创建的伺服器停止运作并删除。