v-list-fs-directory 638 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. #!/bin/bash
  2. # File list wrapper
  3. user=$1
  4. path=$2
  5. # Checking arguments
  6. if [ -z "$user" ]; then
  7. echo "Usage: USER [PATH]"
  8. exit 1
  9. fi
  10. # Checking users
  11. if [ ! -e "$VESTA/data/users/$user" ]; then
  12. exit 1
  13. fi
  14. # Checking homedir
  15. homedir=$(grep "^$user:" /etc/passwd | cut -f 6 -d :)
  16. if [ -z $homedir ]; then
  17. exit 1
  18. fi
  19. # Checking path
  20. if [ ! -z "$path" ]; then
  21. # Validating absolute path
  22. rpath=$(readlink -f "$path")
  23. if [ -z "$(echo $rpath |grep $homedir)" ]; then
  24. exit 1
  25. fi
  26. else
  27. path=$homedir
  28. fi
  29. # Listing files
  30. find "$path" -maxdepth 1 -printf "%y|%m|%TY-%Tm-%Td|%TH:%TM:%TS|%u|%g|%s|%P\n"
  31. exit