Merge remote-tracking branch 'jake/__directory_fix'
This commit is contained in:
commit
a59fa92246
4 changed files with 53 additions and 7 deletions
|
@ -22,7 +22,18 @@
|
|||
#
|
||||
|
||||
destination="/$__object_id"
|
||||
os=$("$__explorer/os")
|
||||
|
||||
case "$os" in
|
||||
"freebsd")
|
||||
cmd="stat -f %Sg"
|
||||
;;
|
||||
*)
|
||||
cmd="stat -c %G"
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ -e "$destination" ]; then
|
||||
stat -c "%G" "$destination"
|
||||
$cmd "$destination"
|
||||
fi
|
||||
|
||||
|
|
|
@ -22,7 +22,18 @@
|
|||
#
|
||||
|
||||
destination="/$__object_id"
|
||||
os=$("$__explorer/os")
|
||||
|
||||
case "$os" in
|
||||
"freebsd")
|
||||
cmd="stat -f %Op"
|
||||
;;
|
||||
*)
|
||||
cmd="stat -c %a"
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ -e "$destination" ]; then
|
||||
stat -c "%a" "$destination"
|
||||
$cmd "$destination"
|
||||
fi
|
||||
|
||||
|
|
|
@ -22,7 +22,18 @@
|
|||
#
|
||||
|
||||
destination="/$__object_id"
|
||||
os=$("$__explorer/os")
|
||||
|
||||
case "$os" in
|
||||
"freebsd")
|
||||
cmd="stat -f %Su"
|
||||
;;
|
||||
*)
|
||||
cmd="stat -c %U"
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ -e "$destination" ]; then
|
||||
stat -c "%U" "$destination"
|
||||
$cmd "$destination"
|
||||
fi
|
||||
|
||||
|
|
|
@ -92,6 +92,20 @@ fi
|
|||
|
||||
present="$(cat "$__object/explorer/present")"
|
||||
status="$(cat "$__object/explorer/status")"
|
||||
# Handle ip="iface|addr, iface|addr" format
|
||||
if [ $(expr "${ip}" : ".*|.*") -gt "0" ]; then
|
||||
# If we have multiple IPs defined, $interface doesn't make sense because ip="iface|addr, iface|addr" implies it
|
||||
interface=""
|
||||
SAVE_IFS="$IFS"
|
||||
IFS=", "
|
||||
for cur_ip in ${ip}; do
|
||||
# Just get the last IP address for SSH to listen on
|
||||
mgmt_ip=$(echo "${ip}" | sed -E -e 's/^.*\|(.*)\/[0-9]+$/\1/')
|
||||
done
|
||||
IFS="$SAVE_IFS"
|
||||
else
|
||||
mgmt_ip=$(echo "${ip}" | cut '-d ' -f1)
|
||||
fi
|
||||
|
||||
stopJail() {
|
||||
# Check $status before issuing command
|
||||
|
@ -160,10 +174,10 @@ EOF
|
|||
createJail() {
|
||||
# Create the jail directory
|
||||
cat <<EOF
|
||||
umask 022
|
||||
mkdir -p ${jaildir}/${name}
|
||||
if [ ! -d "${jaildir}/base" ]; then
|
||||
mkdir "${jaildir}/base"
|
||||
chmod 755 "${jaildir}/base"
|
||||
tar -xzf "${jaildir}/jailbase.tgz" -C "${jaildir}/base"
|
||||
if [ ! -d "${jaildir}/base/usr/local" ]; then
|
||||
mkdir -p "${jaildir}/base/usr/local"
|
||||
|
@ -250,7 +264,7 @@ if [ -n "$interface" ]; then
|
|||
jail_${name}_interface="${interface}"
|
||||
END
|
||||
EOF
|
||||
else
|
||||
elif [ "$(expr "${ip}" : ".*|.*")" -eq "0" ]; then
|
||||
cat <<EOF
|
||||
interface=\$(ifconfig -l | cut '-d ' -f1)
|
||||
cat >>/etc/rc.conf <<END
|
||||
|
@ -316,8 +330,7 @@ echo syslogd_flags=\"-ss\" >>"${jaildir}/rw/${name}/etc/rc.conf"
|
|||
EOF
|
||||
# Configure SSHd's listening address
|
||||
cat <<EOF
|
||||
ip=\$(echo "${ip}" | cut '-d ' -f1)
|
||||
sed -i '.bak' "s/#ListenAddress 0.0.0.0/ListenAddress \${ip}/" "${jaildir}/rw/${name}/etc/ssh/sshd_config"
|
||||
sed -E -i '.bak' -e "s/#?ListenAddress 0.0.0.0/ListenAddress ${mgmt_ip}/" "${jaildir}/rw/${name}/etc/ssh/sshd_config"
|
||||
EOF
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue