diff --git a/conf/CMakeLists.txt b/conf/CMakeLists.txt
index 409b3cc914047e172bebc8139a1809b7e81c887a..89908bfcbe1ce51e16a044e1fc018703b1230390 100644
--- a/conf/CMakeLists.txt
+++ b/conf/CMakeLists.txt
@@ -1,4 +1,14 @@
+# These configuration files are for reference to generate your own customized ones.
+# Thus, they are installed as read-only, even for the owner.
 install(
-    FILES nebula-graphd.conf.default nebula-storaged.conf.default nebula-metad.conf.default
-    DESTINATION etc
+    FILES
+        nebula-graphd.conf.default
+        nebula-storaged.conf.default
+        nebula-metad.conf.default
+    PERMISSIONS
+        OWNER_READ
+        GROUP_READ
+        WORLD_READ
+    DESTINATION
+        etc
 )
diff --git a/resources/CMakeLists.txt b/resources/CMakeLists.txt
index 72c1b82ea3da7f13d5a89a9a785c195753d0f5b4..e8985ff1405f1d5f4e4f435aec0c66e3bf913017 100644
--- a/resources/CMakeLists.txt
+++ b/resources/CMakeLists.txt
@@ -1,5 +1,10 @@
 install(
-    FILES resources/completion.json
-    PERMISSIONS OWNER_WRITE OWNER_READ
-    DESTINATION share/resources
+    FILES
+        resources/completion.json
+    PERMISSIONS
+        OWNER_WRITE OWNER_READ
+        GROUP_READ
+        WORLD_READ
+    DESTINATION
+        share/resources
 )
diff --git a/src/daemons/CMakeLists.txt b/src/daemons/CMakeLists.txt
index 5a4ea09bf3b3128bd561a74f7ff6567e19fb0210..43ffd3cbaf9e955d8cc95dbc5682cdeb2209ac42 100644
--- a/src/daemons/CMakeLists.txt
+++ b/src/daemons/CMakeLists.txt
@@ -108,6 +108,10 @@ nebula_link_libraries(
 
 
 install(
-    TARGETS nebula-graphd nebula-storaged nebula-metad
-    DESTINATION bin
+    TARGETS
+        nebula-graphd
+        nebula-storaged
+        nebula-metad
+    DESTINATION
+        bin
 )