@cryptotaxi247 / netdata-1 / commits / 1094175c3

Ownership and permissions of /etc/netdata (#7244)

* make install takes care of ownership and permissions of /etc/netdata Instead of netdata-installer.sh * Fix identation in Makefile.am files * netdata-installer.sh: Clearer variable assignment * netdata-installer.sh: Set /etc/netdata/netdata.conf ownership to root:root and permissions to 0644 * netdata-installer.sh: Set /etc/netdata/.environment permissions to 0644 * install-or-update.sh: Set permissions for /opt/netdata/etc/netdata.conf to 0644 * install-or-update.sh: Use ${NETDATA_PREFIX} more * install-or-update.sh: Improve indentation * install-or-update.sh: Do not create /opt/netdata/etc/netdata directories * debian/rules: /etc/netdata files and directories are now installed by make install * debian/rules: Properly copy files across directories When destination directory exists * netdata.spec.in: /etc/netdata ownership and permissions * Revert "Fix identation in Makefile.am files" This reverts commit 63fdb299b69152fda6984f81b0fef02f364c5efe. * Remove uninstall-local recipes from Makefile.am files * Removed superfluous whitespace and hash

Konstantinos Natsakis committed Nov 11, 2019 at 21:16 UTC 1094175c3bd08ecf5c83c91605e9fd1d02052108
12 files changed +62 -88
collectors/Makefile.am
+8
@@ -27,6 +27,14 @@ SUBDIRS = \
27 tc.plugin \
28 $(NULL)
29
30 +usercustompluginsconfigdir=$(configdir)/custom-plugins.d
31 +usergoconfigdir=$(configdir)/go.d
32 +
33 +# Explicitly install directories to avoid permission issues due to umask
34 +install-exec-local:
35 + $(INSTALL) -d $(DESTDIR)$(usercustompluginsconfigdir)
36 + $(INSTALL) -d $(DESTDIR)$(usergoconfigdir)
37 +
38 dist_noinst_DATA = \
39 README.md \
40 $(NULL)
collectors/charts.d.plugin/Makefile.am
+4
@@ -34,6 +34,10 @@ dist_userchartsconfig_DATA = \
34 .keep \
35 $(NULL)
36
37 +# Explicitly install directories to avoid permission issues due to umask
38 +install-exec-local:
39 + $(INSTALL) -d $(DESTDIR)$(userchartsconfigdir)
40 +
41 chartsconfigdir=$(libconfigdir)/charts.d
42 dist_chartsconfig_DATA = \
43 $(NULL)
collectors/node.d.plugin/Makefile.am
+4
@@ -26,6 +26,10 @@ dist_usernodeconfig_DATA = \
26 .keep \
27 $(NULL)
28
29 +# Explicitly install directories to avoid permission issues due to umask
30 +install-exec-local:
31 + $(INSTALL) -d $(DESTDIR)$(usernodeconfigdir)
32 +
33 nodeconfigdir=$(libconfigdir)/node.d
34 dist_nodeconfig_DATA = \
35 $(NULL)
collectors/python.d.plugin/Makefile.am
+4
@@ -32,6 +32,10 @@ dist_userpythonconfig_DATA = \
32 .keep \
33 $(NULL)
34
35 +# Explicitly install directories to avoid permission issues due to umask
36 +install-exec-local:
37 + $(INSTALL) -d $(DESTDIR)$(userpythonconfigdir)
38 +
39 pythonconfigdir=$(libconfigdir)/python.d
40 dist_pythonconfig_DATA = \
41 $(NULL)
collectors/statsd.plugin/Makefile.am
+4
@@ -16,3 +16,7 @@ userstatsdconfigdir=$(configdir)/statsd.d
16 dist_userstatsdconfig_DATA = \
17 .keep \
18 $(NULL)
19 +
20 +# Explicitly install directories to avoid permission issues due to umask
21 +install-exec-local:
22 + $(INSTALL) -d $(DESTDIR)$(userstatsdconfigdir)
contrib/debian/rules
+3 -26
@@ -28,10 +28,6 @@ debian/%.postinst: debian/%.postinst.in
28 override_dh_install: debian/netdata.postinst
29 dh_install
30
31 - # Remove unneeded .keep files
32 - #
33 - find "$(TOP)" -name .keep -exec rm '{}' ';'
34 -
31 # Set the CUPS plugin install rule
32 #
33 mkdir -p $(TOP)-plugin-cups/usr/libexec/netdata/plugins.d
@@ -40,24 +36,9 @@ override_dh_install: debian/netdata.postinst
36
37 # Set the rest of the software in the main package
38 #
43 - cp -rp $(TEMPTOP)/usr $(TOP)/usr
44 - cp -rp $(TEMPTOP)/var $(TOP)/var
45 - #cp -rp $(TEMPTOP)/etc $(TOP)/etc
46 -
47 - # Copy sample netdata.conf
48 - cp -p $(CURDIR)/system/edit-config $(TOP)/etc/netdata/
49 -
50 - # Create placeholder dirs in netdata configuration directory
51 - #
52 - mkdir -p $(TOP)/etc/netdata/health.d
53 - mkdir -p $(TOP)/etc/netdata/python.d
54 - mkdir -p $(TOP)/etc/netdata/charts.d
55 - mkdir -p $(TOP)/etc/netdata/cystonm-plugins.d
56 - mkdir -p $(TOP)/etc/netdata/go.d
57 - mkdir -p $(TOP)/etc/netdata/ssl
58 - mkdir -p $(TOP)/etc/netdata/node.d
59 - mkdir -p $(TOP)/etc/netdata/statsd.d
60 -
39 + cp -rp $(TEMPTOP)/usr $(TOP)
40 + cp -rp $(TEMPTOP)/var $(TOP)
41 + cp -rp $(TEMPTOP)/etc $(TOP)
42
43 # Move files that local user shouldn't be editing to /usr/share/netdata
44 #
@@ -110,10 +91,6 @@ override_dh_fixperms:
91 chmod 0754 $(TOP)/usr/libexec/netdata/plugins.d/slabinfo.plugin
92 chmod 0750 $(TOP)/usr/libexec/netdata/plugins.d/go.d.plugin
93
113 - # Support script for configuration file management
114 - #
115 - chmod 0750 $(TOP)/etc/netdata/edit-config
116 -
94 # CUPS plugin package
95 chmod 0750 $(TOP)-plugin-cups/usr/libexec/netdata/plugins.d/cups.plugin
96
health/Makefile.am
+4
@@ -19,6 +19,10 @@ dist_userhealthconfig_DATA = \
19 .keep \
20 $(NULL)
21
22 +# Explicitly install directories to avoid permission issues due to umask
23 +install-exec-local:
24 + $(INSTALL) -d $(DESTDIR)$(userhealthconfigdir)
25 +
26 healthconfigdir=$(libconfigdir)/health.d
27 dist_healthconfig_DATA = \
28 health.d/adaptec_raid.conf \
netdata-installer.sh
+3 -18
@@ -590,7 +590,7 @@ if [ "${UID}" = "0" ]; then
590 ROOT_USER="root"
591 else
592 NETDATA_USER="${USER}"
593 - ROOT_USER="${NETDATA_USER}"
593 + ROOT_USER="${USER}"
594 fi
595 NETDATA_GROUP="$(id -g -n "${NETDATA_USER}")"
596 [ -z "${NETDATA_GROUP}" ] && NETDATA_GROUP="${NETDATA_USER}"
@@ -649,19 +649,6 @@ if [ ! -d "${NETDATA_RUN_DIR}" ]; then
649 run mkdir -p "${NETDATA_RUN_DIR}" || exit 1
650 fi
651
652 -# --- conf dir ----
653 -
654 -for x in "python.d" "charts.d" "node.d" "health.d" "statsd.d" "go.d" "custom-plugins.d" "ssl"; do
655 - if [ ! -d "${NETDATA_USER_CONFIG_DIR}/${x}" ]; then
656 - echo >&2 "Creating directory '${NETDATA_USER_CONFIG_DIR}/${x}'"
657 - run mkdir -p "${NETDATA_USER_CONFIG_DIR}/${x}" || exit 1
658 - fi
659 -done
660 -run chown -R "${ROOT_USER}:${NETDATA_GROUP}" "${NETDATA_USER_CONFIG_DIR}"
661 -run find "${NETDATA_USER_CONFIG_DIR}" -type f -exec chmod 0640 {} \;
662 -run find "${NETDATA_USER_CONFIG_DIR}" -type d -exec chmod 0755 {} \;
663 -run chmod 755 "${NETDATA_USER_CONFIG_DIR}/edit-config"
664 -
652 # --- stock conf dir ----
653
654 [ ! -d "${NETDATA_STOCK_CONFIG_DIR}" ] && mkdir -p "${NETDATA_STOCK_CONFIG_DIR}"
@@ -920,10 +907,7 @@ else
907 run_ok "netdata started!"
908 create_netdata_conf "${NETDATA_PREFIX}/etc/netdata/netdata.conf" "http://localhost:${NETDATA_PORT}/netdata.conf"
909 fi
923 -if [ "${UID}" -eq 0 ]; then
924 - run chown "${NETDATA_USER}" "${NETDATA_PREFIX}/etc/netdata/netdata.conf"
925 -fi
926 -run chmod 0664 "${NETDATA_PREFIX}/etc/netdata/netdata.conf"
910 +run chmod 0644 "${NETDATA_PREFIX}/etc/netdata/netdata.conf"
911
912 if [ "$(uname)" = "Linux" ]; then
913 # -------------------------------------------------------------------------
@@ -1086,6 +1070,7 @@ RELEASE_CHANNEL="${RELEASE_CHANNEL}"
1070 IS_NETDATA_STATIC_BINARY="${IS_NETDATA_STATIC_BINARY}"
1071 NETDATA_LIB_DIR="${NETDATA_LIB_DIR}"
1072 EOF
1073 +run chmod 0644 "${NETDATA_USER_CONFIG_DIR}/.environment"
1074
1075 echo >&2 "Setting netdata.tarball.checksum to 'new_installation'"
1076 cat <<EOF > "${NETDATA_LIB_DIR}/netdata.tarball.checksum"
netdata.spec.in
+6 -17
@@ -256,7 +256,7 @@ autoreconf -ivf
256 rm -rf "${RPM_BUILD_ROOT}"
257 %{__make} %{?_smp_mflags} DESTDIR="${RPM_BUILD_ROOT}" install
258
259 -find "${RPM_BUILD_ROOT}" -name .keep -delete
259 +find "${RPM_BUILD_ROOT}%{_localstatedir}" -name .keep -delete -print
260
261 install -m 644 -p system/netdata.conf "${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}"
262
@@ -290,9 +290,6 @@ install -m 4750 -p slabinfo.plugin "${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/plug
290 # ###########################################################
291 # Install registry directory
292 install -m 755 -d "${RPM_BUILD_ROOT}%{_localstatedir}/lib/%{name}/registry"
293 -install -m 755 -d "${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/custom-plugins.d"
294 -install -m 755 -d "${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/go.d"
295 -install -m 755 -d "${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/ssl"
293
294 # ###########################################################
295 # Install netdata service
@@ -423,12 +420,12 @@ rm -rf "${RPM_BUILD_ROOT}"
420
421 %files
422 %doc README.md
426 -%defattr(-,root,netdata)
423 +%{_sysconfdir}/%{name}
424 +%config(noreplace) %{_sysconfdir}/%{name}/netdata.conf
425
428 -%dir %{_sysconfdir}/%{name}
426 +%defattr(-,root,netdata)
427 %dir %{_libdir}/%{name}
428
431 -%config(noreplace) %{_sysconfdir}/%{name}/*.conf
429 %config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
430
431 %{_libdir}/%{name}
@@ -436,7 +433,6 @@ rm -rf "${RPM_BUILD_ROOT}"
433 %defattr(0755,netdata,netdata,0755)
434 %{_libexecdir}/%{name}
435 %{_sbindir}/%{name}
439 -%{_sysconfdir}/%{name}/edit-config
436
437 %defattr(4750,root,netdata,0750)
438
@@ -466,15 +462,6 @@ rm -rf "${RPM_BUILD_ROOT}"
462 %dir %{_datadir}/%{name}
463
464 %defattr(0750,netdata,netdata,0755)
469 -
470 -%dir %{_sysconfdir}/%{name}/health.d
471 -%dir %{_sysconfdir}/%{name}/python.d
472 -%dir %{_sysconfdir}/%{name}/charts.d
473 -%dir %{_sysconfdir}/%{name}/custom-plugins.d
474 -%dir %{_sysconfdir}/%{name}/go.d
475 -%dir %{_sysconfdir}/%{name}/ssl
476 -%dir %{_sysconfdir}/%{name}/node.d
477 -%dir %{_sysconfdir}/%{name}/statsd.d
465 %{_libdir}/%{name}/conf.d/
466
467 %if %{with systemd}
@@ -515,6 +502,8 @@ Use this plugin to enable metrics collection from cupsd, the daemon running when
502 %endif
503
504 %changelog
505 +* Mon Nov 04 2019 Konstantinos Natsakis <konstantinos.natsakis@gmail.com> 0.0.0-10
506 +- Fix /etc/netdata permissions
507 * Mon Sep 23 2019 Konstantinos Natsakis <konstantinos.natsakis@gmail.com> 0.0.0-9
508 - Do not build CUPS plugin subpackage on CentOS 6 and CentOS 7
509 * Tue Aug 20 2019 Pavlos Emm. Katsoulakis <paul@netdat.acloud> - 0.0.0-8
packaging/makeself/install-or-update.sh
+12 -27
@@ -200,19 +200,6 @@ then
200 fi
201
202
203 -# -----------------------------------------------------------------------------
204 -
205 -progress "create user config directories"
206 -
207 -for x in "python.d" "charts.d" "node.d" "health.d" "statsd.d" "custom-plugins.d" "ssl"
208 -do
209 - if [ ! -d "etc/netdata/${x}" ]
210 - then
211 - run mkdir -p "etc/netdata/${x}" || exit 1
212 - fi
213 -done
214 -
215 -
203 # -----------------------------------------------------------------------------
204 progress "fix permissions"
205
@@ -244,20 +231,18 @@ fi
231
232
233 # -----------------------------------------------------------------------------
247 -
234 if [ ${STARTIT} -eq 0 ]; then
249 - create_netdata_conf "/opt/netdata/etc/netdata/netdata.conf"
250 - netdata_banner "is installed now!"
235 + create_netdata_conf "${NETDATA_PREFIX}/etc/netdata/netdata.conf"
236 + netdata_banner "is installed now!"
237 else
252 - progress "starting netdata"
253 -
254 - if ! restart_netdata "/opt/netdata/bin/netdata"; then
255 - create_netdata_conf "/opt/netdata/etc/netdata/netdata.conf"
256 - netdata_banner "is installed and running now!"
257 - else
258 - create_netdata_conf "/opt/netdata/etc/netdata/netdata.conf" "http://localhost:19999/netdata.conf"
259 - netdata_banner "is installed now!"
260 - fi
238 + progress "starting netdata"
239 +
240 + if ! restart_netdata "${NETDATA_PREFIX}/bin/netdata"; then
241 + create_netdata_conf "${NETDATA_PREFIX}/etc/netdata/netdata.conf"
242 + netdata_banner "is installed and running now!"
243 + else
244 + create_netdata_conf "${NETDATA_PREFIX}/etc/netdata/netdata.conf" "http://localhost:19999/netdata.conf"
245 + netdata_banner "is installed now!"
246 + fi
247 fi
262 -run chown "${NETDATA_USER}:${NETDATA_GROUP}" "/opt/netdata/etc/netdata/netdata.conf"
263 -run chmod 0664 "/opt/netdata/etc/netdata/netdata.conf"
248 +run chmod 0644 "${NETDATA_PREFIX}/etc/netdata/netdata.conf"
system/Makefile.am
+4
@@ -20,6 +20,10 @@ dist_config_SCRIPTS = \
20 edit-config \
21 $(NULL)
22
23 +# Explicitly install directories to avoid permission issues due to umask
24 +install-exec-local:
25 + $(INSTALL) -d $(DESTDIR)$(configdir)
26 +
27 nodist_noinst_DATA = \
28 netdata-openrc \
29 netdata.logrotate \
web/Makefile.am
+6
@@ -9,6 +9,12 @@ SUBDIRS = \
9 server \
10 $(NULL)
11
12 +usersslconfigdir=$(configdir)/ssl
13 +
14 +# Explicitly install directories to avoid permission issues due to umask
15 +install-exec-local:
16 + $(INSTALL) -d $(DESTDIR)$(usersslconfigdir)
17 +
18 dist_noinst_DATA = \
19 README.md \
20 gui/confluence/README.md \