Slashdot Mirror


Vista To Get Symlinks?

TheRealSlimShady writes "According to a post by Ward Ralston on the Windows server team's weblog, Vista server is to get symlinks as part of the SMB2 protocol." From the post: "In Vista/Longhorn server, the file system (NTFS) will start supporting a new filesystem object (examples of existing filesystem objects are files, folders etc.). This new object is a symbolic link. Think of a symbolic link as a pointer to another file system object (it can be a file, folder, shortcut or another symbolic link)."

9 of 565 comments (clear)

  1. Security risk? by fm2503 · · Score: 5, Interesting

    From TFA:

    "Now why is this relevant to the SMB2 protocol? This is because, for symbolic links to behave correctly, they should be interpreted on the client side of a file sharing protocol (otherwise this can lead to security holes). "

    Is it not rather:

    "If the client does not interpret symbolic links then nothing will work?"

    1. Re:Security risk? by IWannaBeAnAC · · Score: 4, Interesting
      Presumably the security problem has something to do with symlinks that point to a file that the client does not have permission to read. If the server handles symlinks in a naive way, then on a request to open() a symlink it would open the target file (which is the usual behaviour of opening a symlink), but potentially with the wrong permissions.

      If the server did no special behaviour for symlinks then they would appear to the client as a duplicate of the symlink target, an ordinary file.

  2. Re:Ah yes by strider44 · · Score: 4, Interesting

    Perhaps you should of read the article, especially the bit "how is this different from a shortcut?"

    The basis of it is that a shortcut is just a file - the exact same thing as a shortcut can be achieved by having a file with the target path just written in ascii inside, and assuming that the reader can tell it's a shortcut then it could get the target path sure, but if the reader is not equiped to specifically handle those shortcuts then it'll get muck.

    A symlink masquerades as the actual file or folder, and the app doesn't need any specific handling to read the file. You can for example go into bash and write "cd symlink/" and it'll go to that folder. A shortcut is just a file, a symlink is an attribute of the filesystem.

  3. Great... but by Anonymous Coward · · Score: 3, Interesting

    Now that NTFS has UNIX filesystem semantics, when will UNIX/Linux filesystems get some NTFS features like multiple streams and reparse points.

    These features are incredibly useful (arguably more so than symlinks), and the only Linux fs that comes close to implementing them is reiser4, which is not even part of the kernel.

    1. Re:Great... but by LLuthor · · Score: 3, Interesting

      MS does not inconvenience its users to defrag. I have been running several Windows machines for many years (still running Win2K on some of them), and I have honestly never defragged them.

      Two are running Battlefield 2 servers 24x7, one is running a web server and a database server to aggregate statistics on players. All have been in service doing this kind of thing for over two years.

      Never defragged, still running as good as new.

      --
      LL
  4. FOUR, er FIVE symlink styles, all kinda *wrong* by Ancient_Hacker · · Score: 5, Interesting
    So there's going to be FOUR ways to alias files and folders and volumes:
    • (1) Mapping a directory to a drive letter.
    • (2) Shortcuts.
    • (3) NTFS mount drive as folder.
    • (4) The new symlink thingy.

    oops, isnt there still:

    • the old DOS "subst" command too?

    Make that FIVE ways. All of them looking somewhat alike, but all with subtly different syntax, semantics, overhead, and security implications. Sweet!

  5. Not the first time by basilpronoun · · Score: 3, Interesting

    MS have invented symbolic links before.
    http://slashdot.org/article.pl?sid=00/03/02/083321 1&tid=109
    The evidence is no longer on MS's website put you can find it here http://www.spinnwebe.com/contests/innovate/8.php

  6. Re:NTFS already does it since Win2K ! by Nurgled · · Score: 3, Interesting

    Even more annoyingly, if you "delete" a junction point directory through the shell it will do a recursive delete just as it would for a folder, thus deleting all of the contents of the junction's target directory. If you set up the junction point then this is expected, but if it's someone else who isn't familiar with the concept they can easily mistake it for a bunch of duplicate files (since the shell displays them identically, and gives misleading disk usage information) and delete both copies.

  7. Vista Will Probably Be BSD-Based by Anonymous Coward · · Score: 4, Interesting

    This is just one more clue that Microsoft has given up on the Windows code base, and that Vista will be based on BSD code.

    To review the previous clues:

    First, there was Microsoft's announcement that Vista (Longhorn) will use UNIX-like User Permissions:

    See Longhorn to use UNIX-like User Permissions

    Why would Microsoft do that, when even many Linux supporters agree that Windows permissions are finer grained? But if the new Windows is BSD-based, Microsoft would be forced to do that, or face rewriting a lot of the underlying BSD code.

    Second, there was Microsoft's announcement that Unix compatibility will be "built in" to Vista:

    See: Microsoft to Stop Releasing Services for Unix

    Third, there is the fact that Microsoft ported .Net to BSD, as well as pushing for other software to be released under a BSD license ("All the better to steal it, my dear.").

    Fourth, there was Steve Ballmer talking about the Vista "reset" which started around 18 months ago.

    See: Ballmer Pushes Microsoft Innovation, Talks Vista Reset

    Does anyone really think that Microsoft could succeed in doing a major rearchitecturing of the Windows code now, in only 18 months, after they had tried and failed to do so many times over the last decade?

    Besides, when has Microsoft ever shown the confidence or ability to succeed on their own? DOS, Windows NT, Internet Explorer, and .Net, were all based on other companies' products, or were developed by teams hired from outside.

    And now we have this new report that another basic feature of Unix, symbolic links, will be part of Vista.

    Given all this evidence, I am fairly convinced that Vista will be based on one of the Open Source BSD distributions. Unlike Apple, however, Microsoft will probably try to keep it a secret, and claim it as their own innovation.

    What will be the result?

    On one hand, a BSD-based Vista might be a good thing, since it will result in a more stable, and less virus-prone Windows.

    On the other hand, if Microsoft remains true to their history, they'll just screw it up with all the lock-in features they'll add on top. Like the VMS-and-OS/2-based Windows NT, which started out strong (version 3.51) then gradually degraded, I expect the benefits of a BSD-based Vista to be temporary.

    Then again, Microsoft is just playing for time, as they continue their strategy of locking in the Internet. Thus, they only need Windows to be better for long eneough to fool their customers, again, while they tie them up with a new set of decommoditized protocols (.Net, Palladium, DRM, Windows Media, Office 12, and so on).