diff options
| author | nico <nico@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2011-11-09 00:23:58 +0000 | 
|---|---|---|
| committer | nico <nico@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2011-11-09 00:23:58 +0000 | 
| commit | 6338cb5b06912d6020fac98eaaaf24f0ba1dde8a (patch) | |
| tree | 04dab6a5c047d1027c0d59900433d2bef59c1277 /package/base-files/files/lib | |
| parent | dbfb36880475206561f55dd8a65be3d379edbef0 (diff) | |
package/base-files: /lib/functions.sh: add {group,user}_{add,exists} functions
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@28871 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/base-files/files/lib')
| -rwxr-xr-x | package/base-files/files/lib/functions.sh | 37 | 
1 files changed, 37 insertions, 0 deletions
| diff --git a/package/base-files/files/lib/functions.sh b/package/base-files/files/lib/functions.sh index 43ce60ee1..a89a3e91b 100755 --- a/package/base-files/files/lib/functions.sh +++ b/package/base-files/files/lib/functions.sh @@ -389,6 +389,43 @@ __END_OF_WARNING__  } +group_add() { +	local name="$1" +	local gid="$2" +	local rc +	[ -f "${IPKG_INSTROOT}/etc/group" ] || return 1 +	[ -n "$IPKG_INSTROOT" ] || lock /var/lock/group +	echo "${name}:x:${gid}:" >> ${IPKG_INSTROOT}/etc/group +	rc=$? +	[ -n "$IPKG_INSTROOT" ] || lock -u /var/lock/group +	return $rc +} + +group_exists() { +	grep -qs "^${1}:" ${IPKG_INSTROOT}/etc/group +} + +user_add() { +	local name="${1}" +	local uid="${2}" +	local gid="${3:-$2}" +	local desc="${4:-$1}" +	local home="${5:-/var/run/$1}" +	local shell="${6:-/bin/false}" +	local rc +	[ -f "${IPKG_INSTROOT}/etc/passwd" ] || return 1 +	[ -n "$IPKG_INSTROOT" ] || lock /var/lock/passwd +	echo "${name}:x:${uid}:${gid}:${desc}:${home}:${shell}" >> ${IPKG_INSTROOT}/etc/passwd +	rc=$? +	[ -n "$IPKG_INSTROOT" ] || lock -u /var/lock/passwd +	return $rc +} + +user_exists() { +	grep -qs "^${1}:" ${IPKG_INSTROOT}/etc/passwd +} + +  pi_include() {  	if [ -f "/tmp/overlay/$1" ]; then  		. "/tmp/overlay/$1" | 
