За всичко си има начин
Споменахте за "r" и "x" флаговете на папките, но не довършихте идеята. Глобална директна настройка за това, което искаш в случая, няма (изключваме варианта, ако сме си написали скрипт за целта). Така че се налага промяната да се въведе за всяка папка поотделно, в която потребителят не трябва да има достъп за разходки. Но все пак трябва да се даде възможност на потребителя да оперира с файловете в тези папки, особено що се касае до файловете в bin папките (иначе, както се спомена, ще се загуби достъп до командите). Значението на "r" флага е четене, както при папките, така и при файловете, а значението на "x" флага е позициониране при папките и изпълнение при файловете. Премахвайки "r" флага на дадена папка, и оставяйки "x" флага й, позволяваме да се извършват действия върху файлове, намиращи се в тази папка, но забраняваме прочитане съдържанието на тази папка - точно това, което се иска в дадената задача. Това какво ще може да се прави с файла, зависи от флаговете на файла, като единствено изтриването на файла се влияе от "w" флага на папката, в която се намира. Казано накратко, за да постигнем задачата, трябва на всяка папка, в която потребителят не трябва да има право да се разхожда, да се зададе стойност "1" (--x) на групата флагове, която се отнася до този потребител.
Пример: Имаме потребител pesho, който не трябва да може да се разхожда в папката /bin, но трябва да може да изпълнява файловете от нея, тъй като там има команди, от които има нужда. Тази папка има потребител-собственик root и група-собственик root, и текущо е с права 0755
drwxr-xr-x 2 root root 4096 2010-05-21 22:46 /bin
Тъй като потребителят pesho не е нито потребител-собственик, нито е в групата-собственик, ни интересува третата група флагове, текущо със стойност "5" (r-x). За да забраним на потребителя pesho да се разхожда в тази папка, трябва да изпълним следната команда с root права
GeSHi (Bash):
chmod 751 /bin
Забелязваш коя 5-ица се смени на 1-ица. Ако pesho беше потребител-собственик, то щеше да ни интересува не третата група, а първата, която текущо е със стойност "7" (rwx), а ако pesho се намираше в групата-собственик, тогава щеше да ни интересува втората група флагове. Ако pesho е едновременно потребител-собственик и се намира в групата-собственик, тогава променяме стойностите и на първата, и на втората група флагове. Сигурно забелязваш, че при командата ls се изписа и едно "d" пред групите флагове. Това е една нулева група от служебни флагове. "d" означава папка без sticky bit, setuid и setgid флагове (въпросната нула в цифрите 0755, които показах по-горе; зачети се за тези флагове, ако ти е интересно)