Chinaunix首页 | 论坛 | 博客
  • 博客访问: 145627
  • 博文数量: 68
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 720
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-28 20:01
文章分类

全部博文(68)

文章存档

2015年(68)

我的朋友

分类: 系统运维

2015-08-31 18:49:55

   linux是个多用户系统,允许多个用户登录,但有时我们会遇到需要暂时禁止所有用户登录到系统的情况,比如应用升级、进行重要的系统维护等,下面的方法就是在这种情况下用的。

1. touch /etc/nologin

[root@localhost ~]#touch /etc/nologin

    只要在/etc/目录下新建的一个nologin文件,就会禁止除root外的所有用户登录到系统,不管是从ssh、telnet还是终端登录一概禁止,需注意的是对已经登录到系统的用户无效。另外,如果是用ssh远程连到服务器并且配置了ssh禁止root远程登录,使用这个方法就要很小心了。

    要显得更人性化一点,可以在nologin文件输入一些信息用于提示被禁止登录用户的用户,如:

[root@localhost ~]# cat /etc/nologin 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

System upgrade. 

Please try back later after a few minutes. Thank you

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

[root@localhost ~]# ssh appvirt@192.168.22.238    //使用普通用户登录测试

appvirt@192.168.22.238's password: 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

System upgrade. 

Please try back later after a few minutes. Thank you

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Connection closed by 192.168.22.238

 

简单说一下这个功能linux是如何实现的:linux用户登录系统时都会用到login,login是用pam模块来对用户进行验证的,而login如何调用pam模块可以从login的配置文件/etc/pam.d/login得知

[root@localhost ~]# cat /etc/pam.d/login 

#%PAM-1.0

auth [user_unknown=ignore success=ok ignore=ignore default=bad] pam_securetty.so

auth       include      system-auth

account    required     pam_nologin.so  //主要就是这行

------- 略 ------

pam_nologin.so :当 /etc/nologin 这个文件存在时,pam_nologin.so这个模块会限制非root用户登陆到系统,如果 /etc/nologin 存在内容,当非root用户登陆时会将该文件的内容显示出来,详细内容可以man pam_nologin。


取消限制需将/etc/nologin文件删除就可以了


2. tcpwrap

采用tcpwrap方式禁止用户登录到系统的方法

[root@localhost ~]# mv /etc/hosts.{allow,allow.bak};mv /etc/hosts.{deny,deny.bak}

[root@localhost ~]# echo "ALL:ALL" > /etc/hosts.deny

要小心了,如果按上面的方法设置后,包括root在内的所有用户都会禁止从远程登录,但对从本地终端登录无影响,所以这个方法只适合在机器面前操作的时候使用。想避免这种情况,可以在hosts.deny加个一个例外来只允许某一台机器通过远程连到此服务器。

[root@localhost ~]# echo "ALL:ALL EXCEPT 192.168.22.240" > /etc/hosts.deny

如上设置后,除了机器192.168.22.240外,从外面来的任何远程连接都会被拒绝。

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