Вы могли, вероятно, также сделать это с netcat как альтернатива.
http://en.wikipedia.org/wiki/Netcat#Port_Forwarding_or_Port_Mapping
Netcat стоит иметь вокруг. Можно сделать все виды интересных вещей с ним.
Без справки от ядра Вы не сможете полностью ограничить пользователя в каталоге. Даже использование strace/ktrace ограничено, потому что это, вероятно, будет сложно, чтобы реализовать правильно и заставить пользователя испытать кошмар.
Если Вы используете FreeBSD, смотрите на тюрьму sub система. Это действительно эффективно. Еще, Вам нужны к chroot Ваши пользователи, если они регистрируются через
Чего Вы пытаетесь достигнуть?
Если Вы хотите защиту от пользователей, это - проблема безопасности, и я не могу вообразить как, уменьшив их способность к cd
в любой каталог мог иметь любую выгоду. Вы могли попробовать VM (довольно безопасная) или chroot тюрьма (не очень безопасный).
Если Вы хотите защитить их от себя, можно просто переопределить cd
в .bashrc
как это:
cd() {
builtin cd "$@"
if [[ ! "$(pwd)" =~ ^$HOME ]]
then
echo "Escape is futile"
builtin cd - >/dev/null
fi
}
etc
,bin
,lib
, и т.д.... каталоги должны будут существовать в chroot. Можно настроить, связывают, монтируется, но это стало бы чрезвычайно грязным. – Patrick 05.03.2012, 00:50