Trustee DB Export (beta)

Welcome to the Trustee Database Convert page. For details about what this utility does, or for help with it, please see the README. (The README text is temporarily pasted below the input fields for now…)

Step 1: Enter your Volume Name without the traditional NCP-style colon (e.g. VOL1). The volume name is for the results output only, no validation is performed.

NCP Volume Name:

Step 2: Browse to your Trustee Database File. It *must* be named “.trustee_database.xml” (note the leading dot, and without the quotes!), and is limited to 256K in size max (the script will not even upload anything over that). For larger files, please contact me.

Trustee DB file:

Step 3: Click here to launch:

Contents of README:

– “What does it do?” – This utility parses the .trustee_database.xml that you submit, and generates an output that contains all you need to create a script to re-import all those assignments. This is helpful if you have an NCP-only (non-NSS) volume and are basically left out in the cold as far as having utilities available to you for backup/export/migration of trustee assignments. Oh sure, if you have NSS, you have a whole shed full of tools, but if you don’t have NSS, you just get “ncpcon”. And I’m glad for that, but there was no automation tool… …until now…

– “What is beta?” – It means that you are lucky if it works. Actually it seems to work quite well with a few known oddities… So I guess beta really means that I make no promises…

– “NCP or NSS?” – It works with both NSS/NCP volumes *and* NCP-only (non-nss) volumes, because NSS trustee assignments can go through ncpcon too. By “NCP-only”, I mean a volume that was created on top of a standard Linux filesystem, like ext3 or Reiser.

– “Result output text-wrap?” – Be careful to notice if the result lines wrap around in the html text! If they are wrapped, they *might* not paste into your script as one line, and in that case the individual command will fail.

– “Case sensitive?” – The volume name you enter is not case-sensitive. Even though this is Linux-related, the NCP engine that we are calling does not care about the case. Just make sure there is no colon after the name!

– “Privacy?” – This utility does not store your trustee database file anywhere except in memory for the duration of the execution. Seriously, I don’t want your trustees file, and I don’t want someone else to get it either. I can’t really prove it to you, so you’ll have to take my word for it. If you don’t want to take my word for it, don’t use the utility. And I’m not sure anyone really cares if cn=sue.ou=marketing.o=corp has RF to USERS:tom… oh wait, that *does* sound kinda juicy….

– “Utility won’t work?” – If get errors, or your .trustee_database.xml is too large, or you just don’t want to use the web interface for any reason, contact me and send the file to me and I’ll convert it off-line. By the way, with some errors, you’ll get a message output (like bad filename), and with others you get re-directed to the base cgi script (like file too big)… Beta, folks…

– “Script won’t work?” – If you pasted the output results into a script and your script won’t execute, remember that you need to change the Linux file type to executable (chmod +x scriptname), and to run it, you need to give it the path to where it is (try ./scriptname).

– “Why did you make this utility?” – For the whole sordid story, and why you might want to use it to save yourself, see this blog post:

– “Where is my Trustee DB?” – The trustee db can be found at /yourVolumeRoot/._NETWARE/.trustee_database.xml. If your volume is NCP-only (non-NSS), then yourVolumeRoot is whatever you set it to (like /vol2). If your volume is NSS, then yourVolumeRoot is likely /media/nss/volumeName.

– “How do I get the trustee db from my server?” – Well, that’s up to you. There are myriad ways. You could even access my blog and this utility right from your server console, though I encourage you to have a copy of your trustee db offline anyway, and you could use that.


  1. Pär

    Nice work! This saved me a bit of extra work.

    However, it seems the resulting ncpcon commands doesn’t work well with folders with extended characters (åäö) in them…

    But still very useful to us. Is there a downloadable offline version as well? 🙂

  2. Jeremy Pavlov

    @ Pär

    Thanks much for reporting that flaw; I will look into that. In some initial testing, I’m unable to reproduce the failure; at least on my script side. It might be that ncpcon itself has the problem, but i won’t know that until I test a little further…

    As for a down-loadable version, I’ll just say this: I didn’t make it pretty enough to make it globally down-loadable. But I have tried contacting you via email and have not received a response…?


  3. Mike

    I think you just saved me!!!

    I have NCP on Reiser and need/want to move to NSS on same server.

    Lovely migration utilites don’t seem to work when server is the same for both source and destination. Well, I am going to test out this utility, but can you send me a copy of the script as well. (I take it is only web, and not a shell script?)


  4. Jeremy Pavlov

    @ Mike

    I’m sure glad if it helped. Sounds like you are in a situation that was different but similar to the one that forced me to write this tool in the first place.

    I have to admit I haven’t cleaned the script up for general release yet, but I will… some day…

    No, it’s not a web-only thing. In reality, it’s got some front-end cgi/html stuff, but mostly it calls back to a bunch of perl code that is transportable… I just need to pretty it up…


  5. Carey Brown

    I can vouch for saving people’s bacon. This site and your script have saved a lot of work and hassle. We are planning to migrate our files off of some NCP shares and wanted to make sure we had the trustee rights before hand.

Leave a Comment

Your email address will not be published. Required fields are marked *