-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsetup.sh
More file actions
87 lines (77 loc) · 2.5 KB
/
Copy pathsetup.sh
File metadata and controls
87 lines (77 loc) · 2.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
#!/bin/sh
CHROOT_HOME=/home/chroot
CHROOT_DIR="bin dev dev/pts home lib64 usr/bin etc/bash_completion.d"
CHROOT_CMD="/usr/bin/git /usr/bin/ls /bin/bash /usr/bin/rpm"
#--------------------------------------------------
# install dir
#--------------------------------------------------
if [ ! -e ${CHROOT_HOME} ]; then
for i in ${CHROOT_DIR}
do
mkdir -p ${CHROOT_HOME}/$i
done
else
echo ${CHROOT_HOME}" is exists."
fi
#--------------------------------------------------
# install /etc/git*
#--------------------------------------------------
if [ ! -e "${CHROOT_HOME}/etc/bash_completion.d/git" ]; then
cp -p /etc/bash_completion.d/git ${CHROOT_HOME}/etc/bash_completion.d/
fi
if [ ! -e "${CHROOT_HOME}/etc/bashrc" ]; then
cp -p /etc/bashrc ${CHROOT_HOME}/etc/
fi
#--------------------------------------------------
# install dev/{tty,null,urandom,pts}
#--------------------------------------------------
if [ ! -e "${CHROOT_HOME}/dev/tty" ]; then
mknod -m 666 "${CHROOT_HOME}/dev/tty" c 5 0
fi
if [ ! -e "${CHROOT_HOME}/dev/null" ]; then
mknod -m 666 "${CHROOT_HOME}/dev/null" c 1 3
fi
if [ ! -e "${CHROOT_HOME}/dev/urandom" ]; then
mknod -m 666 "${CHROOT_HOME}/dev/urandom" c 1 9
fi
if [ ! -e "${CHROOT_HOME}/dev/pts" ]; then
mount -t devpts devpts ${CHROOT_HOME}/dev/pts
fi
#--------------------------------------------------
# copy require libs64
#--------------------------------------------------
for command in ${CHROOT_CMD}
do
echo "----------"${command}
for i in `ldd ${command} | awk '{print $3}' | grep ^\/lib`
do
if [[ "${command}" =~ "/usr/bin/" ]]; then
#echo "cp -a ${command} ${CHROOT_HOME}/usr/bin/"
cp -a ${command} ${CHROOT_HOME}/usr/bin/
else
#echo "cp -a ${command} ${CHROOT_HOME}/bin/"
cp -a ${command} ${CHROOT_HOME}/bin/
fi
echo "cp $i ${CHROOT_HOME}/lib64/"
cp $i ${CHROOT_HOME}/lib64/
done
done
#--------------------------------------------------
# usage
#--------------------------------------------------
echo ""
echo "ex) exists user."
echo "mkdir ${CHROOT_HOME}/home/lazyarea"
echo ""
echo "ex) /etc/ssh/sshd_config"
echo "Subsystem sftp /usr/libexec/openssh/sftp-server"
echo "Match User lazyarea"
echo " X11Forwarding no"
echo " AllowTcpForwarding no"
echo " ChrootDirectory /home/chroot"
#--------------------------------------------------
# usage
#--------------------------------------------------
echo ""
echo "ex) install git"
echo "yum --installroot=${CHROOT_HOME} --releasever=7 install git"