nas4free

Add packages from FreeBSD

Do NOT install remote packages. It will install over the root filesystem and break things.

export PACKAGESITE ftp://ftp.freebsd.org/pub/FreeBSD/ports/amd64/packages-9-current/Latest/
pkg_add -r wget
Add data partition

This would happen in a situation where you've done a full install onto an extra drive, and want to use the extra space for storage.

Add DATA partition, and DO NOT FORMAT. Add disk ada0 in Disks: Management. Add the mount point in Disks: Mount Point: Management. Settings: Disk ada0, part 2, part MBR (default is GPT), UFS.

Add swap partition

Enable swap at System: Advanced: Swap. Add device name, fex: /dev/ada0s3

Add encrypted partition

First import the disk at Disks: Management. It will be unformatted.

Create a new encrypted disk at Disks: Encryption.

Format the disk at Disks: Format. In the disk select menu, it will display (Encrypted disk) for the selection. Use MBR partition type. The partition number will be 1.

Finally, mount the disk as normal.

Notes

I tried setting up nas4free on a server, so that it could act primarily as a netatalk NAS. I wanted to use one user that everyone could read and write to (macuser, macgroup), and so I created separate users with different passwords, but had the same UID and GID:

vi /etc/passwd
vi /etc/master.passwd
pwd_mkdb /etc/master.passwd

This worked fine once the server was setup. However, nas4free overwrites the user files on startup, removing it as an option. I should also note that changing users on the frontend would also do the same thing.

Aside from that, everything worked fine. Mac clients didn't have any issues seeing the server or the shares on the network, and the general issues that usually accompany an install were gone too. Finder was not finicky.

All in all, it was a good test run, but ultimately I couldn't use it because I can't create separate users. If I was somehow able to set the umask of all the new files, then it would be a viable option. However, my preferred attempt is still to get one user to read and write files as, and duplicate the users through a shared UID.