Um problema que você pode encontrar é que modificar um arquivo em um diretório não altera necessariamente o registro de data e hora do diretório. Aqui está um exemplo:
paulgear@localhost:~/tmp$ echo test1 > test1
paulgear@localhost:~/tmp$ ls -la
total 4
drwxr-xr-x 1 paulgear paulgear 18 Jan 15 09:29 .
drwxr-xr-x 1 paulgear paulgear 3976 Jan 15 09:26 ..
drwxr-xr-x 1 paulgear paulgear 0 Jan 15 09:29 test
-rw-r--r-- 1 paulgear paulgear 6 Jan 15 09:29 test1
paulgear@localhost:~/tmp$ date
Wed Jan 15 09:30:07 EST 2014
paulgear@localhost:~/tmp$ echo test2 > test1
paulgear@localhost:~/tmp$ ls -la
total 4
drwxr-xr-x 1 paulgear paulgear 18 Jan 15 09:29 .
drwxr-xr-x 1 paulgear paulgear 3976 Jan 15 09:26 ..
drwxr-xr-x 1 paulgear paulgear 0 Jan 15 09:29 test
-rw-r--r-- 1 paulgear paulgear 6 Jan 15 09:30 test1
Observe como a substituição completa do conteúdo do test1 não atualizou o registro de data e hora do diretório. Então, seu comando find provavelmente deveria estar procurando arquivos e diretórios, algo assim:
find . -mtime +180 -print0 | xargs -0 chmod a-w
Ou talvez você queira tornar os critérios de tempo diferentes para arquivos e diretórios:
find . -type d -mtime +120 -print0 | xargs -0 chmod a-w
find . -type f -mtime +180 -print0 | xargs -0 chmod a-w
Para muitos aplicativos (maioria?) que usam compartilhamentos de arquivos SMB, isso não se aplicará, pois geralmente eles gravam seu conteúdo em um arquivo temporário no mesmo diretório, excluem o arquivo original e renomeiam o arquivo temporário como original. nome. Mas aplicativos de "banco de dados" como o Access não fazem isso.