Schätze mal, dafür gibt es schon Tutorials. Ich schreib es mal ungefähr hin:
1. Ein neues Benutzerkonto anlegen. (z.B. "gameuser".) Danach vom System ab-/ und wieder anmelden um das neue Konto allgemein gültig werden zu lassen.
Es schadet auch nicht, sich mal grafisch unter dem neuen Account einzuloggen damit Initalfiles geschrieben werden. (Falls mal der Sound nicht geht.)
2. Jetzt
sudo visudo
ausführen und folgende Zeile (ans Ende) anfügen. (Tip: ctrl+x beendet und speichert optional.) User Konrad soll hier unser Standarduser sein.
# konrad darf auf allen Computern unter dem Namen "gameuser" alle Programme (für die sudo nicht erforderlich ist) ohne Passwort ausführen.
konrad ALL=(gameuser) NOPASSWD: ALL
3. Jetzt "/etc/X11/Xwrapper.config" editieren und den Defaultwert für "allowed_users" ändern auf
allowed_users=anybody
4. Dann folgendes ausführen: (Tip falls man das wieder rückgängig machen möchte, dann die Option "a+rX" verwenden. Unterschied ist "man chmod" erklärt.)
sudo chmod -R a-rx /home/konrad
5. Jetzt kommt der schwierigste Teil, der für Anfänger nicht leicht zu durchblicken ist. User Konrad kann zwar lesend auf das home von gameuser zugreifen aber eben nicht schreibend. (User gameuser kann weder lesend noch schreibend auf konrad zugreifen.) konrad braucht aber Lese-/Scheibrechte auf gameuser und die bekommen wir mit:
sudo chmod -R g+rwX /home/gameuser (Auf Grossschreibung des X achten.)
Danach muss konrad noch in die Gruppe gameuser eingetragen werden. (Hinterher ab-/anmelden nicht vergessen.)
Da laufende Programme die Rechte für neugeschriebene Dateien und Verzeichnisse ständig neusetzen (Für Gruppen nur "r") und auch "umask" hier nicht wirklich weiterhilft, muss man diesen Befehl, wenn man mal doch keinen Schreibzugriff bekommt, in unregelmässigen Abständen wiederholen. (Also dann wenn man den Schreibzugriff braucht.) Das kann man dann aber auch in Subverzeichnisse (in denen man arbeiten will) machen.
Es gibt noch zwei weitere Möglichkeiten die nicht unerwähnt bleiben sollen aber nichts für Anfänger sind. Einmal das Erstellen einer neue Gruppe, in die man beide User einträgt und die man mit "chown" auf alle Dateien und Verzeichnisse von gameuser setzt. Danach muss diese Gruppe dem jeweiligen Programm als Hauptgruppe mittels "sg" oder "newgrp" zugewiesen werden. Diese Rechte werden dann auch vererbt. (Es reicht also ein Terminal über den Beipspielbefehl:
# startet gnome-terminal als gameuser und führt darin als ersten befehl "sg" aus, um die hauptgruppe von gameuser auf "blahblah" zu setzen.
# (den unterschied sieht man mit dem kommando "groups")
echo "sg blahblah gnome-terminal;" | sudo -iu gameuser bash
)
Dennoch können laufende Programme auch hier abweichende Gruppen setzen.
Die andere Möglichkeit ist bindfs welches Rechte rücksichtslos vom Programm setzt bzw. ignoriert. Man sollte diesen Befehl nicht über das ganz Home-Verzeichnis setzen, da das manche Programme übelnehmen. Er eignet sich aber gut um Verzechnisschleusen (z.B. Downloads) einzurichten. en möglicher Befehl lautet so:
bindfs --mirror=konrad:gameuser --group=blahblah --perms=u+rwX /home/gameuser/game_downloads /home/gameuser/game_downloads
Das Verzeichnis muss physisch vorhanden sein und kann symbolisch verlinkt werden. (Man kann auch Quell- und Zielverzeichnis ändern, muss aber auf die Reihenfolge achten und hat unter Umständen dann ein Desktopsymbol auf das Verzeichnis).
6. Nun kann Konrad seine Dateien direkt in das home von gameuser kopieren. (Muss aber hinterher noch die Rechte anpassen damit gameuser diese lesen kann.)
7. Falls noch nicht gemacht, wine über den Paketmanager installieren. (wine installiert global für alle user.)
7.5 (eventuell muss hier gameuser noch in die gruppe pulse bzw pulseaudio eingefügt werden. Zusätzlich muss pulseaudio noch auf globale ausgabe gesetzt werden)
8. Nun kann man mit folgenden Befehlen in ein Terminal wechseln und von dort aus abgeschottet mit wine arbeiten.
xhost +SI:localuser:gameuser // einmalig nach bootup
# bis hier ist es noch die shell von konrad
sudo -iu gameuser bash // mit "exit" oder ctrl+d kann man die gameuser shell wieder verlassen
# ab hier ist gameuser am zug
cd /home/gameuser/windoofs_standard/...../cmd.com
export WINEPREFIX=/home/gameuser/windoofs_standard
wine explorer /desktop=windoofs,1280x1024 cmd.com
#bzw.
xinit {vollpfad zu wine}/wine cmd.com -- :1
Ich rate jedem, der versucht das abzuarbeiten, sich ausreichend mit Verzeichnis-/ und Gruppenrechten auseinanderzusetzen. (Wer das nicht tut, scheitert unweigerlich!) Insbesondere mit den Befehlen:
"chmod", "chown", "ls" (mit der Option "-la"), "sudo", "cp", "wine" (WINEPREFIX) sowie dem "gnome-terminal" bzw seinen Pendants. Für alle Befehle gibt es ein manual (z.B. "man chown").
Für einen Anfänger ist das wirklich kompliziert (Einrichtunszeit mindestens 2 Wochen) aber dafür kann man in Linux wirklich alles einstellen, granulieren und automatisieren. (War länger als gedacht und kann jetzt als Warnung dienen!)