X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=src%2Fshare%2Fcommon;h=c10e71b5c3f87485ef9e64966db50a3af8948a8d;hb=72721ebd269341e82b8e477d78a7f041d3639129;hp=bd887d39b410d333badc6048b08d5e777322ce4b;hpb=9eb1c769ec82b339079ba786fce9592ec846f115;p=monkeysphere.git diff --git a/src/share/common b/src/share/common index bd887d3..c10e71b 100644 --- a/src/share/common +++ b/src/share/common @@ -291,7 +291,8 @@ Please specify how long the key should be valid. y = key expires in n years EOF while [ -z "$keyExpire" ] ; do - read -p "Key is valid for? (0) " keyExpire + printf "Key is valid for? (0) " >&2 + read keyExpire if ! test_gpg_expire ${keyExpire:=0} ; then echo "invalid value" >&2 unset keyExpire @@ -483,6 +484,12 @@ get_homedir() { eval "echo ~${uname}" } +# return the primary group of a user +get_primary_group() { + local uname=${1:-`whoami`} + groups "$uname" | sed 's/^..* : //' | awk '{ print $1 }' +} + ### CONVERSION UTILITIES # output the ssh key for a given key ID @@ -889,7 +896,10 @@ update_known_hosts() { # touch the known_hosts file so that the file permission check # below won't fail upon not finding the file - (umask 0022 && touch "$KNOWN_HOSTS") + if [ ! -f "$KNOWN_HOSTS" ]; then + [ -d $(dirname "$KNOWN_HOSTS") ] || mkdir -m 0700 $(dirname "$KNOWN_HOSTS") + touch "$KNOWN_HOSTS" + fi # check permissions on the known_hosts file path check_key_file_permissions $(whoami) "$KNOWN_HOSTS" || failure