最近维护的Linux需要给特定的用户分配SSH权限,直接使用系统的useradd命令添加的用户权限其实非常高,会给系统带来很大的风险。因此需要借助软件限定这些用户的权限,安装有主机控制面板的Linux服务器都可以很方便的给用户设置安全的SSH帐户,而大部分服务器却只有一个终端字符界面,软件的寻找很容易就完成,我推荐使用jailkit。下面我把我的安装过程和大家分享一下。
下载编译安装(CentOS 5)
cd /usr/local/src
wget http://olivier.sessink.nl/jailkit/jailkit-2.11.tar.gz
tar -zxf jailkit-2.11.tar.gz
cd jailkit-2.11
./configure
make && make install
cp extra/jailkit /etc/init.d/jailkit
chmod 755 /etc/init.d/jailkit
chkconfig jailkit on
指定目录做chroot目录。这里以/var/chroot为例。
mkdir /var/chroot
chown root:root /var/chroot
jk_init -v -j /var/chroot sftp scp jk_lsh extendedshell
jk_init命令中后面几个参数(sftp scp jk_lsh extendedshell)的意思,是将必备的chroot环境需要的二进制文件和库文件复制到chroot环境下,可从/etc/jailkit/jk_init.ini文件中得到更多解释。
添加用户并限制其家目录,添加用户有两种方法:执行/usr/sbin/jk_addjailuser [OPTIONS] chrootdir username建立受限用户,受限用户的组均隶属于users组;另外一种方法也是推荐的方法,先建立系统用户,再转移到chroot环境下。这里介绍后者的步骤:
useradd user1
passwd user1
jk_jailuser -m -n -j /var/chroot --shell=/bin/bash user1
执行后原/home路径下的用户目录会被移到chroot环境下。
tip:如果在/home路径下的用户目录有做其他用途,如apache配置的虚拟主机目录,可临时将chroot环境的用户目录挂载回去。执行命令:
mkdir /home/user1
mount --bind /var/chroot/home/user1 /home/user1
很复杂但我没研究!
我也马上要搬到HK主机去了 嘿嘿!
@小宇 香港带宽有限,而且技术支持很慢。我已经搬回美国了。
你又搬回HK了?
麻烦博主看下用下面这种方法添加的SSH账号对系统的安全影响大不大
添加的账号是用来SSH代理翻墙上网的 其它无它用
vi /bin/usessh.sh #创建脚本
#!/bin/sh #编辑脚本
echo “”
echo “ ********************************************************************”
echo “ * welcome to http://imldj.info- SSH Tunnel press a key to exit. *”
echo “ ********************************************************************”
echo “”
read x
exit
:wq #保存退出!
groupadd imusessh
chmod 755 /bin/usessh.sh #加权限
useradd usessh -g imusessh -s /bin/usessh.sh #加usessh用户
passwd usessh #设置密码。
角落的方法貌似也不错
有机会是一下看看
不过我用的是其他解决方案哦
呵呵
而且一般时候在线代理也足够了
http://www.kkdaili.com
这个是我自己搭建的在线代理
其中部分节点的环境使用的还是博主的LNAMP
不知道博主的LNAMP如何同时重启Nginx和Apache呢?
遇到过504的情况,不知道如何解决,最后只好整机重启了....
查看启动脚本你就知道怎么一并重启了。另,504错误一般是后端Apache的问题,建议查看错误日志。