Problem:
The Win XP is perceiving the files to be read-only, and I can't figure out why.
Details:
I maintain a couple of websites for different clients, and I am creating mirror setups on my own Linux box to make it easy to do development, test and whatnot.
I can access the sites on my server via my browser and everything just fine. What's giving me problems is my placing files on the Linux filesystem from my Windows system.
I am running Samba, and have the following share set up (and accordingly accessed in Windows).
[websites]
path = /client/hostsetups
valid users = bullwinkle, rocky
force user = rocky
read only = No
create mask = 0775
force create mode = 0755
Due to reasons of stupidity, my Window's id is bullwinkle and all of my Linux presence is rocky. I never use the bullwinkle id on the Linux box directly, it's just the name of my window's id.
The directory structure is such that each of the clients has a directory under /client/hostsetups which is their root, and under that is a www directory which is their webserver document root.
The files in these directories are owned by the "client" with their own ID and own Group (unique groups), defined in passwd and group as appropriate.
my ids, bullwinkle and rocky are both assigned group evilone as their primary user group (500).
Each of the other client's groups, have both of my id's listed behind the definition: xclient1:x:509:rocky,bullwinkle
The files are all defined (in the document root and below) as -r-xrwxr-x (R-X to the owner and other, RWX to the group). Even the containing directory has this same permissions list.
Why are these files only readable to Windows, and what can I do about it?
Should I be listing IDs behind the group definition, or other Groups?
That is, should I be putting evilone as the name behind the xclient1 definition?
What I'd really like is to have samba force the user and group to be the client's user and group, but without me having to proliferate a slew of shares. Is there a way to maintain one share, and have samba force the user and client based upon the directory?
This smells exactly like a username issue, Greg. You really should make sure that the Samba server has the exact same login as the WinXP system, since that's what XP is sending out. Also keep in mind that XPHome has limited network capacity. It won't do Windows domain-based authentication, for example.
Thanks for the reply Rick.
I'm using XP Pro and Samba is my master domain controller.
Can you offer any suggestions on how I can tell if Samba is perceiving my XP userid to be different than my Linux userid?
You can check the logs in /var/log/samba to watch what happens during authentication and such.
If I go to the start button, I note that the username listed is the same case as the userid in Linux (all lower).
Samba finds the correct logon profile to use, which is based upon the username signing on: bullwinkle.logon.bat so I think that's working ok.
It's hard to say without the logs, but my guess is that something isn't authenticating. In your above data, you said the Windows ID is "bullwinkle", but your username in Linux is "rocky". For the authentication to work, "bullwinkle" must also be a Linux user (must have an entry in /etc/passwd) and must also be added to the Samba password database (via smbpasswd). bullwinkle must also have the same password in all three (Windows, Linux and Samba).
You might also find information on this at the Samba site (http://www.samba.org).
The O'Rielly book is pretty good too! -g