Add the option -allow_other to upspinfs

Fix #615.

This allows the user to specify the flag -allow_other when mounting
an upspinfs endpoint so that the upspin filesystem becomes visible
to other users of the same system.

I like to use upspinfs for development across different machines.
Building in a docker container ensures a uniform build environment no
matter what machine I happen to be using at present.  Without
-allow_other, the user that runs the docker daemon (initially root)
can't see the mount point and `docker run` will fail, and crash my
dreams of a remote filesystem.

For some background see a similar issue here:
https://github.com/moby/moby/issues/27026#issuecomment-253579983

Allowing others to see your files in upspin is probably a bad idea in
general, as it allows the users to circumvent upspinfs permissions.  The
user should probably make sure they are aware who can access their mount
point to begin with.

However, given that (1) for this flag to work, the system administrator
needs to allow the action explicitly by allowing the flag in
/etc/fuse.conf, and (2) the user may always choose to give their
credentials away to whomever they want, it seems OK to allow the flag
to exist as long as the user and the admin both know what they are doing.

Change-Id: Ib14554875ce01127eac23ee7293774545f8b4da6
Reviewed-on: https://upspin-review.googlesource.com/c/19260
Reviewed-by: Andrew Gerrand <adg@golang.org>
3 files changed
tree: 314007fc7fda871bde9bfb526a8055da2cabc1d9
  1. .travis.yml
  2. AUTHORS
  3. CONDUCT.md
  4. CONTRIBUTING.md
  5. CONTRIBUTORS
  6. Gopkg.lock
  7. Gopkg.toml
  8. LICENSE
  9. PATENTS
  10. README.binary
  11. README.md
  12. access/
  13. bind/
  14. cache/
  15. client/
  16. cloud/
  17. cmd/
  18. config/
  19. dir/
  20. doc/
  21. errors/
  22. factotum/
  23. flags/
  24. key/
  25. log/
  26. metric/
  27. pack/
  28. path/
  29. rpc/
  30. serverutil/
  31. shutdown/
  32. store/
  33. subcmd/
  34. test/
  35. transports/
  36. upbox/
  37. upspin/
  38. user/
  39. valid/
  40. vendor/
  41. version/
README.md

Upspin

Augie

Documentation: upspin.io

About the project

Upspin is an experimental project to build a framework for naming and sharing files and other data securely, uniformly, and globally: a global name system of sorts.

It is not a file system, but a set of protocols and reference implementations that can be used to join things like file systems and other storage services to the name space.

Performance is not a primary goal. Uniformity and security are.

Upspin is not an official Google product.

Status

Upspin has rough edges, and is not yet suitable for non-technical users.

Build Status

Contributing

The code repository lives at upspin.googlesource.com and is mirrored to GitHub.

Note that the Upspin project does not use GitHub pull requests, and that we use the issue tracker for bug reports and proposals only.

See the Contribution Guidelines for more information on contributing to the project.

Reporting issues

Please report issues through our issue tracker.

Community

All Upspin users should subscribe to the Upspin Announcements mailing list to receive critical information about the project.

Use the Upspin mailing list for discussion about Upspin use and development.

Code of Conduct

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

The Upspin mascot is Copyright 2017 Renee French. All Rights Reserved.