以下均以redhat 为例,其他的发行版没测过,没把握的千万不要在正式机上玩,登录不上就麻烦了。

一、限制终端登陆

/etc/securetty文件限制“root”用户可以从那个TTY设备登录。登录程序(通常是“/bin/login”)需要读取“/etc/securetty”文件。它的格式是:列出来的tty设备都是允许登录的,注释掉或是在这个文件中不存在的都是不允许root登录,这个只针对root用户。

[root@localhost ~]#vi /etc/securetty

console

vc/1

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

vc/11

tty1

tty2

#tty3

#tty4

#tty5

#tty6

#tty7

#tty8

#tty9

#tty10

#tty11

这个只是限制终端登录,简单的说就是直接在服务器上连上显示器、键盘来本地操作的那种,对ssh(ssh使用pts)远程登录没有影响;如上修改完后就只能通过终端tty1和tty2登录了,如果你按ALT+F[3-6]切换终端登录会报login incorrect错误。

默认情况下是允许root从6个终端登陆,可以修改文件/etc/init/start-ttys.conf更改。

二、限制ssh登录

[root@localhost ~]#vi /etc/ssh/sshd_config

1)限制root用户通过ssh登录: PermitRootLogin no

2) 设定允许/拒绝个别组通过ssh登录:AllowGroups/DenyGroups remote  允许/拒绝remote这个组的用户远程登陆

3) 设定允许/拒绝个别用户通过ssh登录:AllowUsers/DenyUsers  user1 user2 user3  允许/拒绝user[123]  三个用户访问, 这个可以用正则表达式,如:

AllowUsers/DenyUsers user* 以^user开头的用户

AllowUsers/DenyUsers [^user] 非以user开头的用户名

此外更严格一点还可以只限制/允计从某台服务器过来的用户

AllowUsers user1@192.168.1.100

4)修改配置文件后重启sshd(/etc/init.d/sshd restart)服务后生效

三、  限制用户登陆的时间

需用到pam模块pam_time.so

1) ssh

[root@localhost ~]#vi /etc/pam.d/sshd

#%PAM-1.0

auth       include      system-auth

account    required     pam_nologin.so

account    required     /lib64/security/pam_time.so  //添加这一行

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

2) 终端登录

[root@localhost ~]#vi /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

account    required     /lib64/security/pam_time.so  //添加这一行

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

3)配置time.conf

[root@localhost ~]# vi /etc/security/time.conf

time.conf配置文件格式:services;ttys;users;times

services — pam服务名列表,可以ls /etc/pam.d查看

tty —终端名.

users —用户名

times —可以使用services 的时间段

示例如下:

sshd;*;apptest;Al1400-2000  //限制apptest用户只能在中午2点到晚上8点这段时间通过ssh登录

login;*;user01;Al1400-2000 //限制user01用户只能在中午2点到晚上8点这段时间通过终端登录

sshd;*;!root;!Al0000-2400   //除了root用户外,其他用户都不能登录

time.conf的详细配置方法请 man time.conf

四、  限制同一用户登陆的数量

linux是个多用户系统,同一个用户名可以多个人使用且同时登录,如果想限制只能有一个用户登录系统,可以做如下设置

[root@localhost ~]#vi /etc/security/limits.conf

添加:

abc     -     maxlogins     1

设置后,用户名abc的最大登录数量为1,不管是通过本地终端或是SSH等远程登录,如果登录的数量超过1个即会拒绝,如

[root@localhost ~]# ssh abc@192.168.22.238

abc@192.168.22.238's password:

Too many logins for 'abc'.

Last login: Thu Jun 14 17:17:52 2012

Connection to 192.168.22.238 closed.

[root@localhost ~]# ssh abc@192.168.22.238

abc@192.168.22.238's password:

Too many logins for 'abc'.

Last login: Thu Jun 14 17:17:52 2012

