Как заблокировать команду, скажем, mkdir
для конкретного пользователя?
То, что я сделал, только что создал функцию только для чтения и сохранил в профиле пользователя ~/.bashrc
/bin/mkdir() {
echo "mkdir command not allow for you"
}
mkdir() {
echo "mkdir command not allow for you"
}
./mkdir() {
echo "mkdir command not allow for you"
}
readonly -f /bin/mkdir
readonly -f mkdir
readonly -f ./mkdir
Тест:
rahul@ubuntu:~$ cd /bin/
rahul@ubuntu:/bin$ ./mkdir /home/rahul/ggg
mkdir command not allow for you
rahul@ubuntu:/bin$ cd
rahul@ubuntu:~$ mkdir testing
mkdir command not allow for you
rahul@ubuntu:~$ /bin/mkdir testing
mkdir command not allow for you
Итак, мой вопрос: каким должен быть способ достижения этого? есть ли инструмент для этого?
Обновление 1 # Но если пользователь умен, он может скопировать двоичный файл mkdir, переименовать его и использовать. Так как этого добиться?
cp /bin/mkdir mkdir2
использовать его :(
cp -r /usr/local/lib ggg
будет создан каталог с именем ggg
(содержащий копию содержимого /usr/local/lib
, если таковое имеется, которое пользователь затем может просто удалить). Вы можете использовать, find / -type d -empty
чтобы найти пустой каталог для копирования.
mkdir
и переименовать его, или даже просто скопировать и переименовать существующий двоичный файл. Также есть встроенная оболочка для переопределения псевдонимов и функций.