Chinaunix首页 | 论坛 | 博客
  • 博客访问: 240738
  • 博文数量: 41
  • 博客积分: 1523
  • 博客等级: 上尉
  • 技术积分: 579
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-05 21:23
文章分类

全部博文(41)

文章存档

2014年(1)

2013年(2)

2012年(1)

2011年(2)

2010年(3)

2009年(1)

2008年(20)

2007年(11)

分类: LINUX

2008-08-26 17:50:19

实际方法有很多,比如chroot  或用bash禁止某些命令
方法1、
ln -s /bin/bash /bin/rbash
在passwd里把shell改成rbash就可以了。

方法2、 关闭一些命令
建立一个公共文件夹,root所有,其他用户只读。
删除用户目录下的配置文件,重新在这个文件夹下建立用户的配置文件。并做链接。(用户只读)
配置需要关闭的命令或目录。
例如:~username/.bashrc ~username/.bash_profile
settype -r PATH='/bin'
enable -n pwd
enable -n enable

方法3、脚本
#!/bin/bash
typeset -r PATH=$PATH:/sbin:/usr/sbin
typeset -r _CMD=("exit" "ls" "cd" "clear" "pwd")
echo $READLINE
while :
   do
     read -p "[${USER}@${HOSTNAME} ${PWD}]# " -r -a CMD
     if [ -z ${CMD[0]} ];then
        :
     elif $(echo ${_CMD[@]}|grep -wq "\<${CMD[0]}\>");then
        ${CMD[@]}
     else
        echo "-bash: $CMD: command not found"
     fi
   done
把这个脚本改成用户登录的bash即可。

方法4、chroot

1、建立chroot目录
mkdir /home/testchroot
把下面这些文件拷贝到新建立的目录里面:
/dev
/dev/random
/dev/null
/usr
/home
/home/testchroot
/home/testchroot/.bash_profile
/home/testchroot/.bash_logout
/home/testchroot/.bashrc
/lib
/lib/libsepol.so.1
/lib/ld-linux.so.2
/lib/libpthread.so.0
/lib/tls
/lib/libselinux.so.1
/lib/libtermcap.so.2
/lib/libattr.so.1
/lib/libacl.so.1
/lib/libc.so.6
/lib/librt.so.1
/lib/libdl.so.2
/bin
/bin/rmdir
/bin/rm
/bin/bash
/bin/mkdir
/bin/pwd
/bin/ls
/bin/bash
/etc/group 
/etc/passwd 
/etc/shadow
# 以下文件要注意,新版本linux chroot是需要的
/dev/ptmx
/etc
/etc/environment 
/etc/fstab 
/etc/security
/etc/security/*
还要mount两个目录。
mkdir -p /home/testchroot/{proc,dev/pts}
mount proc /home/testchroot/proc -t proc
mount devpts /home/testchroot/dev/pts -t devpts
fstab 里面的内容要有下面这句
devpts   /dev/pts   devpts   gid=5,mode=620   0 0
其中 /dev/ptmx 创建方法为:
mknod /dev/ptmx c 5 2
chmod 666 /dev/ptmx
这些完成以后设置相应的权限;
设置 /etc/pam.d/sshd
session required pam_chroot.so
设置 cat /etc/security/chroot.conf
username chroot_dir
设置 sshd_config
UsePrivilegeSeparation no
设置其他相关的安全配置。
然后重启你的sshd 服务。
测试一下应该一个 ssh user 的 chroot 环境已经做好了。
补充说明:
我们除了使用 ldd /bin/command 来检查动态链接库意外,还可以使用其他的方法检测。
比如有些程序在使用 ldd 检测的时候会发现 动态链接库检测不全的情况,()
这时候我们可使用 strace , string , gdb , gprof 等工具跟踪检测。

阅读(1239) | 评论(0) | 转发(0) |
0

上一篇:crype_word

下一篇:C版传统养牛

给主人留下些什么吧!~~