ensure user is setup in preinstall hook
This commit is contained in:
		
							parent
							
								
									e769401ca3
								
							
						
					
					
						commit
						03c31f8ad6
					
				|  | @ -316,79 +316,145 @@ nfpms: | ||||||
|       - src: examples/up.conf.example |       - src: examples/up.conf.example | ||||||
|         dst: /etc/unpoller/up.conf.example |         dst: /etc/unpoller/up.conf.example | ||||||
|         type: config |         type: config | ||||||
|  |         file_info: | ||||||
|  |           mode: 0640 | ||||||
|  |           owner: unpoller | ||||||
|  |           group: unpoller | ||||||
|       - src: examples/up.json.example |       - src: examples/up.json.example | ||||||
|         dst: /etc/unpoller/up.json.example |         dst: /etc/unpoller/up.json.example | ||||||
|         type: config |         type: config | ||||||
|  |         file_info: | ||||||
|  |           mode: 0640 | ||||||
|  |           owner: unpoller | ||||||
|  |           group: unpoller | ||||||
|       - src: examples/up.yaml.example |       - src: examples/up.yaml.example | ||||||
|         dst: /etc/unpoller/up.yaml.example |         dst: /etc/unpoller/up.yaml.example | ||||||
|         type: config |         type: config | ||||||
|  |         file_info: | ||||||
|  |           mode: 0640 | ||||||
|  |           owner: unpoller | ||||||
|  |           group: unpoller | ||||||
|       # copy example by default to real locations, people can override, cnfg uses this. |       # copy example by default to real locations, people can override, cnfg uses this. | ||||||
|       - src: examples/up.conf.example |       - src: examples/up.conf.example | ||||||
|         dst: /etc/unpoller/up.conf |         dst: /etc/unpoller/up.conf | ||||||
|         type: config|noreplace |         type: config|noreplace | ||||||
|  |         file_info: | ||||||
|  |           mode: 0640 | ||||||
|  |           owner: unpoller | ||||||
|  |           group: unpoller | ||||||
|        |        | ||||||
|       # common useful info |       # common useful info | ||||||
|       - src: "README.html" |       - src: "README.html" | ||||||
|         dst: /etc/unpoller/readme.html |         dst: /etc/unpoller/readme.html | ||||||
|         type: config |         type: config | ||||||
|  |         file_info: | ||||||
|  |           mode: 0644 | ||||||
|  |           owner: unpoller | ||||||
|  |           group: unpoller | ||||||
|       - src: "unpoller_manual.html" |       - src: "unpoller_manual.html" | ||||||
|         dst: /etc/unpoller/manual.html |         dst: /etc/unpoller/manual.html | ||||||
|         type: config |         type: config | ||||||
|  |         file_info: | ||||||
|  |           mode: 0644 | ||||||
|  |           owner: unpoller | ||||||
|  |           group: unpoller | ||||||
|        |        | ||||||
|       # man pages |       # man pages | ||||||
|       - src: unpoller.1.gz |       - src: unpoller.1.gz | ||||||
|         dst: /usr/share/man/man1/unpoller.1.gz |         dst: /usr/share/man/man1/unpoller.1.gz | ||||||
|         type: man |         file_info: | ||||||
|  |           mode: 0644 | ||||||
|  |           owner: unpoller | ||||||
|  |           group: unpoller | ||||||
|       - src: LICENSE |       - src: LICENSE | ||||||
|         dst: /usr/share/doc/unpoller/LICENSE |         dst: /usr/share/doc/unpoller/LICENSE | ||||||
|         type: man |         file_info: | ||||||
|  |           mode: 0644 | ||||||
|  |           owner: unpoller | ||||||
|  |           group: unpoller | ||||||
|       - src: unpoller_manual.html |       - src: unpoller_manual.html | ||||||
|         dst: /usr/share/doc/unpoller/unpoller_manual.html |         dst: /usr/share/doc/unpoller/unpoller_manual.html | ||||||
|         type: man |         file_info: | ||||||
|  |           mode: 0644 | ||||||
|  |           owner: unpoller | ||||||
|  |           group: unpoller | ||||||
|        |        | ||||||
|       # systemd service |       # systemd service | ||||||
|       - src: init/systemd/unpoller.service |       - src: init/systemd/unpoller.service | ||||||
|         dst: /etc/systemd/system/unpoller.service |         dst: /etc/systemd/system/unpoller.service | ||||||
|         type: config |         type: config | ||||||
|  |         file_info: | ||||||
|  |           mode: 0644 | ||||||
|  |           owner: unpoller | ||||||
|  |           group: unpoller | ||||||
|        |        | ||||||
|       # freebsd rc service |       # freebsd rc service | ||||||
|       - src: init/bsd/freebsd.rc.d |       - src: init/bsd/freebsd.rc.d | ||||||
|         dst: /usr/local/etc/rc.d/unpoller |         dst: /usr/local/etc/rc.d/unpoller | ||||||
|         type: config |         type: config | ||||||
|  |         file_info: | ||||||
|  |           mode: 0644 | ||||||
|  |           owner: unpoller | ||||||
|  |           group: unpoller | ||||||
|        |        | ||||||
|       # web server statics |       # web server statics | ||||||
|       - dst: /usr/local/lib/unpoller/web/static/ |       - dst: /usr/local/lib/unpoller/web/static/ | ||||||
|         type: dir |         type: dir | ||||||
|         file_info: |         file_info: | ||||||
|           mode: 0755 |           mode: 0755 | ||||||
|  |           owner: unpoller | ||||||
|  |           group: unpoller | ||||||
|       - dst: /usr/local/lib/unpoller/web/static/css |       - dst: /usr/local/lib/unpoller/web/static/css | ||||||
|         type: dir |         type: dir | ||||||
|         file_info: |         file_info: | ||||||
|           mode: 0755 |           mode: 0755 | ||||||
|  |           owner: unpoller | ||||||
|  |           group: unpoller | ||||||
|       - dst: /usr/local/lib/unpoller/web/static/images |       - dst: /usr/local/lib/unpoller/web/static/images | ||||||
|         type: dir |         type: dir | ||||||
|         file_info: |         file_info: | ||||||
|           mode: 0755 |           mode: 0755 | ||||||
|  |           owner: unpoller | ||||||
|  |           group: unpoller | ||||||
|       - dst: /usr/local/lib/unpoller/web/static/js |       - dst: /usr/local/lib/unpoller/web/static/js | ||||||
|         type: dir |         type: dir | ||||||
|         file_info: |         file_info: | ||||||
|           mode: 0755 |           mode: 0755 | ||||||
|  |           owner: unpoller | ||||||
|  |           group: unpoller | ||||||
|       - src: init/webserver/index.html |       - src: init/webserver/index.html | ||||||
|         dst: /usr/local/lib/unpoller/web/static/index.html |         dst: /usr/local/lib/unpoller/web/static/index.html | ||||||
|         type: config |         type: config | ||||||
|  |         file_info: | ||||||
|  |           mode: 0644 | ||||||
|  |           owner: unpoller | ||||||
|  |           group: unpoller | ||||||
|       - src: init/webserver/static/css/* |       - src: init/webserver/static/css/* | ||||||
|         dst: /usr/local/lib/unpoller/web/static/css |         dst: /usr/local/lib/unpoller/web/static/css | ||||||
|         type: config |         type: config | ||||||
|  |         file_info: | ||||||
|  |           mode: 0644 | ||||||
|  |           owner: unpoller | ||||||
|  |           group: unpoller | ||||||
|       - src: init/webserver/static/images/* |       - src: init/webserver/static/images/* | ||||||
|         dst: /usr/local/lib/unpoller/web/static/images |         dst: /usr/local/lib/unpoller/web/static/images | ||||||
|         type: config |         type: config | ||||||
|  |         file_info: | ||||||
|  |           mode: 0644 | ||||||
|  |           owner: unpoller | ||||||
|  |           group: unpoller | ||||||
|       - src: init/webserver/static/js/* |       - src: init/webserver/static/js/* | ||||||
|         dst: /usr/local/lib/unpoller/web/static/js |         dst: /usr/local/lib/unpoller/web/static/js | ||||||
|         type: config |         type: config | ||||||
|  |         file_info: | ||||||
|  |           mode: 0644 | ||||||
|  |           owner: unpoller | ||||||
|  |           group: unpoller | ||||||
|        |        | ||||||
|        |        | ||||||
|     # signing |     # signing | ||||||
|     scripts: |     scripts: | ||||||
|  |       preinstall: "scripts/pre-install.sh" | ||||||
|       postinstall: "scripts/post-install.sh" |       postinstall: "scripts/post-install.sh" | ||||||
|       preremove: "scripts/pre-remove.sh" |       preremove: "scripts/pre-remove.sh" | ||||||
|       postremove: "scripts/post-remove.sh" |       postremove: "scripts/post-remove.sh" | ||||||
|  |  | ||||||
|  | @ -25,21 +25,6 @@ cleanInstall() { | ||||||
|     printf "\033[32m Post Install of an clean install\033[0m\n" |     printf "\033[32m Post Install of an clean install\033[0m\n" | ||||||
|     # Step 3 (clean install), enable the service in the proper way for this platform |     # Step 3 (clean install), enable the service in the proper way for this platform | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
|     if [ "${OS}" = "Linux" ]; then |  | ||||||
|         # Make a user and group for this app, but only if it does not already exist. |  | ||||||
|         id unpoller >/dev/null 2>&1  || \ |  | ||||||
|             useradd --system --user-group --no-create-home --home-dir /tmp --shell /bin/false unpoller |  | ||||||
|     elif [ "${OS}" = "OpenBSD" ]; then |  | ||||||
|         id unpoller >/dev/null 2>&1  || \ |  | ||||||
|             useradd  -g =uid -d /tmp -s /bin/false unpoller |  | ||||||
|     elif [ "${OS}" = "FreeBSD" ]; then |  | ||||||
|         id unpoller >/dev/null 2>&1  || \ |  | ||||||
|             pw useradd unpoller -d /tmp -w no -s /bin/false |  | ||||||
|     else |  | ||||||
|         echo "Unknown OS: ${OS}, please add system user unpoller manually." |  | ||||||
|     fi |  | ||||||
| 
 |  | ||||||
|     if [ "${use_systemctl}" = "False" ]; then |     if [ "${use_systemctl}" = "False" ]; then | ||||||
|         if command -V chkconfig >/dev/null 2>&1; then |         if command -V chkconfig >/dev/null 2>&1; then | ||||||
|           chkconfig --add unpoller |           chkconfig --add unpoller | ||||||
|  |  | ||||||
|  | @ -0,0 +1,18 @@ | ||||||
|  | #!/bin/sh | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | OS="$(uname -s)" | ||||||
|  | 
 | ||||||
|  | if [ "${OS}" = "Linux" ]; then | ||||||
|  |     # Make a user and group for this app, but only if it does not already exist. | ||||||
|  |     id unpoller >/dev/null 2>&1  || \ | ||||||
|  |         useradd --system --user-group --no-create-home --home-dir /tmp --shell /bin/false unpoller | ||||||
|  | elif [ "${OS}" = "OpenBSD" ]; then | ||||||
|  |     id unpoller >/dev/null 2>&1  || \ | ||||||
|  |         useradd  -g =uid -d /tmp -s /bin/false unpoller | ||||||
|  | elif [ "${OS}" = "FreeBSD" ]; then | ||||||
|  |     id unpoller >/dev/null 2>&1  || \ | ||||||
|  |         pw useradd unpoller -d /tmp -w no -s /bin/false | ||||||
|  | else | ||||||
|  |     echo "Unknown OS: ${OS}, please add system user unpoller manually." | ||||||
|  | fi | ||||||
		Loading…
	
		Reference in New Issue