Changing permissions only on files or only on directories

The following two commands will change the permissions only on the files in a directory even if there are also other directories, and the same for directories only:

This only chmod’s files to 644:
[root@box1 ~]# find -type f | xargs -i chmod 644 {}

This only chmod’s directories to 755:
[root@box1 ~]# find -name '*' -type d | xargs -i chmod 755 {}

Also, as an addition here the most common permissions on server are 644 for files and 755 for directories, you may want to make sure that the files/directories are not having 777 permissions as this is a big security risk. Most of the time some scripts will need 777 permissions and if this is the case would be a good idea to find a way around this or just find another script that does not need 777 permissions set.

Share/Bookmark