summaryrefslogtreecommitdiff
path: root/src/common
diff options
context:
space:
mode:
authorDaniel Kahn Gillmor <dkg@fifthhorseman.net>2008-09-13 13:26:39 -0400
committerDaniel Kahn Gillmor <dkg@fifthhorseman.net>2008-09-13 13:26:39 -0400
commit531e08b2394fb7935fdd128f52445e5191c8ca6b (patch)
treef5463960d2dfa3ee19b53145bc040981fd287faf /src/common
parentc34410402a7e49030666553c731c267e14e9a508 (diff)
replace stat with ls (sigh) and make su more portable.
Diffstat (limited to 'src/common')
-rw-r--r--src/common11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/common b/src/common
index 48739d9..22ed1b1 100644
--- a/src/common
+++ b/src/common
@@ -399,9 +399,9 @@ check_key_file_permissions() {
local gAccess
local oAccess
- # function to check that an octal corresponds to writability
+ # function to check that the given permission corresponds to writability
is_write() {
- [ "$1" -eq 2 -o "$1" -eq 3 -o "$1" -eq 6 -o "$1" -eq 7 ]
+ [ "$1" = "w" ]
}
user="$1"
@@ -410,10 +410,9 @@ check_key_file_permissions() {
# return 0 is path does not exist
[ -e "$path" ] || return 0
- owner=$(stat --format '%U' "$path")
- access=$(stat --format '%a' "$path")
- gAccess=$(echo "$access" | cut -c2)
- oAccess=$(echo "$access" | cut -c3)
+ owner=$(ls -l "$path" | awk '{ print $3 }')
+ gAccess=$(ls -l "$path" | cut -c6)
+ oAccess=$(ls -l "$path" | cut -c9)
# check owner
if [ "$owner" != "$user" -a "$owner" != 'root' ] ; then