Slashdot Mirror


Mount Remote Filesystems via SSH

eval writes "Ever wanted secure access to your files at work or school, but didn't have the necessary permissions or were thwarted by a firewall that allowed ssh access only? The SHFS kernel module allows you to mount directories from machines to which you have shell access. File operations are executed as shell commands on the server via SSH (or rsh). Caching keeps it reasonably fast, and remote commands are optimized based on the server's OS."

269 comments

  1. Adventure by LordKaT · · Score: 0, Flamebait

    Woohoo! Now I can mount my linux system from the windows 98 network at my college and play Adventure! w00t! --LordKaT

    1. Re:Adventure by Anonymous Coward · · Score: 0
      Now I can mount my linux system from the windows 98 network at my college and play Adventure!
      I assume you're doing this from a linux system connected to said windows 98 network at your college. As far as I can tell, the "client" is only available as a linux kernel module (and probably will never be ported to run as a Windows NT service, due to the fact that everybody hates micro$oft).
    2. Re:Adventure by LordKaT · · Score: 1
      It was a joke, silly :p

      In any case, yes, I did think about that, but it's really funnier if I mount it from windows98 to linux. I mean, hey, most linux distro's come with the BSd games, but windows? Pfeh, Hearts. whoopdi-fucking-do.

    3. Re:Adventure by Anonymous Coward · · Score: 0

      uhm.... NFS over SSH?

    4. Re:Adventure by msh104 · · Score: 0

      NFS over ssh... NO, not needed. nfs4 is going to have encryption. ( thanks to the kernel people who let crypto into the 2.6 kernel ). nfs4 is much better that shfs thingy ( though it would be fun through internet since most people have an ssh server running somewhere and many don't have nfs ) nfs4 is allowing clients multiple users to use the same share with only one mount and all have there files mapped under there own user and group ID. the advantage of shfs is that it is widely used so i am going to love this program.

  2. Neato by bjr_cpan · · Score: 0

    I assume that this will be the first step to just using SSL-encrypted NFS. Oh wait... Aren't there operating systems that already do that? -- Brian 'Of course it runs NetBSD!'

    1. Re:Neato by tzanger · · Score: 4, Informative

      I dunno, I run my NFS over IPSec and it seems to work just fine. A simple script to block any NFS access that isn't coming in on an ipsec interface and you're all set. rpcinfo and some awk, that's all it takes.

  3. SSH all the way by Unixinvid · · Score: 1

    I love SSH its one of the best ways deliver stuff to your server I am running mine with Mac OS X. I like the speed and dependibility, and also its more secure then FTP. In the Matrix Reloaded they use SSH to access the buildings power which I find to be very accuarte.

    1. Re:SSH all the way by Anonymous Coward · · Score: 0

      In Matrix Reloaded they don't just use SSH--they exploit SSH. They use a known bug to break into the system.

      It was covered here

  4. Great! by Anonymous Coward · · Score: 5, Funny

    Now my web hosting company will probably take away ssh access. Thanks Linux hackers!

    1. Re:Great! by Anonymous Coward · · Score: 0

      don't you have cartoons to watch? eat your cereal and have a nice big cup of stfu.

    2. Re:Great! by Anonymous Coward · · Score: 0

      But you have to eat cereal out of that cup, per your post's parent. Do you really want to do so while it's lodged in his anus?

    3. Re:Great! by Anonymous Coward · · Score: 0

      stfu, much like Shut the Hell Up, but completely different from Seven Up, is served only in glasses. Nice, tall, cool glasses.

      In the future, please keep this in mind.

    4. Re:Great! by Debian+Troll+Returns · · Score: 1

      something a lot of people might not be aware of is that apt-get supports remote access to files over ssh.

      of course, the remote files in question have to end in the '.deb' suffix, but being able to retrieve files from any computer by just saying "apt-get user@host:/my/file.deb" is pretty powerful.

      before too long, you too may find, as i have, that it is just easier to name all your files in .deb, just to allow their painless retrieval using this powerful and much underappreciated tool.

    5. Re:Great! by Anonymous Coward · · Score: 0

      but being able to retrieve files from any computer by just saying "apt-get user@host:/my/file.deb" is pretty powerful.

      try:

      scp user@host.com:path/to/origfile local/path/to/dest

      you can also copy from local to remote

    6. Re:Great! by Debian+Troll+Returns · · Score: 1

      you fool.

  5. If you don't have permissions... by jdhutchins · · Score: 2, Interesting

    If you don't have permissions to use network connections other than SSH, are you going to have permissions to mount a filesystem on the computer? The computers at my school (a high school) won't let you access explorer (or at least you're not supposed to). I can see its use for machines at your job, though, because there you would be able to mount filesystems.

    1. Re:If you don't have permissions... by wowbagger · · Score: 5, Informative
      f you don't have permissions to use network connections other than SSH, are you going to have permissions to mount a filesystem on the computer?


      Could be: for example, where I work I'm behind a corporate firewall, but I have admin rights on my workstation. As a result, I could very easily mount a remote file system via SSH. In fact, since I administer an FTP server that is outside the firewall, being able to mount it as a file system in a secure fashion would be quite useful.

      Just because network ingress is controlled does not mean that your workstation is controlled. In many ways, this is no different than you burning a CD of your files at home and bringing that into work - the infection/cracking risk is the same. If you are not allowed to mount an external file system then you should not be allowed to mount a local file system.

      However, just because you CAN access your home machine does not mean you SHOULD.
    2. Re:If you don't have permissions... by infolib · · Score: 2, Interesting

      Well I think it sounds useful, and my situation's rather common:

      I have an account at the university, and I like to work with the files there from home. (or the other way round). It's annoying to scp my files back and forth. (Even though konqueror can show sftp://me@my-uni as "just another folder"). If I can have it completely integrated, I'm all for it - then I could keep the relevant files at my nightly-backed-up university account, and it would seem like a folder on my harddrive at home. (slightly "W00T!")

      --
      Any sufficiently advanced libertarian utopia is indistinguishable from government.
  6. LUFS! by Santabutthead · · Score: 5, Informative

    Big deal! I've been doing this for close to a year now, with lufs (http://lufs.sf.net). It's not really the easiest thing to automate but it sure works for day-to-day computing.

    1. Re:LUFS! by Anonymous Coward · · Score: 0

      What is it with this "not invented here" guff? Why not congratulate the people who've done this and stop moaning about how you got there first.

    2. Re:LUFS! by TTimo · · Score: 5, Informative

      Well .. lufs is the main player in userland filesystem stuff really. It has had sshfs functionality for months. Very slick.

      The difference seems to be that SHFS does some amount of caching, which lufs doesn't do afaik. This has a good chance to improve performance.

    3. Re:LUFS! by clump · · Score: 5, Informative

      LUFS deserves a lot of credit. I now use LUFS's SSHFS to mount my remote file volumes, whereas I previously used a tunneled NFS setup. The latter is a bear to setup but wonderful when operating. LUFS's SSHFS on the other hand requires zero setup on the server, no portmapper on either client or server, and is much easier to automate and control.

      I am looking forward to trying SHFS, but currently very much enjoy LUFS and the hard work put in by its authors. And that means your work on it too, TTimo ;)

    4. Re:LUFS! by Nucleon500 · · Score: 2, Insightful

      I think technically, I'd rather see LUFS add this caching and do better. I really think SSH isn't something that should be in the kernel, and it isn't really necessary for performance reasons.

    5. Re:LUFS! by Donald+Knuth · · Score: 0, Flamebait

      It just so happens that a largish minority of the readers here seem to have some sort of manic inferiority complex, which drives them to post condesending and uninformed clap-trap unceasingly - mostly about projects and code they've never even bothered to look at.

      I imagine it's some sort of piss-poor substitute for feeling good about oneself, though we'd have to ask your parent article's author to be sure.

      --
      - M.C. Knuth

    6. Re:LUFS! by Erik+Hollensbe · · Score: 3, Informative

      It needs it because it's a filesystem driver. Somewhere along the chain, LUFS needs it too.

      BTW, if you really want to play with good ideas for kernel modules, get the cryptoAPI patches and compile openSSL to use them (which requires more patches, IIRC).

    7. Re:LUFS! by Xpilot · · Score: 1

      I can't get localfs to work. Every time I mount the local filesystem, I can't view any files in the mount point. Typing ls just makes the shell hang.

      What am I doing wrong?

      --
      "Backups are for wimps. Real men upload their data to an FTP site and have everyone else mirror it." -- Linus Torvalds
  7. Good idea but... by Vorgo · · Score: 3, Insightful

    This is a good idea, however there is one problem with the way that the problem is presented above:
    If you're at work or school, are you really going to be able to insert a kernel module on the machine you're on? Generally I would think that you do not have sufficient permissions on the local machine.

    --
    A new feature is just a bug waiting to happen. And vice versa.
    1. Re:Good idea but... by skurken · · Score: 5, Informative

      No I think it's ment to be used the other way around. This way, I can mount my UN*X school account that allows shell access on my Linux computer at home (where you usually have root access). /S

    2. Re:Good idea but... by Vorgo · · Score: 1

      Ah, yes.

      I do believe that you are correct.
      That makes much more sense when you use it like that.

      Although it would be pretty cool if the sys admin in the school labs would install the kernal module for the students so they could mount their home computer partitions.

      --
      A new feature is just a bug waiting to happen. And vice versa.
    3. Re:Good idea but... by Anonymous Coward · · Score: 1, Funny

      Do you not have administrative privileges on your own machine?

    4. Re:Good idea but... by Anonymous Coward · · Score: 0

      Could you, good sir, please tell me what a "kernal" is, and if it might be, perhance related to the kernel we're discussing?

    5. Re:Good idea but... by Vorgo · · Score: 1

      Certainly!

      "kernal" appears to be very similar to "kernel". Most people will overlook the difference between these two.
      However the prior has been known to be used as troll bait.

      --
      A new feature is just a bug waiting to happen. And vice versa.
  8. Another option by Guiri · · Score: 5, Informative

    Just type fish://user@host in your Konqueror location bar ;). It works great!

    1. Re:Another option by mosch · · Score: 4, Insightful
      fish is a great idea, implemented in the completely incorrect location. This kernel module gets it right.

      Filesystems should be handled by the operating system, not the window manager.

    2. Re:Another option by oliverthered · · Score: 3, Interesting

      That's a shortfall of the kernel not KDE.

      Why arn't all the kioslave protocols in the kernel?

      camera:\\
      ftp:\\
      http:\\
      fish:\\
      etc....

      --
      thank God the internet isn't a human right.
    3. Re:Another option by sfraggle · · Score: 4, Insightful
      While I'm not a huge fan of microkernels, this is one area where a system like the Hurd has advantages over Linux.

      In the Hurd all the filesystems are done by userspace programs called "translators". So to access your local filesystem you have an ext2 translator which accesses it. You can write your own translators - I believe they have a system to access remote systems via FTP.

      Both fish/gnome-vfs and the kernel module system seem wrong to me. With kernel modules you have to be root to load them, but on the other hand its bad to be remaking the wheel by rewriting the filesystem in user space (plus, it only works with programs that are designed to use it).

      It would be nice if the kernel module was added to the main kernel and offered as a "standard" system where nonprivileged users can mount their own filesystems from userspace daemons - Linux is kind of paranoid about non-root users mounting FSes. It would appear to provide the advantages that the Hurd approach brings, while keeping the higher performance of a monolithic kernel (having all FSes in user space like Hurd does seems like a bad idea performance wise)

      --
      were you expecting to see a sig here? perhaps you'd rather see the inside of an ambulance!
    4. Re:Another option by Elbows · · Score: 3, Informative

      Implementing all of them in the kernel would bloat the kernel a lot. What KDE/Gnome should have done (and what LUFS, mentioned in another thread, seems to do), is have a small kernel module that calls a userspace daemon. All of the protocol code stays in userspace, but the kernel module makes the filesystem accessible to all programs. The overhead from the context switch doesn't matter when you're dealing with remote filesystems.

      It's a pretty slick idea, actually... maybe it will be integrated into the major DEs someday.

    5. Re:Another option by Nucleon500 · · Score: 2, Informative
      That's what LUFS does. Someone just needs to either port the kioslaves and gnome-vfs libraries to LUFS or FUSE or rewrite them, whichever is easier. The only advantage of kioslaves and gnome-vfs is that they don't need mounting, so they are more convenient.

      I think the same thing could be done with LUFS, though. Using either automount or a specifically designed LUFS filesystem, make a filesystem where references to a protocol name would cause it to be mounted. For example,

      gqview ~/lufs/camera/pics
      When gqview asked for that dir, lufs-automount would mount the camera filesystem first, and unmount it when done. ~/lufs would be mounted on login.
    6. Re:Another option by amorsen · · Score: 2, Interesting
      Imagine that you gave regular users permission to mount file systems. Then I, the evil user, mount my own /lib and invoke a suid dynamically linked program, say /bin/passwd. The program load libc.so, which happens to be a link to libevil.so. *Poof*, root for me.

      Even if you only allow the user to mount in specially secured areas of the file system you would still have problems. Right now the Linux VFS places a lot of trust in the individual filesystems. A user-mounted file system could contain deliberate errors designed to confuse the Linux VFS. A thorough audit would be needed.

      --
      Finally! A year of moderation! Ready for 2019?
    7. Re:Another option by Yottabyte84 · · Score: 1

      Is this part of a stock KDE install now?

    8. Re:Another option by Spy+Hunter · · Score: 5, Informative
      I would say you're right, except the kernel does a lousy job of implementing filesystems in a user-friendly way. KDE IOSlaves are so much cooler for several reasons:
      1. They use URLs everywhere, which makes it easy to access local and remote files anywhere using any protocol from any application.
      2. New filesystems can be installed and activated by the user, you don't need a kernel module.
      3. You don't have to mount anything anywhere.
      4. Non-filesystem like protocols such as HTTP and POP3 can be easily implemented as IOSlaves and then used from any application.

      These features make IOSlaves much cooler than kernel filesystems IMHO.
      --
      main(c,r){for(r=32;r;) printf(++c>31?c=!r--,"\n":c<r?" ":~c&r?" `":" #");}
    9. Re:Another option by Nucleon500 · · Score: 1
      You're right, it would be difficult, though not impossible, to do this securely.

      What you need is a very small, simple, well-written SUID process to do the mounting. You'd need to check permissions on the directory you mount. You'd want to be able to configure where a user can mount stuff. This has been done, look at smbmount and smbumount.

      Then, as you say, the kernel module part of LUFS needs to be very careful, protecting the kernel from overly huge directory structures, malformed calls, indefinite blocking, etc.

      It's difficult, but it can be done.

    10. Re:Another option by Nucleon500 · · Score: 1

      With LUFS, once its module is in, you don't need any other modules, and the user can mount his own filesystems if he has permission to do so. Support is even more uinversal, because the app doesn't need to be KDE or GNOME, it doesn't even need to be dynamically linked (like it would for LD_PRELOAD hacks), absolutely anything can use it. LUFS has 1, 2, and 4 (Gnutellanet, even). I think 3 can be fixed with automount or similar (see my other post). It would be possible to do xmms ~/lufs/gnutella/*/*.

    11. Re:Another option by sfraggle · · Score: 2, Insightful
      Yes, and these are points I've thought about. You'd definitely need some kind of secure interface to check the validity of the filesystem calls (to stop rogue processes from confusing the VFS), but thats pretty much true of all existing calls anyway.


      You'd have to have rules on how the mounting would be done: only mounting on directories owned by the user for example (to stop people doing things like mounting over /lib). And you'd have to place restrictions on the permissions in the mounted FS - like no SUID root binaries (or anyone could mount their own filesystem with an SUID root shell). Linux already does something like this when mounting floppy disks - theres a "nosuid" option.


      These are really implementation details though. They exist because they rely on the idea that "only root can mount filesystems". But I think that the ability for ordinary users to mount filesystems would be really useful. And thinking of it as a concept, I cant really see any logical reason why ordinary users shouldnt be allowed to do it.

      --
      were you expecting to see a sig here? perhaps you'd rather see the inside of an ambulance!
    12. Re:Another option by Nucleon500 · · Score: 3, Insightful

      LUFS or FUSE would be the module you're talking about, which allows you to do filesystems in userspace, and can let users mount them. So Linux can do all three: kernel modules for lean, fast, "real" filesystems, LUFS or FUSE for "exotic" filesystems that shouldn't be in the kernel, and kioslaves and gnome-vfs for those who like reinventing the wheel and want to further bloat their favorite GUI library.

    13. Re:Another option by konmaskisin · · Score: 1

      You forgot: "more easily portable"

    14. Re:Another option by Spy+Hunter · · Score: 4, Interesting

      LUFS is pretty neat, but I think IOSlaves are nicer. LUFS is still tied to the Unix filesystem, which is great for managing local files, but was never designed for anything else. Creating magic directories that cause gnutella searches to be performed is not my idea of a nice interface. IMHO, automount has always been an ugly kludge, and mapping URLs onto the Unix filesystem is not a great solution. How would you handle a URL like:
      http://user:password@host.com/search.pl?param=va lue&param2=value2
      And how would you handle HTTP caching? How would you send POSTs and other types of HTTP requests? Even if you could add all these features to LUFS, it would start getting more and more unweildy to use. And that's just for HTTP.

      --
      main(c,r){for(r=32;r;) printf(++c>31?c=!r--,"\n":c<r?" ":~c&r?" `":" #");}
    15. Re:Another option by treat · · Score: 1
      Imagine that you gave regular users permission to mount file systems.

      This is already commonly done, with the /net automount. Every Linux distribution comes with software to handle this.

      Then I, the evil user, mount my own /lib and invoke a suid dynamically linked program, say /bin/passwd.

      You don't give every user access to mount filesystems at any location. Such filesystems would also obviously be mounted nosuid and nodev, just like /net automounts always have been.

      Right now the Linux VFS places a lot of trust in the individual filesystems. A user-mounted file system could contain deliberate errors designed to confuse the Linux VFS.

      Huh?

    16. Re:Another option by Anonymous Coward · · Score: 0

      /net automount

      The wha?

    17. Re:Another option by Nucleon500 · · Score: 3, Insightful
      I agree the gnet filesystem is a big stretch, and automount is somewhat ugly. I think it's an issue of the right tool: LUFS should only be used for things which directly map to files. Meaning FTP, a subset of HTTP (just downloading, no caching, POST, etc.), Samba, scp, etc. And it's best for connection oriented things where mounting makes sense (otherwise, just use wget or your browser). Anyone who writes a web browser depending on LUFS should be shot, but writing one with IOSlaves or gnome-vfs is cool.

      Mapping most urls to files isn't a great solution, but neither is mapping files to urls. How do you get a directory listing? How do you change permissions? Consider FTP: do you make a new connection for each URL, or do you keep the connection open for a while in hopes of getting another? Mounting makes sense when there's overhead in establishing a connection, be it parsing a filesystem or making a remote connection.

      I guess what I'm saying is that a URL library (IOSlaves and gnome-vfs) is nice to have, and a file system (LUFS, FUSE) is nice, but they shouldn't be one and the same. The URL library can be used for browsers, downloaders, etc, but the filesystem and only the filesystem should be used for naive tools that want to run on a local filesystem.

    18. Re:Another option by the+eric+conspiracy · · Score: 1

      Well, for one thing a lot of broadband service providers block port 139 because it is the target of so many hacking attacks.

    19. Re:Another option by 73939133 · · Score: 4, Interesting

      No, it's a shortfall of KDE developers: instead of spending time on writing Konqueror modules, they could be writing the equivalent kernel modules.

      But that isn't really anything new: a lot of the KDE effort could be written as more independent, stand-alone functionality, useful to lots of non-KDE software. Instead, KDE produces tightly integrated C++ modules that only work if you are running a large amount of KDE support infrastructure.

    20. Re:Another option by Minna+Kirai · · Score: 2, Informative

      That's why you should never ever have dynamically linked setuid programs! (Or, if they do exist, they should give up root before calling any non-static functions. Some programs do that)

      This evil user could just set LD_PRELOAD to his own library, without needing to mess with new filesystems.

      A few years ago, several GNOME programs that were setuid were rearranged to no longer be root, because of this vulnerability. Xcdroast is one of the more famous ones.

      Additionally, in a system where normal users are allowed to mount their own filesystems, they should only be permitted to place them in ~/mnt.

    21. Re:Another option by amorsen · · Score: 1

      LD_PRELOAD is not honoured by suid programs. /usr/bin/passwd is dynamically linked on RedHat 9.

      --
      Finally! A year of moderation! Ready for 2019?
    22. Re:Another option by Anonymous Coward · · Score: 0

      Solaris, bitch.

    23. Re:Another option by BusterB · · Score: 3, Insightful

      Then again, KDE also works in *BSD, Solaris, HP-UX, and even Windows, to name a few. Writing kernel modules that work for every one of these systems would be a bit of a hassle, no? It might not even be possible in a few of these.

      If someone were to implement all of these systems in the kernel, then KDE/GNOME, etc. can already them. In the mean time, this seems to be the best compromise between functionality and portability.

    24. Re:Another option by 73939133 · · Score: 1

      Then again, KDE also works in *BSD, Solaris, HP-UX, and even Windows, to name a few. Writing kernel modules that work for every one of these systems would be a bit of a hassle, no?

      And what good does that do? Yes, I can run KDE on all of those, but each non-KDE application on those platforms is going to see a different file system from KDE applications. So, you have a desktop that integrates poorly on a lot of platforms, as opposed to one that integrates well with the system on a single platform.

    25. Re:Another option by Anonymous Coward · · Score: 0

      You can do that already, no? Create a .so in your directory, change your LD path, and run the suid executable. Would that work?

    26. Re:Another option by Anonymous Coward · · Score: 0

      And how would you handle HTTP caching? How would you send POSTs and other types of HTTP requests?

      Maybe you'd - *gasp* - extend the semantics of the VFS to handle message/packet-oriented devices, indexes, and arbitrary parameters to open().

    27. Re:Another option by be-fan · · Score: 1

      The fish IO-Slave is in the KDE application programming framework, not in the window manager (which is kwin). The KDE folks don't have a lot of say over what goes into the kernel, so putting it in KIO is the best they could do.

      --
      A deep unwavering belief is a sure sign you're missing something...
    28. Re:Another option by be-fan · · Score: 3, Informative

      KDE is an application framework. If you make things independent of each other, you loose a lot of the consistency and integration that makes an application framework so nice to program for in the first place.

      --
      A deep unwavering belief is a sure sign you're missing something...
    29. Re:Another option by cr@ckwhore · · Score: 1

      Umm... you don't know how SSH tunneling works, do you?

      It wouldn't use port 139 ... it would use port 22, the SSH port.

      --
      Skiers and Riders -- http://www.snowjournal.com
    30. Re:Another option by 73939133 · · Score: 1

      you loose a lot of the consistency and integration that makes an application framework so nice to program for in the first place.

      Yes. Too bad that KDE doesn't use the standard application framework on Linux: the Linux kernel and X11.

    31. Re:Another option by Spy+Hunter · · Score: 1
      How do you get a directory listing? How do you change permissions?

      You use the IOSlave's methods for getting directory listings and changing permissions, of course.

      Consider FTP: do you make a new connection for each URL, or do you keep the connection open for a while in hopes of getting another?

      The second way. Also I think that the way IOSlaves work, the application can decide for itself when to open and close connections if it wants.

      --
      main(c,r){for(r=32;r;) printf(++c>31?c=!r--,"\n":c<r?" ":~c&r?" `":" #");}
    32. Re:Another option by seb249 · · Score: 1

      Thankyou for that tip! To be honest i wasnt aware of it how cool :)

    33. Re:Another option by Anonymous Coward · · Score: 0

      This problem is solved with access control lists. With ACL's, you get to decide who gets to mount what where.

    34. Re:Another option by Anonymous Coward · · Score: 0
      Too bad that KDE doesn't use the standard application framework on Linux: the Linux kernel and X11.

      Probably because they're too fucking obsessed with Windows to pay attention to how Linux works.

    35. Re:Another option by be-fan · · Score: 1

      Um, the Linux kernel and X11 aren't application frameworks. They expose very low-level APIs. Once you throw in all the libraries you need to quickly code large applications, you're just reinvented in the KDE framework anyway, just less consistent and less integrated. KDE uses the services of Linux and X11 whenever they exist. QFile is just a nice, portable, C++ wrapper over Linux file descriptors. KDE follows the XDnD protocol, and the the WM specification, uses the X clipboard mechanism, and uses the X ICE protocol as a basis for its DCOP IPC mechanism. Where the Linux kernel and X11 stop, the KDE framework begins, providing additional services like GUI widgets, database access, interapplication communication and embedding, text formattting, HTML display, etc. Most applications these days need access to these features, and it would be stupid for each one to reinvent them every time.

      There is a beauty to a layered architecture. Both the Linux kernel and X11 were designed with a layered architecture in mind. The Linux kernel only includes the minimum of functionality that needs to be in the kernel. It provides simple, basic interfaces to storage, networking, IPC, etc. X11 provides the minimum of functionality that needs to be in the display layer, like context management, window mapping, low-level drawing, and font display. It would be extremely difficult (and stupid) to write an application with just these interfaces, unless you had a very good reason to. Qt and KDE build upon these foundations to provide a portable, complete abstraction upon which applications can be built.

      --
      A deep unwavering belief is a sure sign you're missing something...
    36. Re:Another option by sjames · · Score: 1

      User mounting does require careful thought in order to implement securely. nosuid is a good step. Private namespaces are also a good idea. That is, you may mount your own filesystem as /lib, but only you see that mount. Everyone else gets the regular version. Disallowing LD_PRELOAD is a good step for suid binaries, but really should be static linked. A good answer there is to have a static stub that makes sure nothing wierd is going on, then invokes the intended binary.

    37. Re:Another option by TomorrowPlusX · · Score: 1

      KDE (and, I assume, Gnome) are intentionally not linux specific. They run on anything with X and an unix-ish OS.

      I suppose a kernel module would be OK, as long as the default implementation works as a fallback, but regardless, that's a lot of work for people who aren't all on linux.

      --

      lorem ipsum, dolor sit amet
  9. sftp by Anonymous Coward · · Score: 0

    Wouldn't using the sftp sub-system be better than regular shell commands? Or is this what the sftp sub-system does itself?

    1. Re:sftp by Anonymous Coward · · Score: 0

      sftp uses the secure shell filetransfer protocol, which is defined in the secsh draft. using it would make a lot more sense than relying on shell commands.. although i don't think there's a good, free implementation of the protocol available. especially not in a library that could be reused. openssh's sftp quite honestly sucks.

  10. what's the point? by JustKidding · · Score: 0, Interesting

    now exacly what is wrong with SFTP?
    Putty (windoze ssh client) comes with a secure FTP client, and OpenSSH comes with a SFTP server.
    It's a bit of a hassle to navigate (no command completion), and you have to copy the files to/from your local system, but still... this doesn't really add any new functionality.

    1. Re:what's the point? by kcurrie · · Score: 5, Insightful

      What are you talking about? This makes a remote filesystem appear local, and all local commands work accordingly (i.e. edit a file, play an mp3, etc). With sftp you'd have to sftp a file down to do an operation on it, and then sftp it back up again afterwards, etc/

      I've used lufs with the sshfs and it works great, I've even done compiles on a remote filesystem this way-- you simply cannot do that using just sftp/scp.

      --
      -- I speak only for myself.
    2. Re:what's the point? by Anonymous Coward · · Score: 0
      File operations are executed as shell commands on the server via SSH (or rsh).

      Maybe a mixture of sftp and shell commands would be better suited. Editing bits of files might be faster than downloading the whole thing then reuploading, but I wonder if directory listings would be faster using sftp?

    3. Re:what's the point? by kcurrie · · Score: 1

      After listing the contents once the directory should be buffered making subsequent listings faster.

      --
      -- I speak only for myself.
    4. Re:what's the point? by Anonymous Coward · · Score: 3, Insightful

      I just have to reply...

      Having come from the world of satan (windows) and now firmly embedded in the world of linux I feel qualified to make this observation:

      This is EXACTLY "what is wrong with open source". Not the software, not the thousands of dedicated people who contribute countless hours doing something as a labor of love. But the attitude that usability and ease-of-use are STUPID and not worthy of anyone's time.

      To paraphrase: "If you're too lazy to do it using the extremely flexible but very arcane tool we have developed for you, you don't deserve to use linux."

      Aside from the fact that this actually makes it easy to do something WITH the files, it also makes it substantially easier to get the files in the first place.

      Also, anyone that knows anything about security knows that one of the main reasons security is circumvented is because of inconvenience. This removes that possibility.

      Seriously, if you don't want to use it fine. But why take shots at it for the sake of looking l33t on /.???

    5. Re:what's the point? by Anonymous Coward · · Score: 0

      Do you know how damn slow the transfer is??Obviously you havn't used it much.

    6. Re:what's the point? by Anonymous Coward · · Score: 0

      sftp is a pain in the anus. Not only no autocompletion but no globbing either. No 'ls someletter*' to see what's in a directory. No mget pattern.*

      Open-SSH people should do some work on sftp's lameness, quite apart from kernel modules to allow fs mounting over ssh connections.

    7. Re:what's the point? by Strog · · Score: 1

      I'm not sure what your issue is but wildcards work fine on my sftp servers.

      There are some shells that have worked on supporting tab completion (zsh, etc.) but that is a spotty solution at best. There are several GUI clients that support sftp and the completion issue is non-existant that way. This still only solves a small part of the issue. There was also a patch to put that functionality into OpenSSH but not much seems to have come of that (yet).

      You can use the yafc ftp client since it uses sftp and has tab completion. The commands aren't exactly like ftp but it is very similar. I prefer using scp/sftp for transfering files in conjunction with the scponly shell.

  11. LUFS by zsmooth · · Score: 0, Redundant

    LUFS has done this for more than a year, and not just through ssh. I use it all the time and it works great.

    1. Re:LUFS by schon · · Score: 1

      LUFS has done this for more than a year, and not just through ssh

      LUFS only works with OpenSSH. When using commercial SSH, it fails miserably.

    2. Re:LUFS by Daniel+Phillips · · Score: 1

      LUFS only works with OpenSSH. When using commercial SSH, it fails miserably.

      Or commercial SSH fails miserably.

      --
      Have you got your LWN subscription yet?
    3. Re:LUFS by Anonymous Coward · · Score: 0

      The difference is in the command line arguments invoking SSH (for building the secure connection), which is not too difficult to modify in the source.
      The actual SFTP code is native, and doesn't rely on a specific version of SSH.

      Thanks for everyone mentioning LUFS! If I can come up with a patch to somehow detect the SSH version and adjust the arguments accordingly, I'll surely submit them for the project.

  12. You might want to have a look at... by yanestra · · Score: 5, Informative

    avfs and lufs are much more common solutions to the "mount userland filesystems" problem. Yet, avfs makes it easy to construct your own whatever-you-want filesystem.

    1. Re:You might want to have a look at... by SCY.tSCc. · · Score: 3, Informative

      Don't forget FUSE (filesystem in userspace) by the same author as AVFS. It recently hit version 1.0 BTW.

  13. What's with the... by Xpilot · · Score: 5, Funny

    ..margerine box at the bottom? Is it what the programmers ate during the creation of shfs? Like that apocryphal Java-drinking sessions at Sun? Does margerine have magical caffiene-like properties too?

    --
    "Backups are for wimps. Real men upload their data to an FTP site and have everyone else mirror it." -- Linus Torvalds
    1. Re:What's with the... by Anonymous Coward · · Score: 0

      Only on slashdot will you see a margarine fetish rearing its ugly head!

    2. Re:What's with the... by Anonymous Coward · · Score: 0

      Yes, it leads to a quick death by means of a heart attack. Therefore, those who feast on it will code like mad in order to finish their work before they expire.

  14. What's Wrong with SCP? by Anonymous Coward · · Score: 1, Interesting

    This sounds like a bad idea to me, why allow remote mounting of filesystems, when ssh has a file transfer protocol built into it?

    On any *nix with ssh, you can use either sftp or scp, and even on Win32 platforms, you have WinSCP , secure file transfers without the need for remote mounting.

    1. Re:What's Wrong with SCP? by repetty · · Score: 1

      Transfering a file from a remote server and mounting a remote directory in the local file system are completely different things.

      If might be convenient for some people to use local apps with the remotely mounted directory, I suppose. I could see that.

      --Richard

  15. Some other project does this already by vlad_petric · · Score: 4, Informative
    LUFS - userland filesystem. It's a userland "teleportation" of the VFS infrastructures (a kernel module sends all the queries to a userland daemon, which takes care of the protocol, etc).

    The advantage of this approach is that adding a new filesystem type implies modifying a user-space daemon, not the kernel. LUFS includes, besides sshfs ftpfs, gnomefs, and gnutellafs and a few others

    --

    The Raven

    1. Re:Some other project does this already by mosch · · Score: 4, Informative

      Not really. LUFS can access a machine which you have sftp access to whereas this project allows you to access the filesystem of a machine that you have true shell only access to, as is common especially in some university environments.

    2. Re:Some other project does this already by treat · · Score: 1
      Not really. LUFS can access a machine which you have sftp access to whereas this project allows you to access the filesystem of a machine that you have true shell only access to, as is common especially in some university environments.

      If the admin refuses to install ssh, have him fired. If this doesn't work, install your own copy. It need not run on the default port.

    3. Re:Some other project does this already by mosch · · Score: 1

      An admin can give ssh access without giving sftp access, and they often do for a number of often non-technical reasons. As for installing your own copy, I think it's safe to expect that you'll lose your account if you try to run daemons on university servers.

    4. Re:Some other project does this already by evilviper · · Score: 1

      If you have ssh-access, you have sftp access as well. That's the first thing a SSH admin should learn...

      You don't need sftp to transfer files... Just cat the file on the remote end and redirect the output to a file on the local end, or vise-versa.

      --
      Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
    5. Re:Some other project does this already by devmike · · Score: 1

      besides which, how do you expect to install ssh on a system without...shell access?

      Just a thought.

    6. Re:Some other project does this already by Anonymous Coward · · Score: 0

      You can set up your account so when you send yourself a certain email it runs a shell command through ssh, and it starts an ssh client and connects out to you, not from you to it. I have it then pop up an xterm on my machine.

  16. Yet another option by BlueEar · · Score: 5, Interesting

    This seems to be beta quality code. Thus you might want to try Secure NFS via SSH Tunnel, which provides, accoding to the author Secure NFS (SNFS) via SSH2 tunneling of UDP datagrams, as suggested in the SSH FAQ.

    --
    A religious war is an adult version of a fight over who has the best imaginary friend
    1. Re:Yet another option by TTimo · · Score: 1

      I tried to setup NFS over SSH yesterday actually, and it was hell. Couldn't pull it through.

    2. Re:Yet another option by caluml · · Score: 1
      Can you tunnel udp over SSH? I didn't think you could?

      Slashdot requires you to wait 20 seconds between hitting 'reply' and submitting a comment

      It's been 18 seconds since you hit 'reply'!

    3. Re:Yet another option by TTimo · · Score: 1

      Now that you mention this, I'm not sure .. but NFS has an experimental TCP operation mode too.

    4. Re:Yet another option by TCM · · Score: 1

      Can you tunnel udp over SSH? I didn't think you could?

      I don't think so either, but NFS can be run over TCP as well as UDP.

      --
      Of course it runs NetBSD. BTC: 1NT7QvbetmANwaMzhpVL6
  17. My beef with firewalls.. by wfberg · · Score: 0, Offtopic

    is with the firewalls that block port 22 (ssh) egress entirely.. Especially when they leave 25 (telnet) wide open! Stoopid BigCorps!

    --
    SCO employee? Check out the bounty
    1. Re:My beef with firewalls.. by Anonymous Coward · · Score: 0

      25 isn't telnet.

      they are talking about machines you already have shell access on (via SSH or RSH).

    2. Re:My beef with firewalls.. by Anonymous Coward · · Score: 0

      25 is smtp, used for mail. telnet is 23.

    3. Re:My beef with firewalls.. by sn0wcrash · · Score: 1

      I think you mean 23 (telnet) not 25 (smtp).

    4. Re:My beef with firewalls.. by Ian+the+Terrible · · Score: 5, Funny

      Yeah, that's pretty stupid.

      It's a bitch to get SMTP to work over 23, too.

    5. Re:My beef with firewalls.. by wfberg · · Score: 1

      Yes I did ;-)

      --
      SCO employee? Check out the bounty
    6. Re:My beef with firewalls.. by Anonymous Coward · · Score: 0

      No, but you can telnet to it, and have some fun :)

    7. Re:My beef with firewalls.. by fanatic · · Score: 1

      I thought only the place I worked was that stupid (though they finally fixed this a few years ago). Infuriating.

      --
      "that's not encryption - it's a new perl script that I'm working on..." - from some Matrix parody
    8. Re:My beef with firewalls.. by maharito · · Score: 1

      Well... Because a lot of corporations have clauses in their IS/Internet agreements (which you agree to by signing with the company) that say "we can and do monitor any traffic on our network and reserve the right to restrict access blah blah blah...", it may be perfectly valid for them to block out SSH completely. Once you negotiate your connection via SSH, even snooping the traffic won't tell you much, so your sysadmin can't see that you're perhaps scp-ing files that you shouldn't be over to the competition. On the other hand, it would be pretty obvious if you were doing that via FTP, Kermit, etc. Just the flip side on that... devil's advocate if you will.

    9. Re:My beef with firewalls.. by SoulDrift · · Score: 1

      But if the sysadmin has root access to the computer you are SSH'ing to, he or she can run any kind of logging/file monitoring software he or she likes.

      But it won't necessarily work if your ssh'ing from your corporate computer to one the sysadmin can't log. (although of course, if they're *really* paranoid, they can install keyloggers onto the computers :-) )

  18. Another option with SMB by aldjiblah · · Score: 4, Informative

    An ssh connection forwarding the remote port 139 to 127.0.0.1:139, and then doing smbmount to //127.0.0.1/<mountpoint> - works great, and is practical considering Samba is often already running on the remote side.

    --
    sig sig sputnik
    1. Re:Another option with SMB by Quixotic137 · · Score: 1

      Not secure though.

    2. Re:Another option with SMB by berzerke · · Score: 1

      Maybe it's just me, but I've tried this and gave up. Yes, it works, but performance was horrible, even for a WAN link. SMB was just never designed for WAN work. TCP, OTOH, is a different story.

    3. Re:Another option with SMB by Troed · · Score: 1

      What's not secure about SSH tunneling?

    4. Re:Another option with SMB by Quixotic137 · · Score: 1

      Sorry, I completely missed the ssh part of your post.

    5. Re:Another option with SMB by grasshoppa · · Score: 1

      I ssh tunnel smb between work and home all the time, dsl ( async ) to dsl ( async ). Works fine, if a bit slow, although I admit smb is not designed for it, it will work pretty well.

      Note that I'm not suggesting you stream your home MP3s to work and back ( can you say, shoutcast? :) )

      --
      Mod me down with all of your hatred and your journey towards the dark side will be complete!
    6. Re:Another option with SMB by Anonymous Coward · · Score: 0

      I thought SMB run over TCP...

    7. Re:Another option with SMB by Anonymous Coward · · Score: 0

      Most servers aren't running samba, though.

      Sure, if it's your own computer on both ends, go ahead. But for something like a webserver on a non-Windows network, why you would have samba?

    8. Re:Another option with SMB by berzerke · · Score: 1

      I thought SMB run over TCP...



      It can (and often does). However, there is only so much room for data inside each TCP packet, and, IMHO, SMB is very wasteful of that space. Therein lies the problem. Wasteful -> more packets -> slower speed.

  19. Or... by Greyfox · · Score: 4, Insightful

    Create VPN with freeswan or ppp over ssh, mount remote host from VPN.

    --

    I'm trying to teach myself to set people on fire with my mind... Is it hot in here?

    1. Re:Or... by Abcd1234 · · Score: 1

      Create VPN with freeswan or ppp over ssh, mount remote host from VPN.

      Yes, but:

      1) This is FAR more difficult than just inserting a kernel module and calling "mount" with the appropriate parameters.

      2) It's a total overkill if all you want to do is mount a remote filesystem securely, or through a strict firewall.

    2. Re:Or... by chez69 · · Score: 1

      The problems is that at a lot of places they turn off NFS and don't run SMB to serve files. This makes the only way of transferring files ftp. This new method allows them to have their security checkboxes checked and give the users easier access to their remote home directories.

      --
      PHP is the solution of choice for relaying mysql errors to web users.
    3. Re:Or... by Greyfox · · Score: 1
      1) Fair enough, but if you're going to do it anyway, you can do that too. Setting up an ssh/ppp VPN really isn't that hard and once you do the initial work to put it in place, it becomes as easy as calling mount with the appropriate parameters.

      2) True but if you're that much of a power user, that much is never enough.

      The down side to this is that if your home machine is compromised, the secure network becomes open to attackers. Network administrators don't like that. So you must put a lot of effort into keeping your home system secure as well.

      --

      I'm trying to teach myself to set people on fire with my mind... Is it hot in here?

    4. Re:Or... by mindstrm · · Score: 1

      Isn't much harder? On the contrary
      it's affected by FAR more things

      What if you are behind a NAT box or proxy that won't allow you to use most VPN software?
      What if you don't have remote superuser access?
      etc..etc... etc...

      This is so you can mount anything you have ssh shell access to... that is a WORLD different than setting up a ssh/ppp vpn.

      As for "network adminsitrators" not liking it.. if we don't like it, we don't let you VPN into our secure netowrks in the first place.

    5. Re:Or... by Anonymous Coward · · Score: 0

      Not to mention they most certainly would not allow IPSEC through their firewall while they may allow SSH.

    6. Re:Or... by Anonymous Coward · · Score: 0

      I bet the admin wont let U open an socket under 1024...even if You ask politely. If You set up an sshd listening on a port > 1024 then the malice haxor cant do anything more evil than what U can, but the admin will cut you off next time he/cron checks netstat

  20. Mod parent down by Anonymous Coward · · Score: 0

    You only need to load it on the client machine.

  21. Re:KDE had this for ages! by chez69 · · Score: 1

    This mounts the file system at the OS level. That way emacs, vi, gnome programs, etc. have access to the filesystem, not just KDE.

    --
    PHP is the solution of choice for relaying mysql errors to web users.
  22. Windows? by dnoyeb · · Score: 2, Interesting

    I have been looking for something like this, however my computer is a windows 2000 box, and the computer I connect to is running ssh on RH8. I don't see any that do this for windows yet.

    1. Re:Windows? by Anonymous Coward · · Score: 0

      perhaps winscp? a program that connects via ssh and allows access to your *nix directories... but it does not mount them as local directories,

      perhaps samba server on the nix box w/ssltunnel? or samba over ssh would allow you to mount as local

      hope this helps

    2. Re:Windows? by Anonymous Coward · · Score: 0

      are you using WinSCP yet?

    3. Re:Windows? by Anonymous Coward · · Score: 0

      WebDrive lists some encryption features... Don't know if that's what you need...

    4. Re:Windows? by 'Aikanaka · · Score: 2, Informative

      There is a way to get UNIX/Linux functionality on your Windows box.

      cygwin (www.cygwin.com) has a full implementation of OpenSSH (even includes sshd capability) - plus a whole pile of UNIX/Linux applications that will work ontop of Win2K.

      HTH...

    5. Re:Windows? by harryk · · Score: 1

      If you want to mount the windows file system on your linux box, stick with Samba. This is a proof of concept, and I feel is intended for use in special applications where the only way to get to a different filesystem is available via SSH. There are other possibly less secure/efficient options. While I think its cool to play with, I personally don't have a real need for this. I can see where using this is an NFS would work well. But as someone else posted before, there is an option already for NFS over SSH. Check it here http://www.math.ualberta.ca/imaging/snfs/ my 2cents for what its worth.

      --
      think before you write, it'll save me moderator points.
    6. Re:Windows? by dnoyeb · · Score: 1

      I am using samba. but samba wont go through the firewall. I only allow ssh through the wall, so I need to do it over ssh, whatever it is.

  23. Nothing new, been done before by cce · · Score: 4, Informative
    LUFS (Linux Userland Filesystem) already provides a nicely-developed interface to allow for userspace programs to implement filesystems over exotic protocols like SSH, FTP -- even Gnutella. Another project, FUSE (Filesystem in Userspace, part of AVFS) performs a similar task.

    Moreover, the SHFS project website admits that it's "partially based" on FTPFS; but the FTPFS website says it's now obsolete and recomends using LUFS instead.

    So the question: why did this merit an article? SHFS is just a proof-of-concept project for some kid's operating systems class, and I'll bet that despite the warning ("Warning: This is beta quality code. It was not tested on SMP machine. Backup data before playing with it!") tons of Slashdotters -- most without any kernel-hacking experience -- will have downloaded and perhaps installed it before I finish typing this post. This is dangerous.

    So -- if you want to play with (and implement your own, it's remarkably easy!) fun filesystems, try LUFS or FUSE instead.

    1. Re:Nothing new, been done before by Donald+Knuth · · Score: 4, Insightful

      Why does any software announcement that's posted here always bring out a bunch of elitist trolls? Oh, that's right - because it's not good enough unless it's yours.

      Do you know the authors of shfs, their ages, and what classes they're taking? Have you even downloaded the driver? Compiled it? Actually used it? Have you tested it, exprienced crashed, and therefore empirically come to the conclusion that it's "dangerous"? Or do you just like to play the role of Slashdot nanny?

      Wait, don't answer that. I really don't care.

      *You* should care, however, that you come off looking like a frustrated little prick by shitting on other people's work - for no reason other than to hear your own voice. Nobody wants to read your little pride-ridden, hyper-competitive, and overtly paternalistic little diatribes, no matter how much you think you enjoy writing them.

      Anyway, lighten up and take the post for what it is. And in the future, if you can't say at least one reasonably positive thing about someone else's hard work - do the world a favor and just shut the bloody fuck up.

    2. Re:Nothing new, been done before by berzerke · · Score: 1

      ...why did this merit an article?...



      Well, I found it valuable. I learned 2 new things I may not have found on my own (at least any time soon) from the comments, the fish protocol and LUFS. My web host recently disabled sftp, but not ssh (I have no idea why), so I was back to command line scp (I haven't found a good scp gui for Linux I like yet). Now, I can do GUI file work again. And if not for the article, the comments would have never been posted.



      Sigh. So much to learn! If only I could break this addiction to sleep :)

    3. Re:Nothing new, been done before by Nucleon500 · · Score: 1
      Hmm, I kinda figured you'd had a lower UID, and I didn't expect people who don't use email to read Slashdot.

      Besides, cce's right. The guy who wrote FTPFS now wants everyone to use his more general project, LUFS, which allows you to mount FTP, SSH, and even Gnutella filesystems. IMHO, something that makes a nice interface to bring exotic filesystems out of the kernel, allowing for a much more modular design, is much better than a single purpose kernel filesystem that needs to be insmod'ed and bloats the kernel.

    4. Re:Nothing new, been done before by Anonymous Coward · · Score: 0

      I'm not Donald Knuth; it's just a nickname. More admiration than imitation, I assure you.

    5. Re:Nothing new, been done before by lpontiac · · Score: 0, Troll

      Parent is an obvious troll, moderators on crack as usual. The real Donald Knuth does not and will not ever post on Slashdot, although somehow I suspect our troll here will end up moderated up regularly just like that "head of nintendo research" fellow.

    6. Re:Nothing new, been done before by WindBourne · · Score: 1

      As much as LUFS makes sense for generic solutions, this module acually has some ineresting uses. It should have a smaller size and lower complexity. As long as it is actively developed and debugged, this could be useful for small systems that need simple secure remote access. Long term, though, I like LUFS.

      --
      I prefer the "u" in honour as it seems to be missing these days.
    7. Re:Nothing new, been done before by cce · · Score: 1

      Hah! Except that for a brief moment I thought that the REAL Donald Knuth was pissed off at me for some reason. Good trolling, I suppose ... (are you supposed to commend someone on their trolling?)

    8. Re:Nothing new, been done before by Donald+Knuth · · Score: 1

      Except that for a brief moment I thought that the REAL Donald Knuth was pissed off at me for some reason

      Enough to strike fear in the heart of any mere mortal.

      Good trolling, I suppose ... (are you supposed to commend someone on their trolling?)

      Absolutely. Some of that was serious advice, though - despite it's overworded, forceful, and rather tactless delivery.

    9. Re:Nothing new, been done before by kelnos · · Score: 1

      i don't quite agree here.

      sure, there is another package or two that already does this, and maybe in a "better" way - better in the realm of being more general-purpose and perhaps more forward thinking. but from other posts here (yeah, i'm getting my 'facts' from /. posts; sunk to a new low ^_~), it appears that lufs lacks the caching that has been implemented in shfs, and so doesn't perform very well. a shell-only filesystem implementation would be more likely to be optimised for that purpose (after it is presumably worked on and polished), and would in theory perform better.

      have i tried either of them? no. do i intend to? yes. just saying "it's already been done elsewhere" is a lame reason for passing up on a new technology. if we all felt that way, we'd still all be windows users.

      as for being "dangerous" - give me a break. the only harm i see this causing is to a user's own files. if you want to take that risk and have root on your box, go for it. any ssh server you connect to will have file permissions in place such that you can't muck up anything important, and, if not, using something like shfs on it is the least of their problems.

      and as for why this merits an article on slashdot... well, i like trek as much as the next guy, but if a lego model of the enterprise warrants an article, shfs certainly does as well.

      --
      Xfce: Lighter than some, heavier than others. Just right.
    10. Re:Nothing new, been done before by Anonymous Coward · · Score: 0

      You know, Donald Knuth (or someone claiming to be him) ranting about trolls is no more insightful than any other asshole ranting about trolls.

      It's been said better before and it just feeds the trolls, so why mod him up?

    11. Re:Nothing new, been done before by Anonymous Coward · · Score: 0

      Neither am I, thats why my nick is AC.
      Huh?? What do I mean??? Strange....

    12. Re:Nothing new, been done before by Anonymous Coward · · Score: 0

      Maybe because I actually posted something that included actual content. Unlike your post.

    13. Re:Nothing new, been done before by tedgyz · · Score: 1

      Your point is well taken. I can't speak for the "elitist trolls", but I can share their concerns.

      There are those of us that know better than to rely on a college class project to read and write critical files over a network connection. As soon as I read the nature of the project, I knew it wasn't for me. I need something that is well tested and likely to be updated/fixed.

      The concern lies in those less experienced users that will jump on this thing and then cry when their pr0n collection is all trashed with random bits.

      Elitist trolls? Maybe. Seasoned veterans? Maybe. U decide.

      --
      "No matter where you go, there you are." -- Buckaroo Banzai
    14. Re:Nothing new, been done before by Donald+Knuth · · Score: 0

      Anybody who writes "you" as "U" should die a horrible and bloody death. Seasoned veteran my ass.

  24. Snooze.. by Freston+Youseff · · Score: 0, Flamebait

    We've had something superior to this for about five years now, it's called NFS, the Novell Files Shared. Get with the times people.

    --

    1. Re:Snooze.. by JohnFluxx · · Score: 1

      Maybe you shouldn't snooze so much - you totally missed the point.
      Have a look at other people's comments.

    2. Re:Snooze.. by Anonymous Coward · · Score: 0

      I can't believe how stupid you are. You must be a troll, but then again it would be wrong of me to ever underestimate the stupidity of slashdot posters. Jesus Christ. Just go and die or something, you're just taking up space.

    3. Re:Snooze.. by Anonymous Coward · · Score: 0

      It's more like just under 15 years, but that's OK.

    4. Re:Snooze.. by Anonymous Coward · · Score: 0

      Hah!! NFS is an acronym for Novise File System!!

  25. SFS? by Draghkhar · · Score: 1

    Haven't there already been other projects with similar design goals, like the Self-certifying file system? The authors of SHFS say it's a hack, which has a few drawbacks -- e.g., in generic write operations on non-Linux machines, a separate write() system call is used for each byte! Can anyone comment on the relative merits/demerits of the alternatives?

  26. Gonna try to stay on topic... by rosewood · · Score: 0, Troll

    So, is there any way to get to access to linux directories in winxp other then SMB? I take it that this story is for linux linux only stuff.

    I know it gets asked a lot but I run into all kinds of random linux / networking questions from time to time and I just have no good place to discuss it. Where can I find such a haven.

    1. Re:Gonna try to stay on topic... by Anonymous Coward · · Score: 0

      ftp, sftp, nfs etc - just get the Windows client for whatever service you want to use.

    2. Re:Gonna try to stay on topic... by kelnos · · Score: 1

      i know, i know, don't feed the troll...

      with that said, question: are there any ways to access remote winxp directories using winxp other than SMB (and any other method available on linux that just so happens to be available on windows as well)?

      answer: no. there are countless methods of accessing files on a linux machine. a good number of them are available in some shape or form for windows as well. google is your friend.

      --
      Xfce: Lighter than some, heavier than others. Just right.
    3. Re:Gonna try to stay on topic... by rosewood · · Score: 1

      Feed WHAT troll?

      I cant ask my questions here because they get knocked off topic (rightly so) very quickly.

      I dont know of a good IRC chan that I can actually use.

      What is so wrong about that?

      I was hoping that MAYBE just MAYBE I could get secure access to some of the linux routers Ive setup and vice versa!

      Calling someone a troll is so 1997.

    4. Re:Gonna try to stay on topic... by be-fan · · Score: 1

      This is most definately *not* a troll. The moderator saw "winxp" and his trigger finger twitched. Anyway, as for your question, you can also use NFS. There are NFS clients available for Windows, although I don't know of any free ones. There is a product called PC NFS Pro that runs about $40 dollars. All you have to do is create an NFS share on your Linux system, and you can mount it through the NFS client on the XP system.

      --
      A deep unwavering belief is a sure sign you're missing something...
    5. Re:Gonna try to stay on topic... by benjamindees · · Score: 1

      You can use SFTP to transfer files between Linux and Windows. These Open Source folks are nice enough to write programs even for operating systems they hate, but you might be labeled a Troll if you mention any of them here.

      --
      "I assumed blithely that there were no elves out there in the darkness"
  27. Question From A Newbie by Anonymous Coward · · Score: 0

    What is the difference between mounting using this system and the normal 'mount' command ? Is is just more security at the server end or for the network as a whole.

    1. Re:Question From A Newbie by crunchywelch · · Score: 1

      I may be WAY wrong here, but since no one else seems interested in answering the question and providing some good information besides "I did this back on my amiga when we had to create IP tunnels with our TEETH. So there."

      The most common network mount types for regular joe users is NFS for running linux->linux or Samba(SMB) for linux->windows boxes. Neither of these systems are inherently very secure, either in terms of user authentication, or data encryption. Generally they are used on internal networks behind a firewall from the internet at large. This at least prevents any hacker with a port scanner from getting direct access to a box running an NFS or SMB server.

      So, this leaves a big problem for those of us that want to mount our huge troves of mp3s and oggs, errr, I mean data for work that we have on our boxes at home for listening, I mean use at work. So, you can't really do that with standard ftp, since you can only download the files, which we don't want to do, we want to access them directly off the drive they are on. And since leaving a box running NFS or SMB out on the internet is like running up and down the street waving a giant flag and saying "Come one and all! Hack my data!" then a solution had to be made.

      So in comes some folks who said, hey why don't we take ssh, which is pretty secure, and create some sort of tool that we can mount shares with that works on ssh? And so, some students post thier progress on creating just such a tool on /. and millions of people come crawling out of the woodwork to declare that indeed, they were using just such a system back in '91 when there was no png standard and all the p0rn was ascii.
      Such is the way of the world here...
      hope that helps.....

      --
      1400x1250 in a 640x480 world...
  28. When the SSH port is blocked by Anonymous Coward · · Score: 1, Insightful

    At the office I'm working at (contract job) they are extremely anal retentive. They disallow most outgoing connections, SSH included. People are pretty much limited to web browsing. Not a problem, however, since they allow a secure connection on 443. I just configured my router to redirect 443 to 22 and I can connect to my server.

    1. Re:When the SSH port is blocked by Anonymous Coward · · Score: 1, Funny

      Just wait until they install a router that understands HTTP. Then you'll have to encapsulate a TCP stream in HTTP POST, with the whole thing base64-encoded. Oh the humanity!

    2. Re:When the SSH port is blocked by Anonymous Coward · · Score: 1, Informative

      You think that's anal retentive? Last place I did contract work for blocked all outgoing traffic except for HTTP/HTTPS through an authenticating proxy server.

      In order to utilize SSH I had to write a java sock5 server that would take local requests and tunnel them via CONNECT through the https proxy.

    3. Re:When the SSH port is blocked by Anonymous Coward · · Score: 0

      I failed to mention, I had to do it via a proxy. On top of that, there is a bug in Microsoft's proxy which caused PuTTY to fail the authentication. Specifically, PuTTY was sending "Authenticate basic blahblah" or something like that. The MS Proxy expected it to be "Basic". The standards state that case is to be ignored. The nightly build of PuTTY has the fix, fortunately.

    4. Re:When the SSH port is blocked by Anonymous Coward · · Score: 0

      I made a bizarre solution. I connected through https to my webserver and (via htpasswd auth) started the Xvnc-server (nevershared rfbauth etc) on a given port that was redirected from port 80 on my firewall(vnc-client the java applet). I could reach my server from any internet cafe, pretty nifty heh? Yeah, OT I know but still nifty...

  29. Better Implementation idea... by Polo · · Score: 4, Interesting

    I think a better implementation of this might use the sftp protocol on the server side. This has been recently implemented with SSH v2. It's a subsystem within SSH (sftp-server) that supports all the common filesystem operations (open, close, read, write, seek, stat, etc...).

    This is the protocol that scp uses to read and write files and is already part of ssh.

  30. You should be put in a by Anonymous Coward · · Score: 0

    SANITARIUM!

  31. macos x by hachete · · Score: 3, Interesting

    It would be nice if this worked with Macos X and apple-type file systems. SSH works well on Macos X and I could do with an alternative to webdav and netatalk. Yes, I know that there are "issues" with apple file resources, but I wish they would just *disappear into* the shell so I didn't have to worry about them :-)

    ah well. I can dream.

    h.

    --
    Patriotism is a virtue of the vicious
    1. Re:macos x by rthille · · Score: 1

      I think one of the biggest mistakes that Apple did was not doing away with resource forks as file forks when going to OS-X. I understand that they needed to preserv the API of resource forks for all the classic and Carbon programs, but they could have had the back-end implemented as separate files with well-specified names. When NeXTStep would mount HFS filesystems, you could access the resource fork by opening #rsrc#. This would allow easy POSIX access to all of the Mac filesystems, allowing 'rsync' and 'tar' to handle _all_ the files you generate under OSX.

      --
      Awesome furniture, accessories and cabinetry in Santa Rosa, CA: http://humanity-home.com/
  32. big deal by F2F · · Score: 4, Interesting

    we've been doing this with Plan 9 since 2000.

    from the ssh man page:

    Sshnet establishes an SSH connection and, rather than execute a remote command, presents the remote server's TCP stack as a network stack (see the discussion of TCP in ip(3)) mounted at mtpt (default /net), optionally posting a 9P service descriptor for the new file system as /srv/service.

    1. Re:big deal by ceswiedler · · Score: 3, Funny

      Everything that is cool, in a hacker sense, you can do with Plan9. You just can't do anything that's cool in an ordinary sense.

  33. Get with the Times? by WwWonka · · Score: 1

    We've had something superior to this for about five years now, it's called NFS [faqs.org], the Novell Files Shared. Get with the times people. A horse and buggy can get you to the library....I'll take the Porsche Boxer. A birch canoe can get you to the other side of the Atlantic...I'll take a muti-level cruise ship. A pile of twigs and some stones can start a fire...I'll use my bic and some gasoline. A gilrfirend can pleasure you to no avail...I'll use my Judy X-321 Prototye Stimulator with Turbo Suck 2000.

  34. Don't you remember hacking a school lab? by iamacat · · Score: 5, Interesting

    The authors might not have admin access to the server to configure secure NFS. Or for that matter an installed compiler to install samba and tunnel it over ssh. Just shell access and instructions on using pine. And a sysadmin who will need a shot of brandy after hearing about students/employees running a remote filesystem. He might even be right, considering how NFS lets clients pick a userid to access files or uses inode numbers as handles.

    There are a lot of projects like this. Linux used to have term and later a user-level PPP daemon to forward socket calls over a serial line, when the admin could have easily installed the real thing. At one point I had to write a rather complicated tool to forward incoming requests from the internet to a host inside an http-only firewall because that was the only way to test it with a client running on a cell phone.

    Now if someone wrote a daemon to run PPP (or PPPOE) over an HTTP proxy, we could all just use it and stop reinventing the wheel.

    1. Re:Don't you remember hacking a school lab? by Nurgled · · Score: 1

      Tunnelling IP over some TCP-based protocol and running TCP connections inside is usually a bad plan. The two layers of TCP will interfere with each other due to TCP's automatic speed control mechanisms so that, after a short period of time, the TCP connection in the tunnel will be so slow to be unusable.

      Similar warnings apply to running ppp over SSH connections. I tried that once when I was lacking other options, and it wasn't pretty.

  35. Good experience with LuFS by BigJim.fr · · Score: 1

    I have used LUFS http://lufs.sourceforge.net/lufs/ for a few weeks and I have found it to be a very nice solution for LAN file sharing. It does not perform so well over high latency links, and I am not yet completely convinced that it behaves well under heavy IO loads although I have not proven the contrary either. So in a nutshell, LuFS is good for general purpose file sharing in a LAN environment and it is giving me entire satisfaction - goodbye Samba !

  36. This has been done already by nakedbonzai · · Score: 1

    It's called SNFS. The method is different, but the idea is the same; mounting drives over ssh. I played with this over a year ago.
    http://www.math.ualberta.ca/imaging/snfs/

  37. Need LUFS and GNOME/KDE people to talk by bgarrett · · Score: 2, Insightful

    I set up LUFS last night, and blithely opened a Nautilus window to a mount-point I'd created (to a VERY remote SSHFS-mounted machine). Big mistake.

    I had forgotten, of course, that I had Nautilus turned on to do all its previews, subdir counting, etc. on local files - which of course it was treating this mount point as. And I cursed gnome-vfs2 for not automatically sensing the "remoteness", by reading the list of system-wide mount points and detecting which filesystem was handling the directory into which I'd gone.

    KDE faces a similar problem, ultimately. Until we see "kdesh" or some sort of LD_PRELOAD to offer ioslaves to traditional UNIX utilities, there will be a rift between the well-integrated solutions that KDE and GNOME offer, but which don't interact with lower-level utilities, and the kernel/hybrid solutions which don't provide information to any layer higher than they are (or worse, which are ignored by that higher layer, because of NIH syndrome).

    SHFS is not the wrong answer. If it has caching and LUFS lacks it, maybe some of that code will migrate into LUFS. That's the entire point of open source, people - let the better project win, not just the more established one. But ultimately, neither project is the answer I favor, until the people at work on these various layers of VFS switching start to accept that other peoples' work may be running on the same system their code is.

    --
    Nothing worth doing is worth doing today.
  38. Another option by cr@ckwhore · · Score: 1

    This idea seems somewhat ineficient and more complicated than it has to be... why not simply tunnel port 139 via ssh and mount the remote filesystem via SMB?

    --
    Skiers and Riders -- http://www.snowjournal.com
  39. livecd by Anonymous Coward · · Score: 0

    so if you put this in Knoppix, eg, supposing you were in a Microsoft only workplace, could you like mount your /~ac/ on your home machine? How would you do that?

    --ac

    1. Re:livecd by Anonymous Coward · · Score: 0

      If you can boot up in knoppix at work and ssh to your home machine and read the ~ac/ directory, then you could do it.

  40. Sounds interesting, but by parkanoid · · Score: 1

    Couldn't the same task be accomplished via a script that calls scp foo bob@fred:~/ssh bob@fred -t "rm foo"/etc?

    1. Re:Sounds interesting, but by Anonymous Coward · · Score: 0

      Would a C program that opens files with an fopen() call work without changes or recompile ?

      The point of a "filesystem" as opposed to a client for yet another storage device or server is to stuff all file access into the same interface -- fopen() or may just plain open(), read(), and write().

      That was why filesystems were invented. Otherwise we'd still be re-writing all programs that used files everytime a new IDE bus came out.

  41. Been there before by clump · · Score: 2, Interesting
    This seems to be beta quality code. Thus you might want to try Secure NFS via SSH Tunnel, which provides, accoding to the author Secure NFS (SNFS) via SSH2 tunneling of UDP datagrams, as suggested in the SSH FAQ.

    Currently, and indicated in the FAQ above, you cannot tunnel UDP. You can, however, tunnel NFSv3 so long as you make NFS run over TCP. This is precisely how you can tunnel NFS. Here is how I do it:

    Server:
    Put "/nfs_share_dir 127.0.0.1(rw,insecure,root_squash)" in /etc/exports
    Ensure you are running Linux's NFS user server and portmap

    Client:
    /etc/init.d/portmap start
    rpcinfo -p remotehost
    ssh -f -l username -L 3643:localhost:643 -L 3049:localhost:2049 remotehost.com sleep 500
    mount -t nfs -o tcp,port=3049,mountport=3643 localhost:/nfs_share_dir /mnt/local_mount_dir/

    The system works well but as you can see, it can be cumbersome. The "mountport" changes, hence the need to run rpcinfo -p. I have been told you can force a consistent mountport however. Then you worry about tunnels and whatnot. It works, but its hairy.

    Because of the above, I rejoice for having found LUFS's SSHFS, and now wish to try SHFS. With SSHFS, I merely run SSHD on my remote machine, and mount it like so:

    lufsmount sshfs://username@remotehost.com /mnt/ssh -o,port=75

    Compare that one step to all of the above for NFS.

  42. Too much windows in your life by konmaskisin · · Score: 2

    Those slashes should be forwards

    camera://
    ftp://
    http://
    fish://

    Which is a very good thing since it works on all the platforms KDE works on without having to have 5 or 6 different "kernel level" implementations of every filesystem out there.

    A kernel should be small. Why pile everything into a kernel if it can be handled in user space?

    1. Re:Too much windows in your life by Earlybird · · Score: 1
      The slashes in those URIs are not part of the protocol prefix, mind you.

      The protocol is specified with "ftp:" and so forth. The two slashes are part of the host name, so in the URL ftp://foo.bar, //foo.bar designates the host.

      Windows uses backslashes (\\foo.bar) and calls such paths Universal Naming Convention, or UNC, names.

  43. Re:Great! [WOW] by Cokelee · · Score: 0, Flamebait

    Or they just wouldn't install the module.

    Yeah, that'd pretty well make sense.

  44. tab completion with scp by TobiasSodergren · · Score: 2, Informative

    If you don't want to mount the filesystem, the bash completion project works quite nice with scp. By adding the public key on your computer to the server's authorized_keys file, you can use tab completion when traversing directories or copying files remotely. As a bonus, you get a lot of tab completions with other programs too.

  45. Why not just use winscp2?? by etp · · Score: 0

    If you run Windows, try this: WinScp2 Allows you to access your files via scp but with a windows manager (just as though you mounted the drive)

    1. Re:Why not just use winscp2?? by Anonymous Coward · · Score: 0

      Can I use it to make all the already existing programs that open their files with the standard windows call simply work as if the files were local ?

      If the answer is no, then it's not a file system.

      If all you ever use your computer for is to passively "browse" files, you may have never realized the difference.

  46. PPP over an http proxy by Guiri · · Score: 4, Informative
    I used to do that at the university. Here is gow:

    1. Get Http tunnel. You have to install it inside the network with the proxy, and in another machine on the internet (outside that lan).
    2. Create a tunnel from the first machine to the ssh server of the second machine (http tunnel creates a socket).
    3. Do ssh-keygen on the first machine, and copy the .ssh/indentity.pub file from the first machine to .ssh/autorized_keys on the second host. That way you can login without password.
    4. Now configure both machines to do PPP over ssh. I wrote the explanations here , look at the comment with a subject saying "PPP over SSH". It's in spanish, but you can translate it with babelfish, and at least you can get the scripts from there. If you don't manage, look in google for "ppp over ssh" or "firewall piercing".
    5. Configure the first machine to use the second host as the default gateway (through this new ppp network device), and configure the second machine to do NAT for the first one.
    There you go, you have unrestricted access to the internet through the most firewalled network in the world, and through a proxy ;).

    You need to have root in both machines, but is worthwile, trust me! ];>> The first time it could look a little bit complicated, but afterwards you can just create a script to do the whole thing, so next time you'll only have to do "./create_tunnel" on the first machine to do the whole process.

    1. Re:PPP over an http proxy by sholden · · Score: 1
      5. Configure the first machine to use the second host as the default gateway (through this new ppp network device), and configure the second machine to do NAT for the first one.

      There you go, you have unrestricted access to the internet through the most firewalled network in the world, and through a proxy ;).
      Except that NAT doesn't give you "urestricted access".
    2. Re:PPP over an http proxy by Anonymous Coward · · Score: 0

      correction: LUFS only works with OpenSSH. When using commercial SSH, it fails miserably.

  47. Re:Great! [WOW] by cpmte · · Score: 1

    It looks like the module is only installed on the client. The server only needs to have sshd running, and that's what makes this so nice.

  48. An example by Anonymous Coward · · Score: 0

    I'd like to use my local editing tools to edit html and cgi sources on the machine that hosts a site. This allows me to use all my macros and syntax highlighting and so forth, and protects me from keyboard lag.

    I just downloaded this stuff and tried it, and it worked perfectly on the first try on a test machine here.

    Most importantly, this stuff doesn't require installing anything weird on the remote machine. I obviously can't go installing kernel modules or anything on the hosting machine, so this stuff is perfect for me. I believe the requirement to install weird stuff on the remote machine is the reason I wasn't able to use LUFS; someone correct me if I'm wrong.

  49. Shell over SMTP by NoOneInParticular · · Score: 5, Funny
    Big Deal! Back in my day, we ran a filesystem over smtp: sent your commands per email, have it executed remotely, and send the results back to the sender. Imagine:

    To: user+bash@host.com

    ls /usr/bin

    And get the result back by email. The tricky part was to do (insecure) copy: cat piped to uuncode etc.

    To paraphrase: it's not really the easiest thing to automate but it sure worked for day-to-day computing

    1. Re:Shell over SMTP by Demon+of+the+fall · · Score: 2, Funny

      Bah, big deal!

      Back in my days, we used to eat gravel for breakfast. Cold gravel, out of a septic tank!

      And our dad would beat us to death with his belt every evening!

      (Credit where credit is due: Monty Python.)

      --
      Be an elitist - read Slashdot at +4.
    2. Re:Shell over SMTP by NeoNormal · · Score: 1

      Big Deal! Back in my day we did the same thing running over uucp on Amigas. I wrote an ugly little hack called rmx that would create a "remote execute" file on the other end that uuxqt would process. Security? Hah! ;-)

  50. I think shfs is great ! by fea · · Score: 2, Informative

    I think there are some unnecessary critism in this thread. shfs is exactly what I had been looking for for quite some time. I saw the article on nfs over ssh. This is sort of there, but requires knowledge of iptables, etc. Indeed, it took an entire article to explain how to use it. However, this package is very simple to use ! And it serves the purpose of being able to mount remote drives over ssh. After trying it out, I did have some suggestions which I plan to post to the developers.

  51. Goodbye Tramp? by ksheff · · Score: 1

    Damn. I have been using tramp for the last few years to do this with emacs. I'll have to try this and lufs out to see which method I like better.

    --
    the good ground has been paved over by suicidal maniacs
  52. Why just files??? by Rick+Richardson · · Score: 0

    I guess I don't get it. If you can open an ssh connection to the remote machine, why wouldn't you just tunnel PPP over the connection and have full VPN networking between the local box and the remote box?

    I've been doing this for years.

    http://home.mn.rr.com/richardsons/sw/pppssh.tar.gz

    From the README:

    This is poor man's VPN. Just as effective as the expensive kind, but costs less. And you can set it up in minutes. All it requires is the ability to ssh into the remote machine. Then it tunnels PPP over the ssh connection to provide full network connectivity.

    Two sample scripts are provided: frostyppp ipcroeppp

    You are expected to understand routing and the concept of tunneling and to create your own version of one of these scripts. If you don't understand routing, then use Windoze and the expensive VPN box or software that your IT guys probably want you to use (because they don't understand routing and tunnelling, either).

  53. tools for the job by DrSkwid · · Score: 2, Interesting

    OS's trying to be all things to all people is stupid

    I have plan9 machines on my network because they do very powerful things in such simple ways.

    It would be like using scissors to cut the grass.

    --
    There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
  54. Re:ITS A TRAP! by Anonymous Coward · · Score: 1, Funny

    Boobies!

  55. Fast KDE development by AnEmbodiedMind · · Score: 2, Interesting

    But the problem is that "writing the equivalent kernel modules" would take a lot longer.

    The fact that KDE code uses the "large amount of KDE support infrastructure" is what makes it easy to build a new I/O Slave (such as fish:// or cooler yet cdaudio:// which is a virtual mount of your cd audio as named .ogg vorbis files).

    So it's not a shortfall of KDE developers because KDE developers only have so much time, and building the equivalent kernel modules will be much more time consuming.

  56. Not that this is the typical way to use it... by bhsx · · Score: 1

    As noted by another poster, the main point of this type of thing is to be able to access your remote shell accounts from home. Not necessarily the other way around. However, I'd like to note that I've been working on a version of Knoppix that includes the LUFS lkm and userland deamons, the next step is to get LUFS to automatically setup key-exchange when knoppix boots (set the remote server as boot options), then use the remote server as your /home/dir in Knoppix. I haven't gotten it working perfectly yet, but when it's done I should have a secure environment available on any PC.

    --
    put the what in the where?
  57. My way... by Anonymous Coward · · Score: 0

    is punching my way in through the VPN, then using VNC, then to access files, either setting up a passive ftp server, or simply sending it over a im service.

  58. *BSD by neuph · · Score: 1, Interesting

    Is anyone aware of a similar utility that exists for *BSD systems?

  59. Or at least by LordMyren · · Score: 1

    make a stab at being polite in showing the advantage of whatever you're talking about.

    slashdot is a free ad space. most of the cool things i find are not from topics, but from comments. of course 90% of the comments insist that theirs is better than the competition, sliced bread and complimentary presedential blow jobs all rolled together, and that everyone else is a fop, while neglecting to mention the prealpha status and lack of docs.

    like so much in the world, balance is key. humility helps too. by all means, be heard, but you're just a jerk if you have to shout.

  60. kioslaves and gnome-vfs are not bloat, really. by Ayanami+Rei · · Score: 1

    As long as the purpose only makes sense inside the window manager environment...

    I'm talking about the cdburning drag+drop, digital camera browsing, play-list "mounting", etc.

    These things make sense inside the window management space because they are useful abstractions for use inside a graphical file manager. However, they are probably not too useful for the general unix environment (i.e. command line, generic VFS calls, some of which may have no translation... fcntl on a candidate for including on a blank CD, whaaaa?)

    Some of those abstractions are rather nifty. Others (like SSHFS) are probably overkill or not low-level enough to be truely useful to be implemented at such a high level.

    Question... does LUFS support automatic protocol in the path? I'm talking about doing something like this: /mnt/lufs/proto/host/path

    Which might come back with an error if you need to ssh-agent, or klog, or something like that. (I wouldn't advocate /mnt/lufs/proto/user:auth@host/path)

    --
    THIS THING CAN TURN ON A DIME, MACROSSZERO STYLE ALSO FUCK BETA, ~NYORON
    1. Re:kioslaves and gnome-vfs are not bloat, really. by Nucleon500 · · Score: 1
      I agree, some things like CD buring aren't right for LUFS. CD burning is bad because how do you decide when to actually write the files? (Packet burning, I think, will and should be implemented in kernel.) I think that mounting audio CDs would be a perfect application for LUFS, though. Some would say "cp /mnt/audiocd/ogg-q5/* ~/music" is the perfect interface.

      Digital camera browsing, however, should at least be LUFS. My camera uses compactflash cards that you can just mount, and IHMO that's the best interface. Treat the camera like a drive, because stored pictures and configuration fit perfectly with the file paradigm.

      AFAIK, LUFS doesn't support protocol in the path, but it should be simple to write a LUFS module that does just that, mounting other LUFS modules. This could make it very useful.

  61. Note: the cameras are already supported... by Ayanami+Rei · · Score: 1

    You can make your camera automount through, well, automount, the usb-storage module and vfat.
    There is no need for LUFS in that case. It is already transparent.

    Mounting audio CDs has also been done (both as a discrete filesystem and UFS layers), however there are certain "issues" which then become clear why LUFS may not be the right option. For example, it is currently not possible (and isn't possible really according to the standard) to arbitrarily seek into a track reliably. Some drives allow for sector positioning, but not all. This is because audio tracks do not contain positioning information in each block. Jitter can be expected, and the file metaphor could be somewhat broken on a less-than-perfect CD when two consequetive reads of the same audio chunk aren't identical; one has to think of some clever caching schemes in that case.
    It is much easier to read and deal with problems when processing the entire track at once from beginning to end. Hence cdparanoia. Making it into a file may seem interesting, but it isn't incredibly useful (since it's not reliable, and that implication shouldn't be implied by forcing the file system metaphor on top of it).

    The same can be said of making virtual encoded versions of audio available through the same interface. The stream cannot be completed at arbitrary seek points; OGG's bit allocation protocol makes breaks at certain (but not obvious) points for framing information. MP3s (unless at constant bitrate) have the same issue. The file really has to be already be encoded in a straight shot, kept in RAM, and then it can be read arbitrarily.

    So why not write a script to do that? It's not hard; there's only about 14,000 projects on freshmeat that do exactly that, CDDB tie-ins and all.

    The filesystem metaphor shouldn't be forced onto abstractions that don't support arbitrary seeking, reading, writing, truncating, updating, locking.

    Otherwise, why make it into a filesystem?

    --
    THIS THING CAN TURN ON A DIME, MACROSSZERO STYLE ALSO FUCK BETA, ~NYORON
    1. Re:Note: the cameras are already supported... by Nucleon500 · · Score: 2, Interesting
      For the CD, just don't support seeking, and return ESPIPE. Many filesystems don't support writing, truncating, updating, and locking. And it wouldn't be too kludgy to support seeking for wav files. (My CD drive actually is perfect: two cdparanoia rips often have the same md5sums! I know this is rare, and the spec says you can be off a little.) Yes, because of lack of error correction and seeking problems, it won't be perfect, but it will be good enough for XMMS.

      The implementation would be: when the directory is searched, scan the TOC to get length info. Just estimate for the Ogg files. When a file is opened, spawn a pipeline with cdparanoia and any encoders, and on each read, get the data from that pipeline. On seek in a wav file, restart cdparanoia with a different range. For everything else, return an error.

      Frankly, making everything a file is just plain cool, as well as being part of the unix philosophy. If you think audio CDs are bad for files, check out /dev and /proc! Your mouse is a file! None of the character devices support seeking, truncating, or locking; they're more similar to pipes or sockets (also files).

  62. hack? by SHEENmaster · · Score: 0, Redundant

    If you had enough computing power to run the Matrix, you could sure as hell break a little 128 bit key.

    Anyone needed crypto that can stand up to that should look into FlameCrypt 5. It is nearly complete; I'm using a 512 megabyte key in Linux, Mac OS X, and Windows with perfect MD5 matches. It's faster than other cryptographic methods. Pre-orders will be taken soon (15 days or so).

    A FlameCrypt5 shell server is under consideration; it would most likely be a free upgrade.

    --
    You can't judge a book by the way it wears its hair.
    1. Re:hack? by Anonymous Coward · · Score: 0

      Snake oil anyone....

  63. Everything is a file... by Ayanami+Rei · · Score: 3, Insightful

    OR... a pipe or socket.
    But as to not being seekable, etc: that's why we have the distinction in the first place!
    For things that aren't like a file, they shouldn't be a file. We need appropriate metaphors for things that are not flat and seekable.
    Duh character devices aren't seekable, that's the POINT. In fact, upon further reflection: the reason why a CD-filesystem is a bad idea is because only one process can use it at a time!!! (^_^;;;) Making some resource a filesystem implies that it can deal with at least concurrent access, right? I'm not saying you can't do it, but I don't think it's a good idea because it doesn't really get you anything special.
    After further reflection, the cd-extraction "device" almost begs to be a character file. Send it an ioctl (with a silly little command line util), then start slurping it into oggenc. The "cdparanoia" device... you might use it like this:

    $ cddactl --extract 1[1:30]-3[4:00] /dev/uld/cdda:scd0.raw /dev/uld/cdda:scd0.a

    oggenc [ some stuff ] /dev/uld/cdda:scd0.a

    In this case, cdda:scd0.raw is the file that accepts the ioctls, and cdda:scd0.a is a magically created char device corresponding to your request to read a range from the CD, and data will only start appearing from there once all other requests have been fulfilled (otherwise you get EAGAIN on read()). I pretend that uld is a filesystem exported by a magic kernel module that allows user-space libs to do some grunt work and provide device files as needed.

    Perfect way to queue up a bunch of jobs; just spawn a bunch of oggencs in parallel on the file requests, and let the kernel wake up the right process to do it.

    Or you could do something evil like this:

    $ streamctl --push /lib/modules/streams/vorbisenc.so -oq=5,oggwrap /dev/uld/cdda:scd0.a

    Then:

    $ cat /dev/uld/cdda:scd0.a > "KMFDM - Waste.ogg"

    That is definitely in the spirit of Unix!

    And whatever happened to STREAMS? That would be a perfect way to take cdparanoia + ogg and roll it into a OS abstraction.

    I'm talking about generic "uber-character devices" for asyncronously and syncronously available data, and a way to get at their individual ioctls without having to write whole C programs.

    Some kinda standard for that would kick a large amount of ass, especially if its easily accessible from user space.

    --
    THIS THING CAN TURN ON A DIME, MACROSSZERO STYLE ALSO FUCK BETA, ~NYORON
    1. Re:Everything is a file... by Nucleon500 · · Score: 1
      I still think that's making it too complex. Yeah, CD seek time is horrible, so just write the library so you only ever spawn one cdparanoia per drive. If you read from a file while the drive's busy, you wait your turn (or return EAGAIN if opened nonblocking). Consider the CD-ROM filesystem: it's a filesystem, but concurrent access is unbelieveably slow.

      Devices have space for the major and minor numbers, but many "devices" which aren't controlled by the character device layer look like regular files. (Everything in /proc). I don't think that being a file has a guarantee of seekability, efficent concurrent access, etc.

  64. (replying to self) by Ayanami+Rei · · Score: 1

    Let me revise my comments on the idea of a cdda-filesystem. I realized I don't disagree really with what you said.

    It would make sense if it was implemented as follows:

    Mounting the cdrom through cddafs presents the user with a listing of .wav files (or .raw files, depending on mount options), both with information from the TOC and possibly CDDB.

    Each file is a character device that when read begins extracting the data via CDDA from the appropriate track AND reading other tracks simultaneously engages some complex locking and wait-queueing to prevent contention and increase performance.

    Each character device allows it to receive ioctls similar to /dev/cdrom which allow it to seek within the track, etc. A mount option would transform them into block files capable of seeking but only reading in sector sized chunks.

    File oriented-software wouldn't choke on that (but the driver wouldn't have to work too hard)

    --
    THIS THING CAN TURN ON A DIME, MACROSSZERO STYLE ALSO FUCK BETA, ~NYORON
  65. Will this hurt ssh? by mt-biker · · Score: 2, Interesting

    A few years back I did software-support, and ended up remotely logging in to our customer's machines, often over a firewall.

    When the firewall only allowed telnet access and I needed to transfer files, I'd either end up building a .tar.gz.uu file and either using cat & script to transfer them, or cutting and pasting between windows. What a pain!

    At that time, I started to work on a tool to allow me to transfer files over telnet. What stopped me was an ethical problem - if a company only allows telnet through their firewall, and not ftp, then they don't want people tranferring files through the firewall.

    I wonder if these extensions to ssh will run into a similar problem. That is, companies not allowing ssh access through the firewall because it can be used for more than just login sessions...

    1. Re:Will this hurt ssh? by sgifford · · Score: 3, Interesting

      My experience has been that if a network is configured in an idiotic way (such as allowing telnet and not FTP), it's not because its operators have made careful and well-considered decisions about what to allow and disallow, but simply because they're idiots. That sort of eliminates the whole ethical dilemna. :-)

    2. Re:Will this hurt ssh? by gozar · · Score: 1

      Just use a terminal client that supports Zmodem, and sz the files over the connection.

      --
      What, me worry?
    3. Re:Will this hurt ssh? by fea · · Score: 1

      I don't think so. The whole idea of ssh is encryption, not limitations on what it can do.

    4. Re:Will this hurt ssh? by WebMasterJoe · · Score: 1

      If my understanding of ssh is correct, then it's already possible to transfer files back and forth via ssh. In fact, I believe that any kind of internet connection can be tunneled through ssh, as long as both the client and server support ssh. I use sftp to transfer files all the time, and I frequently open x sessions remotely by tunneling through ssh. So these issues that you bring up, while certainly interesting, have probably already been addressed by those who are concerned/knowledgeable.

      If a company's policy is to not allow ftp but they don't block sftp, this is likely due to one of three reasons: a) the IT folk don't know about ssh/sftp, b) the ftp block is due to the easy snoopability of ftp and this doesn't apply to ssh, or c) they'd love to block sftp, but then they'd have to block ssh too, and it's needed for some important business functions.

      --
      I really hate signatures, but go to my website.
  66. Emacs offers this already. by Anonymous Coward · · Score: 1, Informative

    If I edit a file with the name /scp:user@hostname:localfilename, then this will be automatically fetched via scp. Heck, if I use Emacs' built-in eshell, I can do things like
    cp /scp:user@hostname:localfilename ~/incoming
    and other basic operations. Of course, directory listings and editing also work.

    The package to use is tramp, it is part of the CVS Emacs, but also available separately.

  67. should use rsync and separate caching by rp · · Score: 1
    caching should be a separate filesystem module, like Solaris cachefs. then you can support caching for any filesystem, not just whatever lufs happens to support.

    data transfer can be optimized a lot by using rsync or something equivalent.

    btw a cute idea (but based on HTTP rather than SSH) is Zero Install

  68. Re: rssh is a limited access or ssh by Anonymous Coward · · Score: 0

    Tell your web hosting company to use rssh http://freshmeat.net/redir/rssh/32214/url_homepage /rssh

  69. No SSH port by MicroBerto · · Score: 1
    I'm behind quite an evil corporate firewall, and the only way I can get to the outside world is through an http proxy (5 or so ports open). I can FTP into my stuff to do some file management, but it stinks. Is there any way I can get something like this going through an http proxy?

    Maybe I should just tunnel somehow?

    --
    Berto
    1. Re:No SSH port by fuzzybunny · · Score: 1


      Do a google search for ptunnel or httptunnel, or some variant thereof. There are a number of scripts which properly implement https (or even http) headers around an ssh connection, including passing authentication information to a proxy server.

      In some cases, you may need someone to redirect port 443 or 80 on a unix box to your ssh port (although you can do that yourself, can't you :)
      if the proxy/firewall is too locked down.

      Hope this helps--it did me. As one additional tip, run ssh -X and send an xclock or something similar over it--a lot of corporate proxies have session inactivity timeouts, which are easily defeated by anything that sends periodic signals across the link.

      --
      Cole's Law: Thinly sliced cabbage
    2. Re:No SSH port by MicroBerto · · Score: 1

      Thank you VERY much for those google terms -- They shall help a lot! I'd love to do it secured, so https sounds great. You rock!

      --
      Berto
    3. Re:No SSH port by MicroBerto · · Score: 1
      Thank you - I now have it setup so that the server forwards port 443 to 22 (hts -F 22:443)

      Now I'm not sure how I'll connect in tomorrow -- with the win32 client? Or is there an ssh client that can connect in with a http proxy?

      And can this be encrypted all the way so that it just looks like normal https traffic? Thanks if you can help, otherwise i'll search and ask around more!

      --
      Berto
  70. Mounting things remotely by Anonymous Coward · · Score: 0

    You know, there should be some pretty useful applications to be created if you can mount things remotely. Servers in Thailand should be especially popular.

  71. Performance by harryk · · Score: 1

    I just installed this, width poor results. I am able to mount the remote file system, although the performance is slow, compared to ssh directly. A question though, what is the benefit of running the filesystem like this. Is the program executed on the server or the client?

    --
    think before you write, it'll save me moderator points.
  72. Re:Great! [WOW] by Cokelee · · Score: 1

    Oh, whoops. Misunderstood

  73. cat src.file | account@ssh "cat - > dst.file" by Anonymous Coward · · Score: 0

    or the reverse to copy a file to the client machine.

  74. Reminds me of Dreamweaver/ColdFusion Studio by boy_afraid · · Score: 1

    I've used Alliare ColdFusion Studio (which Macromedia now owns) and Macromedia Dreamweaver to do web development. These tools worked GREAT for remove development in either Windows or Linux/Unix systems. In Windows, you just mapped your drive or used CF Studio or Dreamweaver's configuration to copy files when you save them. OR, which is what this story really reminds me of, is the use of SSH. Yes, I had to copy files back and forth over SSH when I wanted to see my changes, but Dreamver had this feature to work the SSH and automatically copy files back and forth all with the simple use of the project file navigation window. The user, me, never felt like I was working on a remote system, but felt like I was doing all the work locally. My co-workers were amazed that this feature was buried deep in the applications.

  75. how about sec_rpc by SurfTheWorld · · Score: 1

    There is a fairly straightforward and intuitive HOWTO at http://www.math.ualberta.ca/imaging/snfs

    I use this at work to access files across the firewall. Very useful. Much better than any other VPN hacks I've seen. Definitely worth a look.

    --
    Do it for da shorties
  76. I should have said before by DrSkwid · · Score: 1

    sshnet doesn't present a remote filesystem as local

    plan9 does that all over but certainly not via a remote machines SSH server afaik


    What one could do though it sshnet into the remote machine (M) and utilise M's TCP stack.
    Now all network commands for this process group only will use M's TCP stack.

    Then we use ftpfs to present M's ftp service as files in our tree for this process group.

    No kernel modules required

    And any processes that get forked from our group will have those those remote files available via SSH and they won't have to even know anything about ftp or ssh or squat didly about anything except manipulating files.

    Putting something in the kernel that is manipulated by third parties seems a bit too trusting for my liking.

    --
    There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
  77. bloat the kernel? by oliverthered · · Score: 1

    bloat the kernel, like ALSA the usb device drivers and NVidia's binary driver, what are you going on about, do you know what bloat is?

    I don't think the extra hooks would bloat the kernel that much, infact they would introduce less bloat than your suggestion.

    --
    thank God the internet isn't a human right.