AFP548

WebDAV and Access Control Lists (ACL’s)

Using ACLs with WebDAV allows for much finer control.

In the past, in order to allow a user access either access locally to their home directory or remotely via WebDAV the ownerships on the folders either had to be owned by the user themselves for local access or owned by www for remote access. Because of this the POSIX permissions often got quite messy.

This is all a thing of the past now with Tiger and ACL implementation. The ability to add the user www to your existing home folders allows for many advantages over the previous way. With ACL’s administrators can override the older POSIX style UNIX permissions and bring their servers (including web based services) into the 21st century.In order to add ACL’s to your Apache’s WebDAV realm, you must first enable Access Control Lists on your server itself.

1. Launch Workgroup Manager and click on the Sharing Pane and then the All tab. Find the location where your WebSite (Or home folders are located) and enable the “Access Control Lists on this volume” under the general pane on the right.

This can also be accomplished via the CLI using the following command:

fsaclctl -p /Volumes/VOLUMENAME -e

Note: If the Folder/URL you are trying to share out is on an Xsan based volume this is the end of the line for you as currently ACLs are not supported in Xsan (v1.2) or earlier. This is where you get to deal with the good old fashioned POSIX permissions and Crontabs to change ownerships and permissions.

2. Once you have enabled ACLs on the volume, you can then get down to business. This is of course assuming you have the know how to setup a site using either non secure ports, typically port 80, or using an SSL certificate and running it on port 443. This article also assumes you understand the basics of WebDAV, what modules you need to have enabled and how the site name and HTML works.

3. What the WebSite quickly needs in order to get running via WebDAV.

4. Once you are comfortable that you have the setup implemented properly for your WebSite/Realm, you can then load up workgroup manager and enable your ACL’s for both the user who needs access to the files and folders as well as enable access for the user www with at least Read and Write access into the users home directories.

5. With ACL’s enabled on your server disk, you now want to do the following:

/Volumes/data/HomeFolders --> Root level
/Volumes/data/HomeFolders/username --> Web Realm

c.) Leave the ownerships as handed out with the older UNIX Posix style when you first setup the account:

Owner: username     Read and Write      (rwx)
Group: staff            Read Only             (r-x)
Everyone:               Read Only             (r-x)

d.) In the Access Control List settings, you should now click on the “Users & Groups” button on the bottom of the window and drag in the users who coincides with the username and give them “Full Control” over the files and folders. You need to do this because during the day, the users need to be able to access their home directory when logged in from a managed account on the network. You then need to select the /netinfo/root from the Directory Search Path and drag in your www user into the ACL list as well. You can give the user www any of the permissions that you need, however since this account type is only ever going to be accessed from outside the office/school environment, I generally only give the user “Read and Write” access. This should help from giving too much ability over a user account type that can be compromised with a weak password.

Your final user setup would look like:

Owner:     username    Read and Write  (rwx)
Group: staff        Read Only           (r-x)
Everyone:              Read Only                  (r-x)
Access Control List
username:Allow:Full Control:NO:This folder ...
World Wide Web:Allow:Read and Write:NO:This folder ...

e.) Once you have finished off with the initial setup, you want to propagate those permissions and setting within all the subfolders and files within that users home directory. In this case we only need to propagate the ACL settings from the permissions window.

6. With these settings done, you now need to add the user and the path for their home access to the WebSite that you setup back in step 3. To do this, in Server Admin, select your Web Site and then click on the “/” button to go into editing mode. Select the Realms button. To add a user to the realm, you need to do the following:

7. Propagating these permissions via the CLI interface:
(Ed. note. You can also propagate with Workgroup Manager.)

What this does: This type of setup gives the end user the ability to access their home folders across the web and mount them on their desktop as if they were hard disks.

This gives them the ability to have full read and write access to their files and folders when they are local in their office environment and access to those files when they are located remotely.

Even though they are prompted for a user name and password, the file and folders that are copied and worked on are changed to www when moving data back and forth remotely.

The biggest thing they need to remember is the URL to their folders:

http://webdisk.company.com/username

The biggest thing you as an administrator need to ensure is that you have the best security type available chosen and that your users do not have easy to guess passwords on their accounts.

Exit mobile version