Howto: change default user
From andLinux
Contents |
How to change the default user
The andLinux startup scripts will eventually invoke a script at /usr/bin/X11/startwindowsterminalsession. The last lines of this script are
termcommand=`cat /etc/winterm` sux - root ${termcommand}
The root user is the default user for launching programs on the andLinux VM. To change the default user, you need to replace the user name in this file, and restart andLinux. However, there is a catch. If you are replacing root with a non-privileged user, the launcher.pl daemon will not be able to open port 81 (the default, recall) for listening, because the first 1024 ports require super-user privileges to access.
So to replace root with some other privileged user simply requires changing the name, while replacing it with a non-privileged user requires more work. We'll create a user joachim for our example.
Step 1: Create the user
root@andLinux:~# adduser joachim Adding user `joachim' ... Adding new group `joachim' (1001) ... Adding new user `joachim' (1001) with group `joachim' ... Creating home directory `/home/joachim' ... Copying files from `/etc/skel' ... Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully Changing the user information for joachim Enter the new value, or press ENTER for the default Full Name []: Joachim von Paderborn Room Number []: Work Phone []: Home Phone []: Other []: Is the information correct? [y/N] y
If you are creating a privileged user, you'll need to do more than this--you'll want to override the userid, setting it to 0, or create an administrative group and add the new account to it. For the rest of us, it's probably enough to create a "plain old user" and then give them sudo privileges with visudo.
Step 2: Change the name used by andLinux
Now you'll need to edit the /usr/bin/startwindowsterminalsession file. Change the last lines from this:
termcommand=`cat /etc/winterm` sux - root ${termcommand}
to this:
termcommand=`cat /etc/winterm` #sux - root ${termcommand} sux - joachim ${termcommand}
Note that if you created joachim as a privileged user, you are done at this point. But you didn't, so keep reading.
Step 3: Change launcher port
Now you need to change the port number used by the launcher, because non-privileged logins cannot access port numbers below 1k. First, edit the /usr/local/sbin/launcher.pl script. At or near line #10, you will see:
$sock = new IO::Socket::INET(LocalPort => 81, Reuse => 1, Listen => 20) or die("Error creating local socket: $@\n");
Change the LocalPort from 81 to some other value. For this example, let's use 8181:
$sock = new IO::Socket::INET(LocalPort => 8181, Reuse => 1, Listen => 20) or die("Error creating local socket: $@\n");
At this point, the script is fixed but nothing will happen until you restart the andLinux server. Just run reboot and let's fix up the Windows side.
Step 4: Change port used by Windows launcher apps
As documented here, the default andLinux configuration expects the andLinux VM to be at IP address 192.168.11.150 and expects the launcher.pl script to listen on port 81.
From the Windows desktop, select Start → Run... then enter regedit in the Run dialog box. Browse the registry tree to open a registry key called HKEY_LOCAL_MACHINE\SOFTWARE.
At this point, you will have to right-click on the SOFTWARE entry, and select New > Key. Create a new key andLinux then right-click the andLinux key to create a new key Launcher beneath it. Finally, right-click to create two new entries below \HKEY_LOCAL_MACHINE\SOFTWARE\andLinux\Launcher:
New > String Value Rename this value "IP" Double-click "IP", and set the "Value data" to "192.168.11.150" New > DWORD Value Rename this value "Port" Double-click "Port" and set the "Value data" to 8181. Be sure and choose "Decimal" for the base. Exit the registry editor.
At this point, your Windows launchers will connect to andLinux using 192.168.11.150:8181, instead of the default ...:81. Your VM should have finished rebooting, so start the andKonsole launcher as a test.