 |
 |
|
Multi User Support for BeOS |
|
 |
|
|
 |
 |
| My MUS update... |
 |
 |
By looncraz - Posted on February 11, 2004 - 04:01:53 (#11008)
Current version when comment was posted: 1.0 |
 |
 |
Well,
As many have seen my multi-user in its infancy works pretty well. To try it you must get PhosphurOS, the only system capable of utilizing it.
That version in b4 has some issues. Symlinking has become a bad thing, so I have decided to revert to moving folders... and quite a few.
Sure, this is a hack, but *ANY* MUS or SUSMx attempts will be a hack. Only time the so called real multi-user can be enjoyed is when OBOS is out, and no longer worrying about backwards compatibility.
For now, I have done some rather major modifications to my 'MUS'.
A core database is now used and can only be accessed via a user management class. This class handles security for passwords and protection against malformed code. It also handles all user information, logins, logouts, prefs, and a few other nicities.
I am currently going to be testing the best way to determine what teams to quit on logoff, so as not to needlessly kill servers, just kill apps run by the user.
I tested implementation of uid and that was not very successfull, well it did work, except too many apps didn't like it. I will be trying to gid next. That just may be the ticket for now. Otherwise, I will need to have a daemon make a log of apps that need to be exited on logout, and it needs to pay attention to when the apps have exited prior to logout, etc... Uglier and more complicated than what I want.
I would really prefer just doing if (info.uid == fCurrentUID){/*bleh bleh bleh*/}.
Anyway, not really sure what possessed me to come talk about this now :-)
--The loon
|
|
| Posix for Multi-User?? |
 |
 |
By looncraz - Posted on November 28, 2003 - 19:59:32 (#9790)
Current version when comment was posted: 1.0 |
 |
 |
mmu_man
I hate to disagree with you, as I respect you so much, but I am completely against using POSIX to handle the logins.
I believe a fully native BeOS method should be used and implemented. And OpenBeOS will allow for a more robust multi-user with user restrictions and priveleged accounts, given some coding talent is applied after R1.
Anyway, I have working MultiUser using my own system, which will be released when I am satisfied that it will not harm existing systems. My current MUS is in the beta stage, and hasn't caused me any real problems. My method keeps /boot/home intact, and creates /Users and some other items.
Anyway, will have to see what the best method is in the long run.
My biggest stand against POSIX / UNIX style multi-user is cleanliness and plainness. That and I don't want my OS to become too much like OSes I despise.
--The loon
|
|
| Multi User Support didn't work for me! |
 |
 |
By handlebar - Posted on October 5, 2003 - 19:07:45 (#9074)
Current version when comment was posted: 1.0 |
 |
 |
I tried the Mulit User Support package..and the first time I stopped the install when it said the bootscript would be overwritten..I clicked on where it said to rename it. In my case, this allowed me to restore it from another version of BeOS (personal edition) that I had on my hard drive. Boot disk won't work because I have AMD2200.
Since I had the partition backup up with Acronis Software, I decided just out of curiousity to install the package. Nothing worked correctly. Won't use this again. Anyway...was able to restore my original partition in a few minutes. Some won't be so fortunate.
|
|
| Found a bug... |
 |
 |
By ablyss - Posted on October 4, 2003 - 19:11:46 (#9054)
Current version when comment was posted: 1.0 |
 |
 |
Actually may have found several bugs but can't say for sure. I think if default user dose not have one or more of the follow folders present it will muck things up.
1. People folder
2. Mail folder
3. Download folder.
Also, when adding background image to desktops, symlinks do not show up in tracker. Don't ask me why this is because in other areas symlinks do show up. Try and see for yourself.
Last but not least, everytime I typed my password it would say invalid, then I would backspace/delete type again and it would log in.
Cheers
|
|
| Good |
 |
 |
By jefro - Posted on October 4, 2003 - 01:38:19 (#9040)
Current version when comment was posted: 1.0 |
 |
 |
Always good to have a free version 1.0. I think anyone who can code is super. Keep up the good work.
|
|
| logins |
 |
 |
By mmu_man - Posted on October 3, 2003 - 02:45:54 (#9032)
Current version when comment was posted: 1.0 |
 |
 |
On the subject of logins...
I think the best approach would be to use posix logins, but have the login gui to lookup them using the real name, and let ppl use real name as login (even if the system doesn't account them as such). That way both would be happy.
POSIX has a field in the user database for "real name". That would fit teh purpose so much :)
But $HOME should never have any space in it, so we'd have to use the POSIX login for home dir.
That doesn't stop user creation to automagically create POSIX logins from full names by default.
(ok, enough, I'd fill up bebits db if I tell everything on my mind :)
|
|
| besides |
 |
 |
By mmu_man - Posted on October 3, 2003 - 02:37:05 (#9031)
Current version when comment was posted: 1.0 |
 |
 |
I heard Be had a working multiuser aware version... but never release it because many progs were broken by that.
Indeed even Tracker behaves strangely when run setuid.
|
|
| Re: Why it is the way it is. |
 |
 |
By mmu_man - Posted on October 3, 2003 - 02:33:00 (#9030)
Current version when comment was posted: 1.0 |
 |
 |
Hi,
not wanting to start a troll (already done it seems), but I have to disagree about WinNT being better.
spaces in system strings has always been a problem, including in windows. Have you ever tried to 'CD My Documents' in win ? countless scripts forget the quotes, and fail miserably.
About Unix perms, I'm sorry to say it is much cleaner than ACLs, for many reasons. Some argue they aren't flexible enough, but they just need a bit more fiddling.
This thread-perms mapping is dangerous IMO... sharing a VM is all it needs to leak sensitive information.
I don't say this soft doesn't have any use, it has. For letting friends share the same comp to keep their stuff separate. But of course I won't remotely try to use that in a place where I have users I'm not supposed to trust. (though most corporates thought win95 was really multiuser and never bothered about it :D)
Besides, to feed the troll, Unix has been there way before windoze, so... :P
merge: I'd rather invite you to form a group to discuss about that, as I have my own ideas on the topic as well, and why not publish a standard from BeUnited ?
BootScript: don't worry I checked the pkg before :p
sleep: is that because you force the font cache reload on login ? Would waiting for a thread be any better ?
ablyss: I'm not hard-core POSIX lover (hmm, ok, I am :p). I'm just saying BeOS has more in common with POSIX than NT on the multiuser level, and POSIX is better (troll ? where is that ? :p), and I don't want to have a half baked mix of the two that would be worth nothing. Full and clean multiuser is possible, and I don't see why we should stop before reaching the goal.
> their reality will MU environment in BeOS still awaits.
That's plain wrong, just check the next prog on bebits, that one was available for years on BeShare :p
|
|
| Bravo... |
 |
 |
By ablyss - Posted on October 2, 2003 - 22:42:20 (#9027)
Current version when comment was posted: 1.0 |
 |
 |
In retrospect I figured your program would be a worth downloading and giving a try. After testing and learning how the program operates and I'm astonished and gleaming with joy over it. You have taken a simple idea and made it into a reality. Boo-hoo cry's the "hard-core" posix lovers and their reality will MU environment in BeOS still awaits. Yet again, simple minds appreciate simple things. Your program accomplishes what it tends provide, at least, to a certain level of opinion.
Anyways, my new roommate who is new to BeOS will love keeping her personal settings amidst from mine, and vice versa. Cheers!
--Ablyss
|
|
| Why it is the way it is. |
 |
 |
By eloxer - Posted on October 2, 2003 - 18:31:35 (#9025)
Current version when comment was posted: 1.0 |
 |
 |
Hi!
First, I enjoy your comments, really! I didn't know exactly whether the BeOS core supports multiple users or not. :) I also didn't know that libroot is open source.
As it was already noticed, my Multi User program follows much the WinNT scheme. ( I am fan of the Win UI, handling and many concepts ) I did develop this feature because my computers are used in a multi user manner. Furthermore most of the other computers are running the Windows XP system and the users are ... are used to it and like it very much. That means that usernames ( that is a requirement here ) must be able to be full names. ( in public places this must be so anyway ) Normal PC users have little understanding for some cryptic always-lower-case-names-that-cannot-contain-spaces. For them such names belong to the world of geeks. I like POSIX very much but POSIX is not the thing to put up the ladder to. I consider the POSIX capability of BeOS rather as a transfer help from other OSs, especially when porting the numerous apps from Unixes. And I also like the security model ála NT better( Threads gaining security tokens ). Filesystems are simpler to admin and this far more intuitive than in UNIX ( because no owner, group root stuff. There is a security-token list which consists either of some group-token or some user-token or whatever ).
The objection that the name of my program is misleading is partially accepted. It doesn't really provide you with the capability of running different users from the system's perspective. But from the user's perspective, who sees his own documents always the same way in the same place in front of the same background it IS a multi user environment. Anyway, this was the goal. There is a feeling of privacy.
My apps are much the way windows apps are. That means I have a faible for capital letters. But I am not the only person who likes it that way.
Mr. Nathan has already contacted me and opened his sources. I will see whether I can merge these two things so that we can turn BeOS into a real multi user OS. Of course: for people using their computer in a single user manner this feature is neglectable.
I'm really sorry if I have caused trouble by overwriting the bootconfig file.
Sleeping and snoozing is depending on the machine. Currently everyone will have to find the right parameters himself.
Friendly greetings,
Aleksander.
|
|
| Re: single-user-lover :p |
 |
 |
By mmu_man - Posted on October 2, 2003 - 17:46:44 (#9024)
Current version when comment was posted: 1.0 |
 |
 |
MU does have a place. Just think corporate support, schools, ...
Anyway, this has to be done correctly, discussed, standardized, and implemented carefully.
|
|
| Multi-user has no place in the single user's life |
 |
 |
By Jace - Posted on October 2, 2003 - 17:41:53 (#9023)
Current version when comment was posted: 1.0 |
 |
 |
I just needed to make that statement. I think mmu_man's comments are valid. I just wanted to add that I don't ever ever ever want to deal with multi-user in ANY way at all on BeOS/Zeta as long as I am the only person using my computer. If anyone ever makes a "Standardized multiuser BeOS feature" just make sure that I need never know about it. I have yet to use any OS or OS version that impliments multi-user design in a way that doesn't piss me off, waste system resources and hard drive space, put walls up around what I want to do and how, etc. So, keep that in mind next time you're thinking about multi-user functionality possibly getting into a BeOS distribution... Multi-user has no place in the single user's life!
|
|
| comments, bis |
 |
 |
By mmu_man - Posted on October 2, 2003 - 15:15:27 (#9018)
Current version when comment was posted: 1.0 |
 |
 |
indeed:
"the home-directory will be copied to /boot/Users/Default."
That's a very rough method :))
"Tracker and Deskbar are launched before the system is up and ready for it"
Don't you know /bin/sleep or sleep() ?
Besides, as this doesn't even use UIDs, I don't think it can qualify as "multi-user"... I'd rather say "single-user multiplexing", as good old win95 did.
Not that it doesn't have a use, but advertising it as "multiuser" is a bit misleading IMO.
|
|
| comments; WARNINGS |
 |
 |
By mmu_man - Posted on October 2, 2003 - 15:07:16 (#9017)
Current version when comment was posted: 1.0 |
 |
 |
* this overwrites your BootScript ! *
While you shouldn't have messed up with it anyway, ppl like me do, so beware.
Btw, why not reuse existing stuff instead of rewriting the wheel ?
There is Nathan Whitehorn's multiuser (though I made him notice he never put it on bebits), there is BeLogin, there is LockWorkstation...
and once again this is done without enough thinking IMO, without asking others about the possible issues.
Without even trying it I can do these observations:
* assumptions about BeOS not being multiuser:
"BeOS doens't support multiple users."
that's entirely wrong.
The kernel does support them, so does BFS. Not having an easy way to use it doesn't mean it doesn't exist.
This simple code shows it, so does multiuserv2:
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
int main(int argc, char **argv)
{
int id = 1;
if (argc > 1)
id = atoi(argv[1]);
setuid(id);
execl("/bin/sh", NULL);
}
[revol@patrick /boot/home/devel]$ id
uid=0(revol) gid=0(users)
[revol@patrick /boot/home/devel]$ ./testsetuid
[revol@patrick /boot/home/devel]$ id
uid=1 gid=0(users)
* login namespace:
strings MUS.pkg|grep User/README
?/boot/Users/Aleksander Lodwich/CODED/MultiUser/README FIRST.txt
Looks like you use the WinNT login scheme, which allows case and spaces in logins. This is ugly, and doesn't at all in the POSIX way of doing this. This will break all the POSIX apps which actually sould be the first to benefit from multiuser.
Putting users homes in /boot/Users is arguable, but isn't that important. I'd use lowercase "users" however, as it's more Unix-like, (sorry OSX folks, but real Unix was there before OSX, besides despite what Apple brainwashes you, OSX is NOT Unix, it only has some parts from it).
* Implementation.
I suppose you resorted to moving folders around or using symlinks... which is definitely a hack.
Proper support would incur patching libroot anyway (find_directory() doesn't behave correctly), and exporting the HOME var, and managing /etc/passwd, and implementing POSIX user support.
|
|
|
|
 |
 |
|
 |
 |
 |
 |
 |
 |
 |
|
|
 |
 |
 |
| |
Recent Downloads - # 454
Total Downloads - # 1,569
Total Views - # 1,336
User Ratings - N/A
|
 |
 |
 |
 |
| |
Misc. Drivers
System Utilities
|
 |
 |
 |
 |
 |
1. BePodder - 9.80
2. QEMU - 9.68
3. ScummVM - 9.57
4. cpu_fix - 9.42
5. Jukebox - 9.40
6. libdl.so - 9.40
7. Haiku AGP busm... - 9.35
8. vim6 - 9.31
9. Beezer - 9.26
10. HandBrake - 9.25
|
 |
 |
 |
 |
 |
1. BeOS 5 Perso... - 13,044
2. Realtek RTL8... - 12,782
3. Ati Radeon G... - 12,003
4. ATI Rage 128... - 7,222
5. Ensoniq Audio... - 7,203
6. USB Joystick... - 5,418
7. Broadcom 440x... - 5,208
8. USB Serial dr... - 4,615
9. S3 Trio 64 v2... - 4,492
10. Intel Extreme... - 4,322
|
 |
 |
 |
 |
| You are not logged in.
Login
|
 |
 |
 |
 |
|