Nicholas: > On Sun, Dec 07, 2008 at 03:20:01PM -0600, Brian Cameron wrote: >> Thanks for the information. Unfortunately, using chmod/chown does not >> seem a workable solution to me, unless I am missing something. Normally >> logindevperm(4) is used for managing the ownership and permissions of >> device files (like the audio device), and if the GDM daemon just calls >> chown/chmod on the audio device, then it seems this could easily cause >> inconsistencies with logindevperm. > > As Mark replied, chmod(1) isn't just for setting file permissions, but > also for ACL manipulation.
Yes, sorry for being thick, and thanks to everyone for explaining things. I think I understand better now. > That said, I don't see why di_devperm_login() couldn't stomp all over > the ACL too. So you'll need to make sure that di_devperm_login() > doesn't stomp over the ACL, which will probably mean running an ARC case > and updating the logindevperm(4) manpage. I agree that the solution of GDM messing with ACL's is not an ideal solution. No matter how we resolve this problem, I think a scenario could be imagined where the audio would not be managed as expected. This is because if multiple users are competing for the same audio device, then a user with a11y text-to-speech issues can easily find themselves in a situation where they can't use audio in their session because another user has already acquired it. Even if GDM allows you to log in with text-to-speech, this is not really useful if you can not use the audio device once you have logged into your session. Note this is not really an issue with Sun Ray since each Sun Ray device has their own audio pseudo-device and users are not competing for the same device. These logindevperm issues is only a concern for users logging in via the console (with VT or otherwise). Really, the purpose of using ACL's is to give GDM access to the audio device in the normal use-case where a user with accessibility needs is not competing with other users for the audio device. It is a nice technique to use since it doesn't confuse logindevperm by changing the actual ownership/permissions of the device files. If we want to try to solve the bigger problem of how text-to-speech should work when users are competing for the same audio device, then that is a much bigger problem, I think. I do not think this is a very common use-case, though. GDM has pretty much worked the same way since Solaris 10, and I have never had a user complain about this sort of issue. Though this could perhaps become more of an issue when VT usage becomes more popular. That said, Linux distros have the same problem. The main reason this issue came up is because Indiana uses ZFS, and the ACL's that GDM use obviously stopped working, and this caused text-to-speech stopped working when using GDM on Indiana. I mainly needed help to figure out how to use ACL's with ZFS so GDM can work on Indiana as well as it does on Nevada. > Alternatively, can't GDM open the devices it needs before dropping > privileges? It does run with all [zone] privileges, after all. This might be possible, but I do not think it would be easy. Note that the root-running GDM daemon runs the login GUI as the "gdm" user. Then AT programs (such as orca) are launched via a11y interfaces by the login program (if GDM is configured with a11y turned on). Coming up with some mechanism so that the root-running daemon opened the device and somehow passed this file-handle off to a subprocess running as a different user seems tricky. >> Remember, for example, that multiple users can login into the same >> machine. Perhaps one via the console, and other users via XDMCP or >> other remote methods. VT (Virtual Terminal) will soon integrate >> into Solaris and add yet another way that users can log in. > > VT is in *now* and has been for a few builds. Sort of. VT is in the kernel, but not yet enabled in the Xserver. It also is not turned on via SMF by default. From GDM's perspective, VT isn't really useful if it isn't supported by the Xserver. Thus VT is not supported by GDM currently either. I understand VT will be enabled in the Xserver sometime in the next quarter. Once that is done, then VT will be fully supported on Solaris. Brian _______________________________________________ zfs-discuss mailing list zfs-discuss@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/zfs-discuss