Jak zablokować polecenie, powiedzmy mkdir
dla konkretnego użytkownika?
To, co właśnie stworzyłem, stworzyłem funkcję tylko do odczytu i przechowuję w profilu użytkownika ~/.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
Test:
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
Więc moje pytanie brzmi: jaki powinien być sposób na osiągnięcie tego? czy jest na to jakieś narzędzie?
Aktualizacja 1 # Ale jeśli użytkownik jest inteligentny, może skopiować plik binarny mkdir, zmienić jego nazwę i użyć go. Jak to osiągnąć?
cp /bin/mkdir mkdir2
a następnie użyć go :(
cp -r /usr/local/lib ggg
utworzy katalog o nazwie ggg
(zawierający kopię ewentualnej zawartości /usr/local/lib
, którą użytkownik może po prostu usunąć). Możesz użyć, find / -type d -empty
aby znaleźć pusty katalog do skopiowania.
mkdir
i zmienić jego nazwę, a nawet po prostu skopiować i zmienić nazwę istniejącego pliku binarnego. Ponadto istnieje wbudowana powłoka do zastępowania aliasów i funkcji.