Rimuovere ricorsivamente il bit di esecuzione in / tmp con chmod -R -x /tmp
non impedisce l'esecuzione di file da / tmp.
Innanzitutto, si applica solo ai file attualmente in / tmp. I nuovi file creati dopo l'esecuzione di chmod non avranno restrizioni.
In secondo luogo, se rimuovi il bit di esecuzione dal file di un altro utente, questo non impedisce all'utente di eseguirlo. L'utente può aggiungere il bit di esecuzione dopo averlo modificato.
In terzo luogo, il bit di esecuzione nelle directory è in realtà chiamato "ricerca" e ha un significato diverso rispetto ai file. Data questa struttura di directory:
.:
total 8
drwxrwxr-x 2 root root 4096 ago 25 13:54 dir1
drwxrwxr-x 2 root root 4096 ago 25 13:54 dir2
./dir1:
total 0
-rw-rw-r-- 1 root root 0 ago 25 13:54 file1
-rw-rw-r-- 1 root root 0 ago 25 13:54 file2
./dir2:
total 0
-rw-rw-r-- 1 root root 0 ago 25 13:54 file1
-rw-rw-r-- 1 root root 0 ago 25 13:54 file2
Se rimuovi il bit "search" da dir1 con chmod -x dir1
ottieni questo:
$ chmod -x dir1
$ ls -l dir1
ls: no se puede acceder a 'dir1/file2': Permiso denegado
ls: no se puede acceder a 'dir1/file1': Permiso denegado
total 0
-????????? ? ? ? ? ? file1
-????????? ? ? ? ? ? file2
$ cat dir1/file1
cat: dir1/file1: Permiso denegado
Se lo fai su / tmp otterrai una directory temporanea inutilizzabile e diversi programmi si bloccheranno su di te.
Quindi l'opzione di montaggio noexec
non può essere sostituita da chmodding.
Se vuoi davvero farlo senza aggiungere una nuova partizione 1 o usando un file tmpfs / loop-montato (come suggerito da Shane), puoi provare il bind-fu in questa risposta SF
1 : direi che non avresti questo problema se stavi usando i volumi logici;)