X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;ds=sidebyside;f=src%2Fshare%2Fcommon;h=11e7969952f2b8dfb2cca4f1f87cd4959ca38f89;hb=c2a85da2be8f884cb7e96f05d8a37dcb6ddd80b5;hp=04fe4fe462e9c7a540c5a582f2b50ffa4fbb387f;hpb=c0724b8e7aefd9ced1740a970941928f5b168b2b;p=monkeysphere.git diff --git a/src/share/common b/src/share/common index 04fe4fe..11e7969 100644 --- a/src/share/common +++ b/src/share/common @@ -254,7 +254,7 @@ check_capability() { file_hash() { if type md5sum &>/dev/null ; then md5sum "$1" - elif type lockfile &>/dev/null ; then + elif type md5 &>/dev/null ; then md5 "$1" else failure "Neither md5sum nor md5 are in the path!" @@ -390,7 +390,7 @@ translate_ssh_variables() { path="$2" # get the user's home directory - userHome=$(getent passwd "$uname" | cut -d: -f6) + userHome=$(get_homedir "$uname") # translate '%u' to user name path=${path/\%u/"$uname"} @@ -445,7 +445,7 @@ check_key_file_permissions() { # return 2 if path has group or other writability if is_write "$gAccess" || is_write "$oAccess" ; then log error "improper group or other writability on path '$path':" - log error " group: $gAccess, other: $oAcess" + log error " group: $gAccess, other: $oAccess" return 2 fi @@ -458,6 +458,25 @@ check_key_file_permissions() { fi } +# return a list of all users on the system +list_users() { + if type getent &>/dev/null ; then + # for linux and FreeBSD systems + getent passwd | cut -d: -f1 + elif type dscl &>/dev/null ; then + # for Darwin systems + dscl localhost -list /Search/Users + else + failure "Neither getent or dscl is in the path! Could not determine list of users." + fi +} + +# return the path to the home directory of a user +get_homedir() { + local uname=${1:-`whoami`} + eval "echo ~${uname}" +} + ### CONVERSION UTILITIES # output the ssh key for a given key ID