Archive for July 20th, 2006

DRM locks in consumers

Thursday, July 20th, 2006

STOP! Gates Locked at 10pm.I followed a story today that was on Slashdot about DRM (Digital Rights Management or Digital Restrictions Management). Ian Rogers posted some really good insight into DRM:

As you know, we’ve been publicly trying to convince record labels that they should be selling MP3s for a while now. Our position is simple: DRM doesn’t add any value for the artist, label (who are selling DRM-free music every day via the Compact Disc), or consumer, the only people it adds value to are the technology companies who are interested in locking consumers to a particular technology platform.

We’ve also been saying that DRM has a cost. It’s very expensive for companies like Yahoo! to implement. We’d much rather have our engineers building better personalization, recommendations, playlisting applications, community apps, etc, instead of complex provisioning systems which at the end of the day allow you to burn a CD and take the DRM back off, anyway! And on the consumer end there is certainly some discount built into that $0.99 download for the fact that you can burn a limited number of times, can’t play it on your Squeezebox, can’t DJ it with your DJ software, and can’t make a movie out of it with iMovie? I certainly hope so. Un-DRM’d content is implicitly more valuable to a consumer.

I think the same is true for using proprietary protocols versus standard protocols – the proprietary protocols lock consumers into a particular platform or product. It’s too bad that MP3 players aren’t known as OGG Vorbis players. Another good reason to use BACnet.

Samba, CIFS, and Ubuntu Linux Server

Thursday, July 20th, 2006

confusedI run a couple of servers at my house. One of them is my fileserver, and it uses Samba to do simple Windows filesharing. My 20 GB digital photos partition was full, so I got a 120 GB harddrive and setup an Ubuntu Server 6.06 based fileserver. I transferred the files using rsync, and installed samba on the new server. I set the UID=nobody and the GID=users on all the files. I set the group id inheritance bit on the Linux directories, and removed the world/other rights.

#!/bin/bash
# files are read/write for group and owner
find $1 -type f -exec chmod 660 {} \;
# directories are read/write/cd-able/inherited GID
find $1 -type d -exec chmod 02770 {} \;
# make these files owner=nobody, group=users
chown -R nobody:users $1

I setup Samba to mimic the Linux file system, and forced some settings when new files and directories are created. Here is my smb.conf entry:

[data]
comment = Common Data Directory
path = /home/skarg/data
force user = nobody
force group = users
read only = No
create mask = 0660
force create mode = 0660
directory mask = 02770
force directory mode = 02770
inherit permissions = Yes
guest ok = Yes

Normally, you can add a CIFS mount in /etc/fstab, and specify the UID and GID that the linux filesystem will use. But the cifs filesystem mount wasn’t using the UID that I specified, and that’s when I discovered that Samba now has unix extensions, which cause the problem that I was seeing. Unix extensions can be turned off in samba by adding the following line to /etc/samba/smb.conf:

[global]
unix extensions = no

I also turned off the extensions on the workstation:

echo 0 > /proc/fs/cifs/LinuxExtensionsEnabled

I was trying to get one of the other Ubuntu Server based linux servers to mount the Windows share, but kept getting an error message:

CIFS VFS: cifs_mount failed w/return code = -22

Google found the mailing list where someone had that problem, and the solution was to add the mount.cifs command, since the kernel didn't know the domain name to IP lookup. I tried to use the advanced package tool to find it:

apt-cache search mount.cifs

Nothing. I tried several other solutions, but they didn't work. I Googled again, and found another post about mount.cifs, which made me think, and I searched the server for mount.cifs using the locate command. mount.cifs wasn't there! Finally I went to the Ubuntu packages site, and did a search in the contents of each package. mount.cifs is part of the smbfs package. I initially didn't want to install the smbfs package since smbfs is depracated in favor of cifs.

sudo apt-get install smbfs

Now the server has the CIFS filesystem mounted. However, it is not perfect yet. Stay tuned!