  
2. What is Sharity?
Sharity is a filesystem extension. It allows you to map things into your Unix filesystem which need not be ordinary static files. This sounds rather abstract, if you are not familiar with the concept. Let me explain it with the two modules which are shipped with Sharity:
The cifsFile Module
This module implements access to the network filessytem of Windows(tm) servers. This network filesystem is called CIFS (for Common Internet Filesystem) and was formerly called SMB (for Server Message Block protocol). It is not only used by the various Windows operating systems, it's also used by Samba, OS/2 and many others. With this cifsFile module Sharity can map shares exported by Windows servers into your Unix filesystem. It looks as if these files were on your local disk.
The cifsBrowse Module
The CIFS protocol has many variations and extensions. One of the extensions allows clients to get a list of all file servers and the names of the file shares exported by these servers. This extension is called Browsing. It has nothing to do with the web browser you are probably using to read this text. The cifsBrowse module understands the browsing extensions to CIFS and displays a list of servers in your filesystem. Each server is represented by a directory. If you list the directory, you will see the shares exported by the respective server. The shares will appear as symbolic links, and if you follow the link, the share will be mounted with the cifsFile module and the link directs you to the mountpoint.
Although this sounds rather complicated at the first glance, it's very simple for the user. The user simply clicks through the list of servers, then through the list of shares and finally through the files in the shares without noticing the complex mechanisms carried out by Sharity.
These two modules ship with Sharity in the current version. But Sharity can be more than that. It is easily possible to develop other modules utilizing the existing framework for mapping dynamic data into the filesystem. See the developer documentation for more information on how to develop modules.
Since Sharity is currently primarily a CIFS client, it can be used for the following applications:
Access to Windows Servers from Unix
Sharity can be used as an alternative to NFS for Windows. There are several advantages of Sharity compared to NFS for Windows:
- It's faster. Customers report that Sharity is notably faster than any NFS product they have tested.
- Nothing has to be installed on Windows. Many people prefer installing software on Unix instead of Windows because Windows tends to become unstable when software is installed.
- Sharity is more secure than NFS. NFS relies on trusted clients. The result is that anybody with physical access to the network or root access to any client can get almost arbitrary permissions on the server. CIFS (and thus Sharity), on the other hand, requires a password from each user who wants to access data. The password is transmitted in encrypted format on the network. The server has the full authority to decide which files to serve for a particular client based on the username and password the client presented.
- Sharity is cheaper than NFS.
File Sharing over Insecure Channels
Sharity can be compiled to use SSL encryption on the network. It is therefore a VPN (Virtual Private Network) product which can be used to share confidential information across insecure channels (e.g. the Internet). This makes it the ideal solution for Teleworking or for companies with high security requirements. To utilize this feature, you need an SSL-aware server, of course. Sharity is compatible with the SSL mode of samba. If you want to use a Windows server, we offer a freeware product which converts any CIFS server to an SSL-CIFS server (see SSLProxy).
Only one Network Filesystem for All
Using different file sharing protocols (e.g. CIFS and NFS) together makes the server more complex and harder to administer. Sharity can help in this situation by making the Unix machines talk CIFS. You therefore need only one server protocol which fits all clients. A CIFS extension is available even for the Macintosh running Mac OS 7.5 or 8 from Thursby Software Systems.
Sharity does not solve all problems on earth, of course. Although it has many advantages over others, Sharity is not always the best solution under all circumstances. Here's a list of things Sharity can't do, at least in the current version:
- Sharity can't do file locking. If you have applications which rely on file locking, you currently can't use Sharity.
- No File ownership and Access Control Lists (ACLs). Sharity uses the plain DOS file attributes. Although it can't display or modify ownership and ACL data, it is bound to the permissions granted by the server based on these attributes. We hope to implement some kind of access to ownership and ACLs in the next major release.
- No symbolic and hard links. CIFS does not have the concept of links. Sharity therefore can't implement them. It does, however, implement a method to fake symbolic links with ordinary files on the server. These faked symbolic links are only understood by other Sharity clients (and by CygWin32, which is part of the GNUPro Toolkit).
- No device-files and named pipes. These are Unix features which have no equivalent in CIFS.
  
Sharity Manual for version 2.0 | Copyright (C) 1999 by Christian Starkjohann | http://www.obdev.at/
|