Chinaunix首页 | 论坛 | 博客
  • 博客访问: 530417
  • 博文数量: 87
  • 博客积分: 1549
  • 博客等级: 上尉
  • 技术积分: 970
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-14 16:56
文章分类
文章存档

2013年(10)

2012年(28)

2011年(49)

分类: LINUX

2011-10-30 20:49:56

问题一:give root password for maintenance(or type control for normal startup)
在使用单用户模式进入时,遇到的问题,没办法,密码忘记;
这如何是好?
后来使用在grup的kernel 项里,更改init=/bin/bash进入
进入后,使用fsck -y /  修复根目录
        使用fsck -y /boot 修复启动文件
重启即可进入单用户模式。
为什么要进入单用户模式?
因为我使用init=/bin/bash 进入后,无法修必密码,会出现authentication token lock busy
更改权限后,还是无法解决,
有网友提供:
kernel /vmlinuz-2.6.9-5 ro root=LABEL=/ 这里输入:“1” 按B
如果不行按“a”输入:kernel /vmlinuz-2.6.9-5 ro root=LABEL=/ single quiet
或者按“e”输入:kernel /vmlinuz-2.6.9-5 ro root=LABEL=/ single quiet
最后的办法: 按c键进入grub命令行:
(在grub命令行下按TAB键可得到grub命令帮助与grub命令的可能选项)
grub>fstest (
grub>filesystem tracing is now on
grub>root (hd0,2) (

(指定保存有Linux 内核的分区为第一个硬盘的第三个分区)

grub>filesystem type is ext2fs,partition type 0x83
grub>kernel /vmlinuz-2.6.9-5 ro root=/dev single quiet (
(指定内核文件为/boot/vmlinuz-2.6.9-5,内核参数为ro—readonly, 根分区为/dev,rhgb—图形方式启动,quiet—不输出启动信息)
grub>initrd /initrd-2.6.9-5.img (
(在内核启动前加载支持系统硬件设备的内核模块---initrd镜像文件--/boot/initrd-2.6.9-5.img,并初始化RAM disk)
grub>boot (
如果系统的配置与脚本文件正确,以上三种方式在Booting command-list中都会出现:remounting root filesystem in read-write mode:[OK]
表示此时linux单用户模式下的根文件系统处于可读可写状态。
如果系统的配置与脚本文件出现错误,linux单用户模式下的根文件系统进入“read-only file system”既只读状态,此时,打入:
sh-3.00#mount –o remount rw –t ext3 /
 
后来想到修复完文件系统后,应该可以进入单用户模式,故
问题二:进入单用户修改密码时,遇到passwd: User not known to the underlying authentication
由于在为Linux创建新用户是碰到了这个问题(passwd: User not known to the underlying authentication),所以google了一下,并最总找到了解决方案。现在将解决办法记录下来,便于记忆。

    在创建用户时,修改该用户密码时出现提示信息:passwd: User not known to the underlying authentication。 google了一下,查阅了相关资料以后说pwck,pwconv可以解决问题。

    所以首先我用pwck命令。pwck 的作用就是检查 /etc/passwd 这个帐号设定档内的内容,与实际的家目录是否存在等, 还可以比对 /etc/passwd /etc/shadow 的内容是否一致,另外, 如果 /etc/passwd 内的资料栏位错误时,会提示使用者修订。

1--> $sudo /usr/sbin/pwck

Password: 

user adm: directory /var/adm does not exist

user news: directory /etc/news does not exist

user uucp: directory /var/spool/uucp does not exist

user gopher: directory /var/gopher does not exist

user ftp: directory /var/ftp does not exist

user pcap: directory /var/arpwatch does not exist

user avahi-autoipd: directory /var/lib/avahi-autoipd does not exist

user oprofile: directory /home/oprofile does not exist

user sabayon: directory /home/sabayon does not exist

pwck: no changes

    上面仅是告知我,这些帐号并没有家目录,由于那些帐号绝大部分都是系统帐号, 确实也不需要家目录的,所以,那是‘正常的错误!’,相对应的群组检查可以使用 grpck 这个指令。
    pwck 确保系统鉴认信息的完整性,pwck 对每一项的以下域进行检查:
-是否有唯一的用户名
-是否有合法的用户ID和组ID
-是否有合法的主组-是否有合法的家目录
-是否有合法的壳(命令解释器,如bash)
对于每一项的域数目和唯一用户名字的检查是至关重要的.如果某一项的域数目不正确,用户将被提示是否删除整行,    如果用户没有肯定的回答,pwck将不再继续进行检查.如果有重复的用户名,用户将被提示是否删除该项,pwck将继续进行检查.其他的错误都只会警告用户,并且鼓励用户运行usermod命令去把错误改正.一些对/etc/passwd文件进行操作的命令,如果无法对遭到破坏或者有重复项进行修改的话,pwck就要在这些情况下进行操作,把这些项删除.

2--> $sudo /usr/sbin/pwconv

    这个指令主要的目的是在‘将/etc/passwd 内的帐号与密码,移动到/etc/shadow 当中!’ 早期的 Unix 系统当中并没有/etc/shadow ,所以,使用者的登入密码早期是在/etc/passwd 的第二栏,后来为了系统安全,才将密码资料移动到/etc/shadow 内的。 使用 pwconv 后,可以:
    * 比对/etc/passwd 及/etc/shadow ,若/etc/passwd 内存在的帐号并没有对应的/etc/shadow 密码时,则pwconv 会去/etc/login.defs 取用相关的密码资料,并建立该帐号的 /etc/shadow 资料;
    * 若/etc/passwd 内存在加密后的密码资料时,则pwconv 会将该密码栏移动到/etc/shadow 内,并将原本的/etc/passwd 内相对应的密码栏变成 x !
    一般来说,如果正常使用useradd 增加使用者时,使用 pwconv 并不会有任何的动作,因为/etc/passwd 与/etc/shadow 并不会有上述两点问题啊! 不过,如果手动设定帐号,这个 pwconv 就很重要!

3--> $sudo passwd ***

passwd: all authentication tokens updated successfully.

密码修改成功!

 

阅读(4217) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~