Christopher Allen Wing wrote:
Hello,
On Tue, 11 Apr 2006, O Plameras wrote:
I have running servers with OpenAFS-1.4.1 on FC5 using kaserver.
I have used clients running OpenAFS on FC4/Win2000 and
OpenAFS-1.4.1rc10 on FC5.
This setup is working without any problem so far.
Do you have any actual users in your AFS cell yet? Or did you just
set it up with kaserver for testing purposes?
If you don't yet have any user accounts / passwords, it's probably
easiest not to bother with the kaserver conversion, but instead, just
create new principals in the k5 database and reset the afs key.
I have only half-dozen users. Yes, I created new principals in the k5
DB and reset afs key.
I want to convert from kaserver to krb5.
I installed and tested krb5-1.4.3 KDC. This works.
Then I did these.
[EMAIL PROTECTED] admin/admin
[EMAIL PROTECTED] example.com.ex -k EXAMPLE.COM.EX
[EMAIL PROTECTED]
Tokens held by the Cache Manager:
User's (AFS ID 1) tokens for [EMAIL PROTECTED] [Expires Apr 11 22:04]
--End of list--
Did you create a new 'afs' principal in the K5 database?
Yes, I did. This is how I did it.
#kadmin.local -e des-cbc-crc:v4 <<EOF
addprinc -randkey afs/example.com.ex
ktadd -k KeyFile afs/example.com.ex
quit
EOF
#set `klist -k KeyFile | tail -1`
#asetkey add $1 KeyFile afs/example.com.ex
After this, I can do this because I have user
admin in k5.
#kinit admin
#aklog
The problem is after this I can't
#vos listvol toshiba.example.com.ex
In the AFS_K5_NAME_CHANGE it says to the effect that
I have to run afs2k5db and that's where I have compile errors
in attempting to compile using FC5 source rpm. The specific
errors amongst others say, files are missing, like:
k5-int.h
adm.h
I search the source codes of openafs-1.4.1rc10 but are not found
there. I noticed they are in openafs-1.3.8.
It is my understanding that I need to run afs2k5db on kaserver.DBO
and use the output to update krb5 keys.
You only need to do this if you have users and passwords which you
care about preserving. Otherwise, it's probably simpler to recreate
the principals in the K5 database, and create a new
'afs/[EMAIL PROTECTED]' key.
OK, I got this. I am able to create principals in K5 to aklog
successfully. The problem after this
is I can't do AFS maintenance commands like #vos listvol <server>, etc.
I have about 500Gbytes and for this reason I can't reset my DB.
My problem is I can't compile afs2k5db.
You need to have the source code tree to the version of Kerberos which
you are running. This can be a pain.
Yes, I have the source code tree and attempted to recompile. As I
mentioned earlier the error is due to missing
files, like k5-int.h, adm.h.
Did you compile krb5 yourself, or are you using the stuff from FC5?
If the former is the case, no problem. If the latter is the case, you
will need to download the FC5 source RPM for kerberos, and do
something like:
create a temporary RPM root to build RPMs
rpm -ivh krb5-1.4.x.src.rpm
cd <rpmroot>/SPECS
rpmbuild -ba krb5.spec
Yep, I've done this.
Then you will have an expanded source tree in <rpmroot>/BUILD which
you can use to compile the afs-krb5 stuff. Note that you have to
actually perform the build in the krb5 directory, because some of the
files used by afs-krb5 require an actually built krb5. (you can't
just download the Kerberos source code and untar it)
Then download the afs-krb5 tar file. It won't build properly against
recent OpenAFS and Kerberos so you will need some patches. I have not
yet built afs-krb5 against krb5-1.4.x, so I don't know what changes
are necessary.
However, here are the patches that I used to build afs-krb5 against
krb5-1.3.x and openafs-1.4.x:
http://www-personal.engin.umich.edu/~wingc/openafs/dist/1.4.1-rc2/SOURCES/
afs-krb5-2.0-umich.patch
afs-krb5-2.0-kfdump.patch
afs-krb5-2.0-krb524.patch
afs-krb5-2.0-k5private.patch
afs-krb5-2.0-libsocket.patch
afs-krb5-2.0-warnings.patch
afs-krb5-2.0-betterka2dump.patch
afs-krb5-2.0-res_search.patch
afs-krb5-2.0-com_err.patch
afs-krb5-2.0-openafs1.3.patch
afs-krb5-2.0-noaklog.patch
I did not have these files. Thanks, for pointing to these files. I'll
incorporate these
and see what's going to be the outcome.
Download the patches and apply them in that order to the afs-krb5
source code.
You need to have the header files and libraries that come with OpenAFS
for development purposes. (probably in the openafs-devel RPM)
You then need to build it as follows:
cd <afs-krb5 source code tree>
autoreconf
./configure -prefix=/usr --with-krb5=/usr/kerberos \
--with-afs=/usr --with-umich
OK, I'll do.
# where <rpmroot> is the RPM root where you built the krb5 stuff
# (make sure that <rpmroot>/BUILD/krb5-1.4.x/include is actually the #
correct path to the include files, etc.)
make EXTRA_INC="-I<rpmroot>/BUILD/krb5-1.4.x/include
-I/usr/include/et"
I'll do.
That probably assumes that you are using a 32-bit OS, because it will
look for the AFS libraries in /usr/lib not /usr/lib64. If you are
using a 64-bit OS, you will need to do something different with
--with-afs.
I have a 32-bit.
I use something similar to the above to build it on RHEL4, however I
always build afs-krb5 along with the rest of OpenAFS, so I have access
to the OpenAFS source code tree.
If you build OpenAFS yourself (from RPM), then you can do:
./configure -prefix=/usr --with-krb5=/usr/kerberos \
--with-afs=<afsrpmroot>/BUILD/xxx/<sysname>/dest --with-umich
where <afsrpmroot> is the RPM root where you built OpenAFS, and the
files are built into BUILD/openafs-x.x.x/xxx/sysname/dest
where sysname is probably i386_linux26 or amd64_linux26, etc.
As you can see it is somewhat complicated.
I'll take this as a learning experience.
If you want to go ahead and use afs-krb5, you may also find this
script useful:
http://www-personal.engin.umich.edu/~wingc/openafs/dist/1.4.1-rc2/SOURCES/kas-kdb-merge.pl
Yes, I'll go ahead and certainly, I'll use this.
The afs2k5db program generates a krb5 dump record which is missing
'last modified by' data. This is because getting the information
requires more knowledge of the kaserver database than afs2k5db
implements.
If you use that script, it will take the output of 'kas list -long'
and add back in the 'last modified by' data into the dump record.
This is mainly interesting if you have been running kaserver for a
long time and would like to preserve as much metadata as possible when
you convert to pure krb5.
Thanks for this info. Any little hints is always useful.
But overall, if you don't have any actual production users in your
cell, or if you only have a few people and it wouldn't be a big deal
to just change their passwords, I would recommend skipping the
afs2k5db entirely and just regenerating the afs key from scratch.
Thanks again.
O Plameras
_______________________________________________
OpenAFS-info mailing list
[email protected]
https://lists.openafs.org/mailman/listinfo/openafs-info