代码示例:
tar jxvf
cd jailkit-2.8
./configure --prefix=/usr/local/jailkit2.8
make
make install
2,配置jailkit服务
代码示例:
cp /usr/local/jailkit-2.8/extra/jailkit /etc/init.d/
chmod a+x /etc/init.d/jailkit
chkconfig jailkit on
3,设置要限定的目录
代码示例:
mkdir /jail
chown /jail
cd /usr/local/jailkit2.8/sbin
./jk_init -v /jail basicshell
./jk_init -v /jail editors
./jk_init -v /jail extendedshell
./jk_init -v /jail netutils
./jk_init -v /jail ssh
./jk_init -v /jail sftp
mkdir -p /jail/usr/sbin
cp /usr/local/jailkit2.8/sbin/jk_lsh /jail/usr/sbin/
./jk_jailuser -m -j /jail sftp01
./jk_jailuser -m -j /jail sftp02
4,建立sftp用户(例子:sftp01,sftp02两位使用者,同属于sftpuser组)
代码示例:
groupadd sftpuser
adduser -g sftpuser sftp01
adduser -g sftpuser sftp02
passwd sftp01
passwd sftp02
5,需要修改的部分
代码示例:
vim /jail/etc/passwd
sftpuser:x:505:506::/home/sftpuser:/bin/bash
cp /etc/skel/.bashrc /jail/home/sftp01
cp /etc/skel/.bashrc /jail/home/sftp02
chown sftp01:sftp01 /jail/home/sftp01/.bashrc
chown sftp02:sftp02 /jail/home/sftp02/.bashrc
6,测试sftp sftp01@
也可以用winscp直接访问。
通过以上6步,即可实现锁定sftp用户目录的功能
/etc/vsftpd/vsftpd.conf 中去掉下面这两句的“#”chroot_list_enable=YESchroot_list_file=/etc/vsftpd.chroot_list再在/etc 中建一个文件名为 :vsftpd.chroot_list 在文件中写上你想锁定的用户名,一行一个。目录权限一般是755限制用户只访问指定目录,可以通过chroot来实现,chroot,即 change root directory (更改 root 目录)。在 linux 系统中,系统默认的目录结构都是以 `/`,即是以根 (root) 开始的。而在使用 chroot 之后,系统的目录结构将以指定的位置作为 `/` 位置。为何使用 chroot在经过 chroot 之后,系统读取到的目录和文件将不在是旧系统根下的而是新根下(即被指定的新的位置)的目录结构和文件,因此它带来的好处大致有以下3个:增加了系统的安全性,限制了用户的权力;在经过 chroot 之后,在新根下将访问不到旧系统的根目录结构和文件,这样就增强了系统的安全性。这个一般是在登录 (login) 前使用 chroot,以此达到用户不能访问一些特定的文件。建立一个与原系统隔离的系统目录结构,方便用户的开发;使用 chroot 后,系统读取的是新根下的目录和文件,这是一个与原系统根下文件不相关的目录结构。在这个新的环境中,可以用来测试软件的静态编译以及一些与系统不相关的独立开发。切换系统的根目录位置,引导 Linux 系统启动以及急救系统等。chroot 的作用就是切换系统的根位置,而这个作用最为明显的是在系统初始引导磁盘的处理过程中使用,从初始 RAM 磁盘 (initrd) 切换系统的根位置并执行真正的 init。另外,当系统出现一些问题时,我们也可以使用 chroot 来切换到一个临时的系统。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)