uerdel删除用户时候提示:userdel: user ** is currently logged in 解决方法

jackxiang 2016-5-5 23:00 | |
uerdel删除用户时候提示:userdel: user ** is currently logged in


今天在删除用户账号的时候,发现一个奇怪现象,即:
#userdel -r aaron

userdel: user aaron is currently logged in


解决方法:
mv /var/run/utmp /var/run/utmp_old      //将原文件改名
touch > /var/run/utmp        //新创建一同名文件

再次执行删除操作。。。成功删除用户

关于:/var/run/utmp

utmp是一个文件,除了utmp程序你不能编辑这个文件,删掉他的话,当前登陆信息都会丢失。这个文件在每次机器reboot起来后都会重新创建。

更多关于utmp文件介绍请参考下面说明:
/var/run/utmp

  该日志文件记录有关当前登录的每个用户的信息。因此这个文件会随着用户登录和注销系统而不断变化,它只保留当时联机的用户记录,不会为用户保留永久的记录。系统中需要查询当前用户状态的程序,如 who、w、users、finger等就需要访问这个文件。该日志文件并不能包括所有精确的信息,因为某些突发错误会终止用户登录会话,而系统没有及时更新 utmp记录,因此该日志文件的记录不是百分之百值得信赖的。

 (/var/log/wtmp、/var/log/utmp、/var/log/lastlog)是日志子系统的关键文件,都记录了用户登录的情况。这些文件的所有记录都包含了时间戳。这些文件是按二进制保存的,故不能用less、cat之类的命令直接查看这些文件,而是需要使用相关命令通过这些文件而查看。其中,utmp和wtmp文件的数据结构是一样的,而lastlog文件则使用另外的数据结构,关于它们的具体的数据结构可以使用man命令查询。

  每次有一个用户登录时,login程序在文件lastlog中查看用户的UID。如果存在,则把用户上次登录、注销时间和主机名写到标准输出中,然后login程序在lastlog中记录新的登录时间,打开utmp文件并插入用户的utmp记录。该记录一直用到用户登录退出时删除。utmp文件被各种命令使用,包括who、w、users和finger。

  下一步,login程序打开文件wtmp附加用户的utmp记录。当用户登录退出时,具有更新时间戳的同一utmp记录附加到文件中。wtmp文件被程序last使用。


但是,本人自己试验了还是不行,依旧得到同样的提示
      那就暴力删除该用户吧:
      $userdel -r -f XXXX
    提示:userdel: warning: can't remove /var/mail/git: No such file or directory
          userdel: git home directory (/home/git) not found
但是没关系。实际上已成功删除用户。

来自:http://www.2cto.com/os/201408/328936.html

作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:https://jackxiang.com/post/8683/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!


最后编辑: jackxiang 编辑于2016-5-5 23:04
评论列表
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]