Linux下限制Shell:Rssh和Scponly

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

限制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/

责任编辑:黄丹 来源: 新世纪linux社区
相关推荐

2013-12-02 09:49:59

2023-07-27 17:41:02

BashZshFish

2012-01-18 09:46:32

Shell

2022-03-24 11:35:30

LinuxXnosh Shel

2010-04-16 16:29:57

Unix操作系统

2010-06-23 16:09:40

Linux Bash

2010-06-23 16:42:33

2009-10-23 13:44:03

linux Shell

2009-12-25 09:55:18

LinuxShell编程Shell基本语法

2011-01-10 09:54:30

linuxshell

2019-12-01 22:59:43

Linux shell命令进程

2018-08-27 14:50:46

LinuxShellBash

2019-03-18 13:00:15

LinuxFish ShellBash

2022-03-25 09:29:57

LinuxshellShellcheck

2011-01-07 17:33:47

linuxshell

2016-09-07 18:42:02

Linux进程监控

2016-10-08 12:46:08

Linux监控限制

2021-01-27 10:56:05

Linux运维Linux系统

2009-09-07 09:20:34

2010-03-23 16:35:31

shell 脚本编程
点赞
收藏

51CTO技术栈公众号