Merge branch 'nogetent-group' into 'master'
[__group] Fall back to /etc files if getent(1) is not available See merge request ungleich-public/cdist!798
This commit is contained in:
		
				commit
				
					
						65f9161352
					
				
			
		
					 2 changed files with 40 additions and 9 deletions
				
			
		| 
						 | 
					@ -1,6 +1,7 @@
 | 
				
			||||||
#!/bin/sh
 | 
					#!/bin/sh
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
# 2011-2015 Steven Armstrong (steven-cdist at armstrong.cc)
 | 
					# 2011-2015 Steven Armstrong (steven-cdist at armstrong.cc)
 | 
				
			||||||
 | 
					# 2019 Dennis Camera (dennis.camera at ssrq-sds-fds.ch)
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
# This file is part of cdist.
 | 
					# This file is part of cdist.
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
| 
						 | 
					@ -21,7 +22,21 @@
 | 
				
			||||||
# Get an existing groups group entry.
 | 
					# Get an existing groups group entry.
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					not_supported() {
 | 
				
			||||||
 | 
						echo "Your operating system ($("$__explorer/os")) is currently not supported." >&2
 | 
				
			||||||
 | 
						echo "Cannot extract group information." >&2
 | 
				
			||||||
 | 
						echo "Please contribute an implementation for it if you can." >&2
 | 
				
			||||||
 | 
						exit 1
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
name=$__object_id
 | 
					name=$__object_id
 | 
				
			||||||
 | 
					
 | 
				
			||||||
getent group "$name" || true
 | 
					if command -v getent >/dev/null
 | 
				
			||||||
 | 
					then
 | 
				
			||||||
 | 
						getent group "$name" || true
 | 
				
			||||||
 | 
					elif [ -f /etc/group ]
 | 
				
			||||||
 | 
					then
 | 
				
			||||||
 | 
						grep "^${name}:" /etc/group || true
 | 
				
			||||||
 | 
					else
 | 
				
			||||||
 | 
						not_supported
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,7 @@
 | 
				
			||||||
#!/bin/sh
 | 
					#!/bin/sh
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
# 2011-2015 Steven Armstrong (steven-cdist at armstrong.cc)
 | 
					# 2011-2015 Steven Armstrong (steven-cdist at armstrong.cc)
 | 
				
			||||||
 | 
					# 2019 Dennis Camera (dennis.camera at ssrq-sds-fds.ch)
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
# This file is part of cdist.
 | 
					# This file is part of cdist.
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
| 
						 | 
					@ -22,13 +23,28 @@
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
name=$__object_id
 | 
					name=$__object_id
 | 
				
			||||||
os="$("$__explorer/os")"
 | 
					os=$("$__explorer/os")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
case "$os" in
 | 
					not_supported() {
 | 
				
			||||||
 | 
						echo "Your operating system ($os) is currently not supported." >&2
 | 
				
			||||||
 | 
						echo "Cannot extract group information." >&2
 | 
				
			||||||
 | 
						echo "Please contribute an implementation for it if you can." >&2
 | 
				
			||||||
 | 
						exit 1
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					case $os in
 | 
				
			||||||
	"freebsd"|"netbsd")
 | 
						"freebsd"|"netbsd")
 | 
				
			||||||
	echo "$os does not have getent gshadow"
 | 
							echo "$os does not have getent gshadow" >&2
 | 
				
			||||||
		exit 0
 | 
							exit 0
 | 
				
			||||||
	;;
 | 
						;;
 | 
				
			||||||
esac
 | 
					esac
 | 
				
			||||||
 | 
					
 | 
				
			||||||
getent gshadow "$name" || true
 | 
					if command -v getent >/dev/null
 | 
				
			||||||
 | 
					then
 | 
				
			||||||
 | 
						getent gshadow "$name" || true
 | 
				
			||||||
 | 
					elif [ -f /etc/gshadow ]
 | 
				
			||||||
 | 
					then
 | 
				
			||||||
 | 
						grep "^${name}:" /etc/gshadow || true
 | 
				
			||||||
 | 
					else
 | 
				
			||||||
 | 
						not_supported
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue