Multiuser (or at least dual user :) ) puppy linux

A home for all kinds of Puppy related projects
Message
Author
User avatar
Pizzasgood
Posts: 6183
Joined: Wed 04 May 2005, 20:28
Location: Knoxville, TN, USA

#41 Post by Pizzasgood »

chmod u+s /usr/sbin/ddcprobe
[size=75]Between depriving a man of one hour from his life and depriving him of his life there exists only a difference of degree. --Muad'Dib[/size]
[img]http://www.browserloadofcoolness.com/sig.png[/img]

User avatar
WarMocK
Posts: 169
Joined: Thu 05 Jul 2007, 11:53

#42 Post by WarMocK »

Ok, thank you very much. I'm gonna try that out as soon as I set up a new testing environment for it (I don't want to nuke my installation for day-to-day work with experiments like this ;-)).

User avatar
WarMocK
Posts: 169
Joined: Thu 05 Jul 2007, 11:53

#43 Post by WarMocK »

HALLELUJA! It worked! :D
I combined the info from both threads and set up a few little scripts, among with modified versions of the init scripts for X. Now I can use the programs that were already installed on the system, but I cannot mount any devices. Still need to check out my internet connectivity as well (using my standard system again right now), but I hope to find that out in the next few days.

Thanks Pizzasgood! You saved my day. :D

User avatar
Pizzasgood
Posts: 6183
Joined: Wed 04 May 2005, 20:28
Location: Knoxville, TN, USA

#44 Post by Pizzasgood »

Here's Multiuser Puppy 4.2.1 Beta 2:

< BETA REMOVED >
md5sum - (eef9d8f392e055033444b7f2fabdc5f9)

Changes:
  • The adduser wizard allows you to opt out of putting new users into the audio and disk groups.
    Users in the audio group should be able to use audio properly.
    Users in the disk group should be able to mount (but unfortunately not unmount) any partitions that have the "group" option set in /etc/fstab and have the device node's group set to 'disk'. Mounting must be done with mount-FULL, not mount.
    Puppy should automatically add entries in /etc/fstab for any partitions it detects, including on-the-fly ones (flash drives), and will give them the group option and set the device node to 'disk'. This means you can also navigate to /mnt/ and click the dir and ROX-Filer will mount it too.
    The adduser wizard should also automatically set up an /etc/X11/${USER}/ directory.
    The cursor selector should now work for users.
    The wallpaper setter (actually, pwidget's background handling) should work for users.
    The "restart X" option should work now.
    The timezone wizard is usable by users (stores choice in ~/Choices/localtime and is read by /etc/bashrc).
I have no idea how to let limited users unmount the partitions they mount. The only thing I can think of would be to write a daemon that runs as root and looks in /tmp for a flag, and do some checking to verify that it was created by a user in the disk group and then unmount the partition. That seems like a pretty clutzy solution to me. But if I can't think of anything better, that's what I'll have to do.

I verified that CUPS works fine as a limited user. I was surprised. It shouldn't by default. I think somebody probably chmodded something they shouldn't have when making the package. But I'm not going to mess with it though, unless somebody has very strong emotions about this.


There are still no drive icons on the desktop and I'm not going to bother adding any.

The icon changer does not work, and I'm not going to fix it. (The problem is that how it works is to change the icons in /usr/share/pixmaps/, which is a root-only location. I don't know of any good way to adjust the icon path to be per-user, so I'm not going to bother with it.)


Other than the unmounting thing and any bugs, I consider this done. I'm going to start writing up my documentation later this week.

There still things that could be improved but I'm not going to improve them. My goal wasn't perfection, just to get it to the point that it's more than good enough. As far as I'm aware, all that's left is the fluff, things that just make it nicer but aren't actually needed (automatically generating menus, for example). A graphical login program like XDM could be installed. But as it is, you can just log in via. CLI like real men. Etc. etc.
Last edited by Pizzasgood on Sun 04 Oct 2009, 21:06, edited 1 time in total.
[size=75]Between depriving a man of one hour from his life and depriving him of his life there exists only a difference of degree. --Muad'Dib[/size]
[img]http://www.browserloadofcoolness.com/sig.png[/img]

User avatar
WarMocK
Posts: 169
Joined: Thu 05 Jul 2007, 11:53

#45 Post by WarMocK »

Hehe, can't wait for the documentation, man.
I've been working on my K-9 project again to make it a multi-user system as well, and it seems to work pretty good so far. However I need to set up the whole security framework now, which is the tricky part. Preparing Puppy for basic multi-user support and creating an account management tool was piece of cake when compared to that.

User avatar
dejan555
Posts: 2798
Joined: Sun 30 Nov 2008, 11:57
Location: Montenegro
Contact:

#46 Post by dejan555 »

Hey Pizzasgood, someone found out about multiuser puppy reading my blog and he/she has problem with grub, can you take a look @ comments, don't know if this is puppy issue or he/she didn't pick right options when installing grub:
http://dejan555.freehostia.com/?p=31&cpage=1#comment-10
puppy.b0x.me stuff mirrored [url=https://drive.google.com/open?id=0B_Mb589v0iCXNnhSZWRwd3R2UWs]HERE[/url] or [url=http://archive.org/details/Puppy_Linux_puppy.b0x.me_mirror]HERE[/url]

SrDorothy
Posts: 3
Joined: Sat 24 Jun 2006, 23:19
Location: Lacey, WA

MultiUser Puppy--Grub trouble

#47 Post by SrDorothy »

Hi, Dejan & Pizzasgood--

Some but not extensive experience with Linux...but I really like Puppy and have installed it before without problems. I did a full install of MultiUser Puppy on an old compaq deskpro with 6 GB hdd and 192 MB Ram. I chose install grub on MBR. When finished, I rebooted without cd, and got a (terminal-like screen) with a short paragraph about tab giving some possible completions after the first word, and then below:

grub>

When I pressed tab, I got a list of words like boot, ioprobe, etc. Tried typing boot after grub> but then got a message that the kernel has to be loaded first. :cry: Don't know how to do that.

Does this give you any idea of where I might have gone wrong?

many thanks,
srdorothy

SrDorothy
Posts: 3
Joined: Sat 24 Jun 2006, 23:19
Location: Lacey, WA

MultiUser Puppy--Grub trouble

#48 Post by SrDorothy »

I tried once more installing M.U. Puppy to hdd, and this time got a message that the hdd could not be unmounted (I had saved a pup_save file). So I put in my Mepis live cd, found the file and as root deleted it. Rebooted Puppy cd, and didn't get the 'can't unmount hdd' message...continued with install, etc, and couldn't boot Puppy on the hdd.

So with the live cd I mounted the hdd, and found and edited menu.lst per the installation instructions, but still no joy.

I think there is something important that I am missing...8^)

User avatar
dejan555
Posts: 2798
Joined: Sun 30 Nov 2008, 11:57
Location: Montenegro
Contact:

#49 Post by dejan555 »

Try to do grubconfig from one of your other puppy cd's that work
(Menu -> System -> Grub Bootloader config ) then edit menu.lst to boot multiuser puppy
puppy.b0x.me stuff mirrored [url=https://drive.google.com/open?id=0B_Mb589v0iCXNnhSZWRwd3R2UWs]HERE[/url] or [url=http://archive.org/details/Puppy_Linux_puppy.b0x.me_mirror]HERE[/url]

SrDorothy
Posts: 3
Joined: Sat 24 Jun 2006, 23:19
Location: Lacey, WA

MultiUser Puppy--Grub trouble

#50 Post by SrDorothy »

Thank you, Dejan--I'll try that!

User avatar
Max Headroom
Posts: 421
Joined: Wed 28 Jun 2006, 07:17
Location: GodZone Kiwi
Contact:

G'day Pizzasgood & dejan555

#51 Post by Max Headroom »

Wundered 'bout recent Progress, & Developments w/ a view to Applying this to Dingo 4.3, otherwise is there a time frame 4 an 1d10T Proof howto documentation? ... Thanx :)

User avatar
dejan555
Posts: 2798
Joined: Sun 30 Nov 2008, 11:57
Location: Montenegro
Contact:

#52 Post by dejan555 »

Um, just a thought Pizzasgood. Could it be made a pet with useradd and your wizards for managing users/login and other needed content, then make pinstall.sh set all neded things, I guess this could be done with one script to change all instances of root into $HOME in scripts and set permissions and stuff, that way, instead remastering iso specifically for puppy versions users could just download pet and run it to enable multiuser on any puppy version. What you think, could it be done with one well writen script suplied in package?.
puppy.b0x.me stuff mirrored [url=https://drive.google.com/open?id=0B_Mb589v0iCXNnhSZWRwd3R2UWs]HERE[/url] or [url=http://archive.org/details/Puppy_Linux_puppy.b0x.me_mirror]HERE[/url]

User avatar
Max Headroom
Posts: 421
Joined: Wed 28 Jun 2006, 07:17
Location: GodZone Kiwi
Contact:

Woof

#53 Post by Max Headroom »

:) Or SFS Package?

User avatar
WarMocK
Posts: 169
Joined: Thu 05 Jul 2007, 11:53

#54 Post by WarMocK »

And don't forget the documentation you promised. Pleaaaaaaaaaaase!
*making extremely big puppy eyes*

User avatar
Pizzasgood
Posts: 6183
Joined: Wed 04 May 2005, 20:28
Location: Knoxville, TN, USA

#55 Post by Pizzasgood »

Forget the docs? I spent a long time last weekend writing those, no way I'd forget them at this stage... I have them nearly done, and the actual work of finishing off the puplet nearly done. As in, I ought to have it complete by Sunday at the latest unless I realize I made some horribly bad oversight. I'd have had it done already but this last week was busier than normal (I had three exams plus the weekly thermodynamics quiz). And my uncle has been working on his website again, so I needed to help fix it a couple times.

Anyway, I realized over the weekend that users could not shutdown or reboot. Well, they normally shouldn't be able to in a server environment, but in a desktop environment you might want at least some users to be able to. I had just written the daemon I mentioned for unmounting partitions, so I was able to reuse that to set up another for rebooting/powering down. Users in the "power" group can do that now.

WRT the mounting/unmounting, it turns out limited users can't do NTFS. For NTFS root needs to mount it. This is because Puppy uses ntfs-3g to handle NTFS partitions, and that doesn't want to let me allow limited users to use it properly. I suppose I could do the same thing I did for unmounting and powering off, but I don't like the idea of having so many daemons (even though they aren't really impacting anything - they just sit there waiting until the directory they monitor changes). But if anyone feels especially strongly about NTFS I'll do it.


I don't know how well all of this could be done by a .pet. I guess I'll look into it. I am making the extra scripts I've written into a .pet, and another for the shadow utilities, and probably a third .pet (or at least .tar.gz archive) for the modifications I had to do to get X running, since it involved some extra stuff like support for /etc/X11/$USER/xorg.conf.
[size=75]Between depriving a man of one hour from his life and depriving him of his life there exists only a difference of degree. --Muad'Dib[/size]
[img]http://www.browserloadofcoolness.com/sig.png[/img]

User avatar
WarMocK
Posts: 169
Joined: Thu 05 Jul 2007, 11:53

#56 Post by WarMocK »

Glad to hear that, pizzasgood. :D
I can't wait for the documentation so I can finish my work on my Account Control Center for K-9. The GUI is (almost) done and my scripts for user creation, group assignment and deletion seem to work flawlessly. However, I still have probs with removing users from a specific group, as the BB-variant of delgroup seems to be pretty crappy (my tcl/tk-based frontend frequently pops up a message that it couldn't find a certain group entry in /etc/gshadow, which I need to iron out in some way now).
And looking at the reports about the troubles you had with mounting and unmounting, I guess that issue will probably give me some sleepless nights as well.

User avatar
Pizzasgood
Posts: 6183
Joined: Wed 04 May 2005, 20:28
Location: Knoxville, TN, USA

#57 Post by Pizzasgood »

It lives.
http://www.murga-linux.com/puppy/viewtopic.php?t=47409


I felt guilty so I went ahead and took care of the ntfs issue. I also noticed that somewhere along the way the inittab-AUTO and inittab-NOAUTO files wound up in /usr/etc/ rather than /etc/. I don't know if that happened before or after the last beta. Anyway, it's fixed in the final.

I also set the adduser-wizard to make the user's home directory 750 rather than 755.

The documentation is linked to from the announcement.

Sorry about how I kept releasing it with the exact same filename. I normally don't do that, but I forgot this time around (it's been over a year since I've released a puplet).
[size=75]Between depriving a man of one hour from his life and depriving him of his life there exists only a difference of degree. --Muad'Dib[/size]
[img]http://www.browserloadofcoolness.com/sig.png[/img]

User avatar
WarMocK
Posts: 169
Joined: Thu 05 Jul 2007, 11:53

#58 Post by WarMocK »

Thank you for your efforts, pizzasgood. :D
I'll have a look at your multiuser-iso as soon as I finished ironing out some serious probs with my own system. Erm, did you ever encounter the following problem by chance?
When you try to start X as a limited user you see the output

"Startup X, specs in /home/user/.etc/X11/xorg.conf, startup apps /home/user/.xinitrc ..."

but then, nothing happens until the connection to X timed out and you get bumped back to the prompt. Any idea what might cause it? It didn't happen with NOP 4.13, it just happens in Puppy 4.21.

User avatar
Pizzasgood
Posts: 6183
Joined: Wed 04 May 2005, 20:28
Location: Knoxville, TN, USA

#59 Post by Pizzasgood »

I think I had a problem like that with Xvesa. I was trying to let the user use his choice of X server, but I didn't realize that xwin was calling xinit, not X, to start it. So to make that work I'd probably have needed to give users a local symlink to their X of choice and then add that to their path so that it overrides /usr/X11R7/bin/X. Once I realized what was wrong I decided it wasn't worth the effort.

I think it did that when xwin was configuring it for xorg but X still pointed at Xvesa. But it might have been the other way around. Not sure.
[size=75]Between depriving a man of one hour from his life and depriving him of his life there exists only a difference of degree. --Muad'Dib[/size]
[img]http://www.browserloadofcoolness.com/sig.png[/img]

User avatar
WarMocK
Posts: 169
Joined: Thu 05 Jul 2007, 11:53

#60 Post by WarMocK »

Hmm ....
Whatever the prob is, it doesn't occur with NOP 4.13. Maybe upgrading the older version with the stuff from 4.21 is easier in this case. I'd have to add lots of stuff to barebones which is already included in NOP anyway, so it's just a matter of what requires more ugrades. :-P

Post Reply