Guest User

Untitled

a guest
Oct 29th, 2018
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.48 KB | None | 0 0
  1. package main
  2.  
  3. import "os"
  4. import "fmt"
  5.  
  6. import "github.com/hacdias/fileutils"
  7. import "github.com/asdine/storm"
  8. import fb "github.com/filebrowser/filebrowser/lib"
  9. import "github.com/filebrowser/filebrowser/lib/bolt"
  10.  
  11. var DefaultUser = fb.User{
  12. AllowCommands: false,
  13. AllowEdit: true,
  14. AllowNew: true,
  15. AllowPublish: false,
  16. LockPassword: true,
  17. Commands: []string{},
  18. Rules: []*fb.Rule{},
  19. CSS: "",
  20. Admin: false,
  21. Locale: "",
  22. Scope: ".",
  23. FileSystem: fileutils.Dir("."),
  24. ViewMode: "mosaic",
  25. }
  26.  
  27. func main () {
  28. if len(os.Args) != 3 {
  29. fmt.Println ("[Error] Missing username or password")
  30. fmt.Println ("[Info] Usage:", os.Args [0], "<username> <passwd>")
  31. os.Exit (1)
  32. }
  33.  
  34. db, err := storm.Open("filebrowser.db")
  35. if err != nil {
  36. fmt.Println ("[Error] Something goes wrong with the \"filebrowser.db\"")
  37. os.Exit (1)
  38. }
  39.  
  40. Username := os.Args [1]
  41. Password := os.Args [2]
  42. Scope := "./student/" + Username
  43.  
  44. u := DefaultUser
  45. u.Username = Username
  46. u.Password, _ = fb.HashPassword (Password)
  47. u.Scope = Scope
  48. u.FileSystem = fileutils.Dir (Scope)
  49.  
  50. userStore := bolt.UsersStore{DB: db}
  51. err = userStore.Save (&u)
  52. if err != nil {
  53. fmt.Println ("[Error] Something goes wrong while creating", Username)
  54. os.Exit (1)
  55. }
  56.  
  57. err = os.MkdirAll(Scope, os.ModePerm)
  58. if err != nil {
  59. fmt.Println ("[Error] Something goes wrong while creating scope of", Username)
  60. os.Exit (1)
  61. }
  62.  
  63. defer db.Close()
  64. }
Add Comment
Please, Sign In to add comment