|
TroubleshootingCreating a Debug LogIf you reported a bug or problem to our support, we may ask you for a debug log of the session. In this case please do the following:
Recovering from a Daemon CrashSharity consists of two parts: A user interface which does all the interaction with the user and a daemon which performs the real work in background. While a crash of the user interface has no serious consequences, a daemon crash may cause a lot of trouble: If the Sharity daemon crashed or if you killed it accidentally, all mounts served by Sharity will hang. But don't panic: You can usually recover from that. If you can afford it, the easiest way is an immediate reboot. If a reboot is not possible, try to umount the Sharity mounts with the system's umount (or unmount) utility. Use the "-f" option to force the umount if it is available. If this is not sufficient, start the Sharity service with (default installation path assumed):/usr/local/sharity3/sbin/sharity.init startThen try to unmount with the system's umount or unmount again. When you eventually managed to get rid of all Sharity mounts, simply kill the daemon. [You should never ever kill sharityd, except in this particular situation!] Then start it again and the service should be restored. Unmounting may fail with a "Device or resource busy" error message. This means that an application is still using a mount. The umount will not succeed before you have killed that application. To find out which application is busy on the mount please use the "lsof" or "fuser" utility. The source code to "lsof" is freely availabe. Debugging Kerberos and Active DirectoryKerberos and Active Directory functions are implemented in a separate per-user daemon. This daemon (sharity-userd) can be debugged separately, without running any other parts of Sharity. However, it may need special environment variable settings in order to work. To get a shell with these environment variables set, do the following (as user, unless you want to debug root logins):/usr/local/sharity3/sbin/sharity.init testshellThis will put you into an "sh" type shell. You can start your favorite shell from there. Before we actually start with sharity-userd, make sure that you have a valid Kerberos ticket. Type "klist" to show your Kerberos tickets and use "kinit" to login if required. Assuming that you have a valid Ticket Granting Ticket, you can do sbin/sharity-userd getUserPrincipalto display your Kerberos principal name. To acquire credentials for a particular server, do sbin/sharity-userd getKrb5Auth <server-principal>where "<server-principal>" is the Kerberos principal for the server. This name is usually constructed from the server name as "servername$@REALM" where the realm is usually the uppercase version of the domain name. For example: bash$ sbin/sharity-userd getKrb5Auth 'pdc1$@TEST.HOME'If you succeed with these steps, a Kerberos login should work. If it does not, please make sure that you use the default credentials cache (environment variable KRB5CCNAME not set). Since Sharity is started at boot time, it cannot inherit your environment settings. To test access to Active Directory, try sbin/sharity-userd ldapQuery <domain> 1 objectClass=userwhere "<domain>" is replaced with your Active Directory domain. For example: bash$ sbin/sharity-userd ldapQuery test.home 1 objectClass=user userd/db0: trying ldap connect to pdc1.test.home port 3268 userd/db0: SASL Interaction: challenge=Authorization Name prompt=... userd/db0: SASL Interaction: defaultRes= entry 0 dn = CN=TsInternetUser,CN=Users,DC=sub1,DC=test,DC=home cn = TsInternetUser displayName = TsInternetUser instanceType = 0 distinguishedName = CN=TsInternetUser,CN=Users,DC=sub1,DC=test,DC=home objectCategory = CN=Person,CN=Schema,CN=Configuration,DC=test,DC=home objectClass = top person organizationalPerson user [...] If this command succeeds, too, you should be able to browse Active Directory through Sharity. If one of the commands fails, the error message should give you a hint to the cause of the problem. | |||||
|