限制Shell,正如Rsh和Scponly让系统管理员限制Linux用户可以做哪些操作,你可以创建用户,将被允许通过Scp复制文件,但不会被允许登录到系统的命令行。这是非常重要的安全功能,应考虑每个系统管理员用户,以防止未经授权的活动,例如通过SSH。

如果你有一些在线存储,用于上传超过Scp/ SSH或rsync从远程主机的备份数据,那么,强烈建议使用限制弹这些传入的连接,并确保即使攻击者得到了用户名/密码(或密钥),那么他(或她)将无法打入您的系统。

Scponly是极其简单的受限Shell,用户帐户具有Scponly的二进制的壳将无法做任何事情将数据从远程主机通过Scp协议或通过rsync/ Scp的除外。 RSSH提供多一点的功能:您可以限制用户使用选定的协议,如Scp,SFTP,rsync的,CVS或Rdist的Chroot环境或不。

安装:

我更喜欢使用yum或aptitude来安装这类软件像RSSH或Scponly的,最快的方法就是尝试以下其中一项命令,根据您的需要:

  1. apt-get install rssh
  2. apt-get install Scponly
  3. yum install rssh
  4. yum install Scponly

如果有问题,在你的Linux发行版的信息库中找到所需的受限Shell,然后你应该下载源代码,并做一些。/ configure时,和make install。这里是链接:latest rssh .tar.gz, latest Scponly .tgz.

配置:

Scponly的,不需要任何配置,开箱,所以你就应该将其设置为一个Shell的用户帐户。下面是一些例子。

用Scponly创建一个新的账号:

  1. useradd -s /usr/sbin/Scponly user1

用该用户账号用rssh作为Shell:

  1. usermod -s /usr/sbin/rssh user2

/usr/sbin/Scponly是Scponly的二进制可执行文件。

RSSH文本配置文件通常存储在/etc/rssh.conf中的。您可以设置每个用户的设置或配置全局限制使用RSSH所有账目。默认rssh.conf文件有很好的注释,所以不应该有任何问题,你需要配置RSSH。在同一时间,在这里有一些例子。

如果你想限制所有用户Scp和rsync的才应该取消注释在rssh.conf行,象下面这样:

  1. allowScp
  2. #allowsftp
  3. #allowcvs
  4. #allowrdist
  5. allowrsync

现在来每个用户的例子。允许用户彼得是仅使用Scp协议,对以下符合在rssh.conf将做到这一点:

  1. user=sbk:022:00001:

允许用户ann只可以Scp和rsync:

  1. user=sbk:022:10001:

正如你可以看到每个用户设置启用的协议指定为11000(Scp,SFTP),11111(Scp,SFTP,CVS,rdist的,rsync等)或00000(无协议启用)。在上面的例子中指定的umask022。

测试:

让我们假设你已经创建user1和只有Scp和rsync的使用RSSH启用。尝试访问user1的帐号下的SSH服务器通过将结束与下面的输出:

  1. artiomix$ ssh user1@1.2.3.4
  2. user1@1.2.3.4's password:
  3. This account is restricted by rssh.
  4. Allowed commands: Scp rsync
  5. If you believe this is in error, please contact your system administrator.
  6. Connection to 1.2.3.4 closed.

与此同时Scp过户工作没有问题:

  1. artiomix$ Scp -P 23451 /etc/test.file user1@1.2.3.4:/tmp
  2. user1@1.2.3.4's password:
  3. test.file       100%  983     1.0KB/s   00:00

进一步阅读:

Rssh支持Chroot环境对于Rsync、Rsync和其他的传输协议。这意味着你不仅可以限制用户通过命令他们也可以使用他们到达的文件系统。例如,User1可以可以chroot/chroot_user1,所以它不能被用来复制的东西从/etc目录的服务器或/var/ www下面。这里有一个Chroot在RSSH中是不错的手册。

原文出处:http://www.linuxscrew.com/2012/07/05/linux-restricted-Shells-rssh-and-Scponly/

http://os.51cto.com/art/201311/417631.htm