显示行数 设置ssh终端_linux限制用户登陆的一些方法相关推荐

  1. 显示行数 设置ssh终端_SSH终端命令工具:zoc7 for Mac

    zoc7 for mac版是一个MacOS上的SSH终端命令工具,ZOC是基于OpenSSH,支持SSH协议(RFC 4253)提供的最新密钥交换和加密方法,拥有强大的SSH和Telnet客户端,可配 ...

  2. 显示行数 设置ssh终端_mac下终端iTerm2配置

    本文主要介绍mac下iTerm2的基本配置,包括两方面内容:主题和快捷键.写这篇的目的是为自己电脑的配置做个记录,以备不时之需. 主题 在配置完主题后,当你打开iTerm2时,会显示如下界面 这个主题 ...

  3. 红帽子设置SSH基于密钥的用户登陆

    1. 在SSH客户机中建立名为gates的用户,并以gates的身份在其宿主目录中的.ssh隐藏目录中生成用户的密钥对文件 2.利用scp将该目录下的公钥文件id_rsa.pub文件复制到你要登陆的开 ...

  4. sql server 自定义背景、字体及显示行数

    目录 显示行数 设置背景与字体 学习记录~~~~ 显示行数 设置背景与字体 还是从最上面那张图片进入,来到如下页面: 设置好了后,看看效果: 还不错,拜~~~

  5. 设置Xshell最大显示行数

    tail 查看项目运行时日志时,有需要返回查看时,经常因为显示行数太少,刷过需要的日志.因此需要设置最大显示行数,方便回看. 打开Xshell终端模拟器,选择会话,依次点击"文件" ...

  6. linux中vim如何显示行数,vim 在linux下中如何设置显示行数

    在.vimrc(或/etc/vimrc)文件中输入如下文本: set tabstop=4 set softtabstop=4 set shiftwidth=4 set noexpandtab set ...

  7. vim 在linux下中如何设置显示行数

    在.vimrc(或/etc/vimrc)文件中输入如下文本: set tabstop=4 set softtabstop=4 set shiftwidth=4 set noexpandtab set ...

  8. 设置pandas显示行数_Pandas这样来设置,做数据分析舒适百倍

    在日常使用pandas的过程中,由于我们所分析的数据表规模.格式上的差异,使得同样的函数或方法作用在不同数据上的效果存在差异. 而pandas有着自己的一套「参数设置系统」,可以帮助我们在遇到不同的数 ...

  9. datagrip 设置查询结果显示行数

    datagrip 默认查询结果显示行数为500,严重影响数据分析和结果集排序 打开setting->database->data views 设置Result set page size ...

最新文章

  1. opengl 设置每个点的颜色_OpenGL学习笔记(四)着色器
  2. 旺苍电子计算机培训学校,广元旺苍技工学校
  3. b站python教程哪个好_推荐B站上的Python学习资源
  4. python全栈工程_Python全栈工程师(编码)
  5. 用java api 实现查询 Hive 数据
  6. FMDB(FMDatabase)--SQLite的封装
  7. 关于Google Video
  8. UNIX网络编程:unpv13e编译错误:net/if_dl.h:没有那个文件或目录
  9. 【Java】身份证的验证
  10. mysql数据库文件上传大小控制_[mysql数据库文件大小限制]mysql导入数据库文件最大限制设置...
  11. c语言自由存储区,C/C++ 内存分区以及自由存储区和堆的区别
  12. 复数矩阵Cholesky分解算法的C++实现
  13. paip.网站扫描安全工具hp WebInspect 使用指南
  14. emwin emf格式视频生成环境搭建
  15. 索尼Xperia X Performance解锁、刷TWRP、刷原厂固件、刷安卓8.1AOSP
  16. 怎样在微信上发淘宝商品链接?
  17. 12.3.5 子线程创建UdpSocket实例
  18. Android实例精讲——通过ListView构造微信聊天界面视图
  19. 谢震业,离“苏神”还有多远?
  20. 计算机关机更改域用户登录,计算机怎么退域和重新加域?

热门文章

  1. 面试官问我会不会APP抓包,我..
  2. centos标准分区调整大小_去繁化简解决CentOS下调整home和根分区大小的方法
  3. linux 补丁脚本,Linux上打patch补丁包脚本全解
  4. 大于等于符号_英语标点符号怎么读,这下全知道了!
  5. 分治法:快速排序,3种划分方式,随机化快排,快排快,还是归并排序快?
  6. [linux] 多进程和多线程
  7. javascript 查找文本并高亮显示
  8. HTML——meta
  9. pandas 数据分析使用
  10. PHPCMS修改域名