Mam zainstalowaną aplikację /etc/mydir
.
Wykonałem następujące czynności, aby usunąć możliwość uruchamiania tego programu przez użytkowników.
chown root:group1 /etc/mydir -R
chmod 700 /etc/mydir -R
Utworzyłem nowego użytkownika i zalogowałem się jako ten użytkownik. Nowy użytkownik nie został dodany do programu. group1
Udało mi się jednak uruchomić ten program, wpisując nazwę programu.
Jak mogę uniemożliwić użytkownikom uruchamianie tego za pomocą chmod
i chown
. Proszę daj mi znać.
PS. nowi użytkownicy nie mogą cd
się /etc/mydir
jednak nadal może wykonać przy użyciu nazwy programu.
/etc/mydir
. Spróbujwhich programname
itype programname
(jeśli bash jest twoją powłoką), aby określić, co faktycznie zostanie wywołane podczas pisaniaprogramname
./usr/libexec/mydir
. Po uruchomieniuchown
ichmod
na tym folderze działało zgodnie z oczekiwaniami. Mógłbym oznaczyć ją jako odpowiedź, jeśli wpiszesz ją poniżej. Dziękuję za Twój czas!Odpowiedzi:
Musisz dowiedzieć się, co się właściwie dzieje, gdy wpiszesz nazwę programu:
Służy
which <programname>
do określania lokalizacji pliku wykonywalnego, który zostanie wykonany podczas pisania<programname>
, co będzie pierwszym trafieniem podczas próby katalogów wymienionych wPATH
środowisku w kolejności. Użyj,echo $PATH
aby dowiedzieć się, gdzie powłoka szuka plików wykonywalnych do uruchomienia.Aby się upewnić, że twoja
bash
powłoka ( ) nie przeszkadza, uruchom,type <programname>
aby dowiedzieć się, czy zdefiniowane są aliasy lub funkcje.To powie ci, że tak naprawdę nie uruchamiasz programu z niedostępnego katalogu, ale z innego miejsca.
źródło