在ubuntu中/etc/passwd文件里面存放着用户的一些登陆及群组等信息,修改每个字段可以直接控制用户,如图:

/etc/passwd文件小析_休闲

这是我登录时个人信息,第一个字段是登录名,第二个字段是登录密码(这里的密码显示的是一个x是因为系统开启了shadow,为了保证用户的密码不被破解,密码信息都已经写入了/etc/shadow文件中,可以通过sudo cat  /etc/shadow|grep sucre来进行查看

/etc/passwd文件小析_职场_02

),当然这里存放的时候是经过加密的,第三个字段是用户id,第四个字段是用户所属群主id,第五个字段是用户描述,第六个字段是用户的归属目录,第七个字段是用户的登录shell,如果你想对某个用户进行一些操作可以直接修改这个文件,例如禁止某个用户登陆系统有两种办法:

一、在密码字段(第二个字段x)前面加一个!,这样下次当这个用户登录的时候会提示Access denied

二、将最后一个字段修改成一个根本不存在的shell或者加nologin,可以写成这样

  1. /usr/bin/nologin

可以在/etc/shells里面加入/usr/sbin/nologin

  1. # /etc/shells: valid login shells  
  2. /bin/csh  
  3. /bin/sh  
  4. /usr/bin/es  
  5. /usr/bin/ksh  
  6. /bin/ksh  
  7. /usr/bin/rc  
  8. /usr/bin/tcsh  
  9. /bin/tcsh  
  10. /usr/bin/esh  
  11. /bin/dash  
  12. /bin/bash  
  13. /bin/rbash  
  14. /usr/bin/screen  
  15. /usr/sbin/nologin  

这样,用户登录后,当前窗口会一闪而过,这样也可以达到禁止用户登陆的效果。