create-solana-user.sh 834 B

123456789101112131415161718192021222324252627282930313233
  1. #!/usr/bin/env bash
  2. set -ex
  3. [[ $(uname) = Linux ]] || exit 1
  4. [[ $USER = root ]] || exit 1
  5. if grep -q solana /etc/passwd ; then
  6. echo "User solana already exists"
  7. else
  8. adduser solana --gecos "" --disabled-password --quiet
  9. adduser solana sudo
  10. adduser solana adm
  11. echo "solana ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
  12. id solana
  13. [[ -r /solana-scratch/id_ecdsa ]] || exit 1
  14. [[ -r /solana-scratch/id_ecdsa.pub ]] || exit 1
  15. sudo -u solana bash -c "
  16. echo 'PATH=\"/home/solana/.cargo/bin:$PATH\"' > /home/solana/.profile
  17. mkdir -p /home/solana/.ssh/
  18. cd /home/solana/.ssh/
  19. cp /solana-scratch/id_ecdsa.pub authorized_keys
  20. umask 377
  21. cp /solana-scratch/id_ecdsa id_ecdsa
  22. echo \"
  23. Host *
  24. BatchMode yes
  25. IdentityFile ~/.ssh/id_ecdsa
  26. StrictHostKeyChecking no
  27. \" > config
  28. "
  29. fi