SMB2: ln -s /Unix1980s /Vista

Uncategorized
1 Comment

I hope you got the dig from the subject line, Microsoft is innovating symbolic linking into Windows Vista. This means you can link different objects without the presence of .lnk files – which helps on file shares when you want to quickly bounce people to the other directory instead of a readme pointer. Despite being very overdue, I’m glad to see this innovated into Vista. Now get to work on MSH!

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). So then you ask how is that different from a short-cut (the .lnk file)? Well, a shortcut will only work when used from within the Windows shell, it is a construct of the shell, and other apps don’t understand short-cuts. To other apps, short-cuts look just like a file. With symbolic links, this concept is taken and is implemented within the file system. Apps when they open a symbolic link will now open the target by default (i.e. what the link points to), unless they explicitly ask for the symbolic link itself to be opened. Note symbolic links are an NTFS feature.

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). SMB2 understands the concept of symbolic links and evaluates the links on the client. This is the support that is added in SMB2.

One Response to SMB2: ln -s /Unix1980s /Vista

Comments are closed.