George Mamalakis wrote:
Hello everybody,

in our department, we have decided to move our configuration from NFS/SAMBA to LDAP, OpenAFS, heimdal and samba on our labs. Our servers run FreeBSD, while our clients are dual boot machines, running linux and Windows XP. The book "Distributed services with openafs" has been a great aid to our venture, but there is a big thing that needs to be resolved, that the aforementioned book seems to not be able to cover.

Heimdal, OpenAFS and LDAP worked (after long hours of testing and debugging) like a charm, which means that users are now able to login on linux boxes using their kerberos credentials (through pam), retrieve all needed information (nsswitch) from ldap, and have their home folders stored in afs space.

Samba, on the other hand, seems much more difficult to configure. The book takes an approach of the following concept: All machine/user/group information is stored on the LDAP server and Samba is configured to function via LDAP (OpenLDAP, of course). Users are required to join the Samba domain, and access their home folders/profiles via the Samba server. Since authentication/authorization is completely left to samba, there is no direct communication of the user with the KDC (or afs whatsoever). For users to access their folders and profiles, samba has to become a kerberos/afs client with all needed privileges to perform its actions. Therefore, instead of storing files in our ufs filesystem, samba stores them in afs space. I will not delve into more details, since the problem starts quite soon.

User homedirs are located in /afs/mydomain/users/<userdirs>. Machines join our domain without any problems. A user "windows" along with its principal have been created in the samba machine and the KDC respectively. The same user has been created in the afs server as well, and that users has all (afs) permissions granted on the users' home directories (via acls). On the samba server, after /afs has been mounted, user windows is able to access everything as should, once I "kinit windows" and then "afslog mydomain". So, I changed samba's rc script so as to "kinit windows" and then obtain the afs token through "afslog mydomain". The first problem was that when I first connected with my testuser on samba through smbclient, samba refused to give me any sort of access on my home folder. After setting "fs setacl /afs/mydomain/users/testuser system:anyone all", I was able to connect with smbclient, and when I created a directory, the directory's owner was 32766, which stands of course for system:anyone..

I have changed my samba rc script so that once samba gets started, the script touches a file in /afs/mydomain/users/testuser. The file's owner is "windows" indeed!

I don't understand why this happens. I suppose that once the samba processes (smbd, nmbd) have been forked by the rc script, for some reason that I miss, tokens are not "passed" to them, and hence the problem exists.

The book describes this procedure through the use of MIT Kerberos implementation and not heimdal. In this case, "aklog -setpag" may probably result to something different than afslog...I really don't know.

In any case, does anybody know how one may resolve this issue? And if not, is there an alternate way to configure my systems?

Thank you all for your time in advance, and I hope that somebody will help

Why aren't you just using the native OpenAFS client for windows?

If you must do samba, have you configured windows and samba to use clear-text passwords? Samba must pass the raw password to OpenAFS, not the lanman-hashed version that samba receives from the client.

Sincerely,
Jason
_______________________________________________
OpenAFS-info mailing list
OpenAFS-info@openafs.org
https://lists.openafs.org/mailman/listinfo/openafs-info

Reply via email to