Linux 学习以及问题汇总

记录在java学习和编程过程中的遇到的问题和心得,持续更新



【1.删除用户及其主目录 报错userdel: user xiachen is currently used by process 59257】
在root用户下,使用userdel -r xiachen(-r 参数表示 删除主目录和邮件池) 报错如下:
这里写图片描述
问题分析:当前用户xiachen有一个进程在执行,无法删除该用户xiachen。
问题解决:方法①尽然是因为有进程在运行,那直接kill掉不就行了?于是kill 59257 ,再次执行userdel -r xiachen ,仍然报一样的错。查了下,使用kill -9 来结束进程。于是执行kill -9 59257,成功删除(kill 与kill -9 的区别可以看这篇博文 Linux kill和kill-9区别)。
方法② 狂按ctrl + D 直到退出登录,然后在登陆root下,进行删除 ,就可以了。


【2.添加用户usertest后,切换到usertest,报错[root@node1 home]# su xiachen bash: /home/usertest/.bashrc: 权限不够】

问题分析:造成这现象的是权限不够,问题是刚添加的用户testuser,怎么会没有自己主目录下文件的权限呢( 说明:/home存放所有用户文件的根目录,是用户主目录的基点,比如用户user的主目录就是/home/user )?最大可能性就是之前已经创建过一次testuser用户,删除用户时没有删除对应的testuser用户主目录。从而导致了文件所属用户组和用户不对应。

可以在root 用户下 查看文件所属用户及用户组,

切换到root用户
进入到cd /home/xiachen目录下
使用ll -a 查看所以文件

如下图:
Linux 学习以及问题汇总_第1张图片
明显用户及用户组显示有问题。没有显示出对应名字,而是显示的ID,也就是说这些ID与用户,用户组名字对应关系数据条目没有,查看/etc/passwad以及/etc/group两个文件(这两个文件具体内容含义见linux:用户和组文件解释/etc/passwd、/etc/shadow、/etc/group、/etc/gshadow),发现没有ID为1001的用户以及用户组。
解决办法:
方法①:删除该/home/usertest目录 ,然后在删除usertest用户,重新创建testuser用户
方法②:更改usertest的id 以及usertest所属组的id 为1001,也就是分别更改etc/passwad 及/etc/group 相对应的条目。

注意:想用userdel abc命令删除用户abc,在使用命令useradd abc 再次创建添加 abc用户不出错的话。这样删除用户userdel -rf abc就可以了。


你可能感兴趣的:(Linux)