Як заблокувати команду, скажімо 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
і перейменувати його, або навіть просто скопіювати та перейменувати існуючий бінарний файл. Також є вбудована оболонка для перекриття псевдонімів та функцій.