Linux中进行用户UID测试导致系统报错

今天在Ubuntu14.04下进行了一个小测试,即修改系统文件/etc/passwd的用户UID值,却导致系统Bug,无法正常使用。因为修改/etc/passwd需要root权限,当再次准备使用sudo命令复原文件时,报错:

sudo:unknown uid 1000:who are you?

重启之后却直接进入最低权限的guest账号,同时使用sudo命令是报错:

sudo:unable to change to root gid:Operation not permitted仍然无法解决。

尝试使用Ctrl+Alt+F1进入tty1模式下,仍然无法使用。整整一天都在百度解决这个问题。通过百度,发现也有别的人遇到了同样的问题,但大都是重新安装系统解决的。我一想,可能也要悲催了。灵机一动,突然想到是否能用PE进入系统然后修改文件呢?然后就做了,结果成功了,太高兴了!

时间: 2024-12-14 08:03:15

Linux中进行用户UID测试导致系统报错的相关文章

在linux中执行sysctl -p时的一个报错

小强性能测试和python自动化测试培训班同步招生中,咨询QQ:2083503238 报错如下 error: "net.bridge.bridge-nf-call-ip6tables" is an unknown key error: "net.bridge.bridge-nf-call-iptables" is an unknown key error: "net.bridge.bridge-nf-call-arptables" is an u

Linux中的用户和组

Linux中,用户可大致分为两类:管理员 和 普通用户. 普通用户又可以细分为 系统用户 和 登录用户. 我们知道Linux中默认的管理员用户名叫 root,那么操作系统是怎样识别一个用户是 管理员用户 还是 普通用户呢,是跟我们想象的一样,通过用户名去识别吗?并不是,操作系统是通过UID去识别用户是否为管理员的,这里说到的UID是一个数字,它标识了用户的身份,管理员用户的uid为0,所以操作系统判断一个用户是否为管理员,就是去判断这个用户的UID是否为0,跟用户名没有任何关系. 管理员的UID

linux中的用户、群组和权限

linux中的用户.群组和权限 新建用户natasha,uid为1000,gid为555,备注信息为"master" groupadd -g 555 natasha useradd -u 1000 -g 555 -c master natasha id natasha uid=1000(natasha) gid=555(natasha) groups=555(natasha) tail -1 /etc(用户配置信息)/passwd (密码)natasha:x:1000:555:mast

Linux-(10)Linux中的用户和组

和Windows一样,当我们使用Linux时,也需要以一个用户的身份登录,一个进程也需要以一个用户的身份运行,用户限制使用者或进程可以使用,不可以使用哪些资源. 在我们使用Linux时,都是用一个用户名来进入系统的,而实际上在Linux中,每一个用户都拥有一个UserID,操作系统实际使用的是用户的ID来区分用户,而不是我们登录系统用的用户名. 在Linux中,每个用户都属于一个主组,属于一个或多个附属组.主组默认是和用户名相同的,也就是说创建用户的时候会默认创建一个同名的组. 同用户一样,每个

Linux中切换用户变成-bash4.1-$的解决方法【转】

转自 Linux中切换用户变成-bash4.1-$的解决方法 - xia_xia的博客 - 博客频道 - CSDN.NEThttp://blog.csdn.net/xia_xia0919/article/details/50588985 在linux中切换用户时变成-bash4.1-$,发现有两个情况可能会出现这种现象. 场景一:1.在根目录下创建目录dir 2.useradd -d /dir tom 创建用户tom,指定其家目录为/dir,而不是其默认家目录下(/home/tom) 3.su

Linux中添加用户、删除用户时新手可能遇到的问题

Linux中添加用户.删除用户时新手可能遇到的问题  1.创建新用户后切换到新用户:No directory, logging in with HOME=/     添加用户     #sudo useradd -m -s /bin/bash -g group loginname     -m 创建home目录 (不加这个要手动添加目录,不然会出现No directory,Logging in with HOME=/ )     -s /bin/bash 使用bash( 默认为 /bin/sh

Linux中root用户找不到JAVA_HOME

Linux中root用户找不到JAVA_HOME 在Ubuntu环境中安装好Java环境后设置环境变量:在/etc/profile中设置好了JAVA_HOME变量并引入到PATH中,用于Ubuntu默认是不以root用户登录的,这时echo $PATH可以看到JAVA_HOME已经被设置好了,java命令也可以执行.接下来su root,再输入java命令提示找不到java命令,$PATH中也找不到JAVA_HOME这个路径了.查了很久的资料也没有找到原因,后来偶然切换用户的时候用了su - r

Linux 系统报错 rcu_preempt detected stalls on CPUs/tasks

说在前面的一些废话: 这是什么错误我不知道,为什么出现我不知道! 那为什么还要把他写出来了,只是因为这个错误遇到了,而且浪费了我很多时间和精力. 故事留给自己看,解决办法就是,重新升级一下Linux系统内核. 这个问题出现在Reboot之后,不能进入不了系统,平均发生几率是40次左右出现一次. 之后重新升级完内核后没有出现.至于内核改了什么我也不知道. Linux 系统报错如下: 故事: 去年用C语言写的软件,过年客户才真正用起来,结果接二连三的出现死机的问题. 怀疑是自己的程序写的有问题,开始

系统调优:如何解决系统报错too many open files瓶颈

一.检查系统版本是否手工升级 [[email protected] ~]# uname -r   linux的内核版本号 2.6.32-358.el6.x86_64 [[email protected] ~]# cat /proc/version Linux version 2.6.32-358.el6.x86_64  [[email protected] ~]# cat /etc/issue  系统安装时默认的发行版本 CentOS release 6.4 (Final) [[email pr