Every now and then file permissions under Linux can be tricky. in some cases a wrong file permission can make it happen that things do not work they way you would expect them. Also I found that a lot of people find it challenging to set the correct file permissions using the command line under Linux. A way to make life more easy in some cases is to use the option to "clone" file permissions with a single command.
For example, if you have created some addons to a tool running on an Oracle Linux system and you want to the addon file to have the same permissions as another file you can use the --reference option from the chmod command.
As an example we have two .jar files:
We want to make sure that the addonExecution.jar has exactly the same permissions as the executionLib.jar file. We can do this by specifying the desired stated in a chmod command, we can also use the --reference option as shown below:
This will make sure that the addonExecution.jar file now has exactly the same permissions as the file used as a reference.
Another use case example of this is that you can use it in a bash script where you might not be sure what the permissions should be for a certain file and only know that they always need to be the same as a specified other file. By using the --reference option you do not explicitly need to know the permissions during the creation of the bash script, you only need to know which file can be used as a reference.
For example, if you have created some addons to a tool running on an Oracle Linux system and you want to the addon file to have the same permissions as another file you can use the --reference option from the chmod command.
As an example we have two .jar files:
[root@localhost ~]# ls -l *.jar -rwxr-xr-x. 1 root root 88 May 19 10:48 addonExecution.jar -rw-r--r--. 1 root root 11 May 19 10:48 executionLib.jar
We want to make sure that the addonExecution.jar has exactly the same permissions as the executionLib.jar file. We can do this by specifying the desired stated in a chmod command, we can also use the --reference option as shown below:
[root@localhost ~]# chmod --reference=executionLib.jar addonExecution.jar
This will make sure that the addonExecution.jar file now has exactly the same permissions as the file used as a reference.
[root@localhost ~]# ls -l *.jar -rw-r--r--. 1 root root 88 May 19 10:48 addonExecution.jar -rw-r--r--. 1 root root 11 May 19 10:48 executionLib.jar
Another use case example of this is that you can use it in a bash script where you might not be sure what the permissions should be for a certain file and only know that they always need to be the same as a specified other file. By using the --reference option you do not explicitly need to know the permissions during the creation of the bash script, you only need to know which file can be used as a reference.