Linux下限制Shell:Rssh和Scponly的更多相关文章

  1. linux下的shell运算(加、减、乘、除)

    linux下的shell运算(加.减.乘.除) 标签: linuxshell运算加减乘除 2014-03-12 16:25 15127人阅读 评论(0) 收藏 举报 分类: linux(17) ((i ...

  2. [转] 关于linux下通过shell命令(自动)修改用户密码

    关于linux下通过shell命令(自动)修改用户密码 2012-04-23 18:47:39 分类: 原文地址:关于linux下(自动)修改用户密码 作者:ubuntuer 本文章总结了如何手动.自 ...

  3. linux下的shell和脚本

    1.各种Unix shell linux下的shell基本是从unix环境中的shell发展而来,贴一下wiki:其中我们常用的,可归类为Bourne Shell(/usr/bin/sh或/bin/s ...

  4. Linux下添加shell脚本使得nginx日志每天定时切割压缩

    Linux下添加shell脚本使得nginx日志每天定时切割压缩一 简介 对于nginx的日志文件,特别是access日志,如果我们不做任何处理的话,最后这个文件将会变得非常庞大 这时,无论是出现异常 ...

  5. Linux下使Shell 命令脱离终端在后台运行

    --Linux下使Shell 命令脱离终端在后台运行------------------------------------2014/02/14你是否遇到过这样的情况:从终端软件登录远程的Linux主 ...

  6. linux下实现shell脚本自动连接mongodb数据库并创建索引

    在linux下创建shell脚本

  7. Linux下的shell与make

    Linux下的shell与make 一.shell 1.1 什么是shell ● 用户与Linux的接口 ● 命令解释器 ● 支持多用户 ● 支持复杂的编程语言 ● Shell有很多种,如:csh,t ...

  8. linux下的shell操作mysql

    (1)MySQL的启动 重启了一次服务器后,使用> mysql -u root -p登陆是出现下面的错误: ERROR 2002 (HY000): Can't connect to local ...

  9. linux下的shell运算(加、减、乘、除

    linux下的shell运算(加.减.乘.除 摘自:https://blog.csdn.net/hxpjava1/article/details/80719112 2018年06月17日 16:03: ...

  10. 2019.11.13课堂实验之用Linux下的shell脚本完成两文本交替输出

    有两个文本如下,实际中并不知道两文本各有多少行: 文本1.txt aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ccccccccccccccccccccccccccc ...

随机推荐

  1. python中multiprocessing.pool函数介绍_正在拉磨_新浪博客

    python中multiprocessing.pool函数介绍_正在拉磨_新浪博客     python中multiprocessing.pool函数介绍    (2010-06-10 03:46:5 ...

  2. 基于visual Studio2013解决C语言竞赛题之0702函数设计

       题目

  3. 在uboot里面加入环境变量使用run来运行

    Author:杨正  Date:2014.11.11   Email:yz2012ww@gmail.com QQ:1209758756 在移植uboot的时候,能够在uboot里面加入定义一些自己的环 ...

  4. POJ 1700 cross river (数学模拟)

                                                                                                       ...

  5. HDU2571:命运(DP)

    Problem Description 穿过幽谷意味着离大魔王lemon已经无限接近了! 可谁能想到,yifenfei在斩杀了一些虾兵蟹将后,却再次面临命运大迷宫的考验,这是魔王lemon设下的又一个 ...

  6. MSSQL - 尚未备份数据库 xxxx 的日志尾部。如果该日志包含您不希望丢失的工作,请使用 BACKUP LOG WITH NORECOVERY 备份该日志。请使用 RESTORE 语句的 WITH REPLA

    此错误的原因是:你的数据库服务器中存在同名数据库! RESTORE DATABASE  [student] FROM  DISK = N'G:\备份文件'  WITH  FILE = 1, MOVE ...

  7. 基于visual Studio2013解决C语言竞赛题之1049抓牌排序

       题目 解决代码及点评 /* 功能:插入排序.许多玩牌的人是以这样的方式来对他们手中的牌进行排序的: 设手中原有3张牌已排好序,抓1张新牌,若这张新牌的次序在原来的第2张牌之后,第 3 ...

  8. linux shell种类

    1.shell 种类 目前我们的 Linux (以 CentOS 5.x 为例) 有多少我们可以使用的 shells 呢? 你可以检查一下 /etc/shells 这个文件,至少就有底下这几个可以用的 ...

  9. asp.net下用js实现弹出子窗口选定值并返回

    对应上一篇博客代码: 父页面: <head runat="server"> <meta http-equiv="X-UA-Compatible" ...

  10. qtcreator +vs2013 开发xp下使用的程序

    在qtcreator 开发,使用vs2013的编辑器开发出来的exe不能在xp下使用, 只需要在pro文件添加 QMAKE_LFLAGS_WINDOWS = /SUBSYSTEM:WINDOWS,5. ...