แฟ้มประวัติ喜鹊和麻雀的故事รูปถ่ายบล็อกรายการเพิ่มเติม ![]() | วิธีใช้ |
iphone spreadboard不断重启问题解决,修改SSH密码教大家如何修改ssh 登录密码 大家的IPHONE上一定都装了BSD工具和Openssh 吧,一直听说不能用passwd 命令修改root 密码,否则springboard 会不断重启,我今天试了一下,果然是这样。不过我也发现了解决方法,下面听我慢慢讲,呵呵 大家知道IPHONE 的系统是基于BSD 的 Darwin ,说白了核心就是一个BSD ,在BSD下帐号管理一般是下面几个文件 /etc/passwd 用户文件 /etc/master.passwd 密码影子文件 /etc/group 组用户文件 关于BSD 的知识大家可以查看一下下面这个链接 http://www.freebsd.org/doc/zh_CN/books/handbook/users.html 下面开始操作,先用putty 连接到你的iphone 中,注意一定要用SSH远程连接,不能用VT-100,否则当你的spreadboard 不断重启的时候你都不知道该怎么办了,最好是保持iphone 在锁定状态。 修改密码一般是操作 passwd 和 master.passwd 让我们先来看看IPHONE中没有修改密码前的两个文件/etc/passwd 和 /etc/group (去掉了注释部分) # cat /etc/passwd nobody:*:-2:-2:Unprivileged User:/:/usr/bin/false root:*:0:0:System Administrator:/var/root:/bin/sh mobile:*:501:501:Mobile User:/var/mobile:/bin/sh daemon:*:1:1:System Services:/var/root:/usr/bin/false unknown:*:99:99:Unknown User:/var/empty:/usr/bin/false _securityd:*:64:64::0:0:securityd:/var/empty:/usr/bin/false # cat /etc/master.passwd nobody:*:-2:-2::0:0:Unprivileged User:/var/empty:/usr/bin/false root:/smx7MYTQIi2M:0:0::0:0:System Administrator:/var/root:/bin/sh mobile:/smx7MYTQIi2M:501:501::0:0:Mobile User:/var/mobile:/bin/sh daemon:*:1:1::0:0:System Services:/var/root:/usr/bin/false unknown:*:99:99::0:0:Unknown User:/var/empty:/usr/bin/false _securityd:*:64:64::0:0:securityd:/var/empty:/usr/bin/false 大家注意master.passwd ":/smx7MYTQIi2M" 就是我们的初始密码" alipne" 好,修改之前先备份一下两个文件(下面的~ 指的是你的家目录,执行 echo $HOME 就知道你的家目录中哪里了) # cp /etc/passwd ~ # cp /etc/master.passwd ~ 然后开始修改,我们执行 passwd 命令(我修改密码为"123456" 注意输入的密码不会显示到屏幕上) # passwd Changing password for root. New password: Retype new password: # 好,现在如果你的iphone正好从锁定状态恢复的话,就会发现springboard 开始不断重启了,先别管他,我们继续看终端 先来看看那两个文件被修改成什么样子了 # cat /etc/passwd nobody:*:-2:-2::0:0:Unprivileged User:/var/empty:/usr/bin/false root:*:0:0:System Administrator:/var/root:/bin/sh mobile:/smx7MYTQIi2M:501:501::0:0:Mobile User:/var/mobile:/bin/sh daemon:*:1:1::0:0:System Services:/var/root:/usr/bin/false unknown:*:99:99::0:0:Unknown User:/var/empty:/usr/bin/false _securityd:*:64:64::0:0:securityd:/var/empty:/usr/bin/false 在这个文件中,不知道大家发现没有,我们修改的root 字段(另外还有_securityd也没有发生变化)没有什么变化,其他的都发生了变化 首先看 nobody:*:-2:-2::0:0 多了后面的“::0:0” 这两位在BSD中的意义是:密码最少要多少时间更换一次,密码多少时间失效,都是0的话表示没有任何限制 还有再看 mobile:/smx7MYTQIi2M: 大家看看上面我们原有的passwd 文件,很明显,这个密码段是放在master.passwd 文件里的,但我们执行了passwd 命令后从master.passwd 中搬了到了passwd 中,而且还加上了后面两位设置密码时间的字段。这样一改就导致了spreadboard 不断重启,可能是系统无法认识这个文件的格式了,具体情况我不是很了解。 下面再看看/etc/master.passwd # cat /etc/master.passwd nobody:*:-2:-2::0:0:Unprivileged User:/var/empty:/usr/bin/false root:5FhGjQ/RzVTDA:0:0::0:0:System Administrator:/var/root:/bin/sh mobile:/smx7MYTQIi2M:501:501::0:0:Mobile User:/var/mobile:/bin/sh daemon:*:1:1::0:0:System Services:/var/root:/usr/bin/false unknown:*:99:99::0:0:Unknown User:/var/empty:/usr/bin/false _securityd:*:64:64::0:0:securityd:/var/empty:/usr/bin/false 这个文件到没有发生什么,只是改变了root的密码, " 5FhGjQ/RzVTDA" 就是加密后的密码,现在知道了问题主要出在了/etc/passwd 上面,下面说说解决方法,其实很简单,如果你原来有备份的话直接从备份中恢复这个文件马上就OK 了 # cp ~/passwd /etc 如果没有备份,也不要着急,我们就慢慢修改,或者把上面那段未修改前的文件直接替换上去,如果你不会再终端上用vi命令编辑的话,那就用PC工具拷贝这个文件出来修改,再拷贝回去就没问题了,就这么简单! |
|
|