"screen"-multiuser: kein read-only access

02/05/2008 - 22:35 von Jan Kolarik | Report spam
Hi,

möchte in einer screen-session (http://www.gnu.org/software/screen/) einem
anderem User read-only-Access erlauben.

Einràge in ~user1/.screenrc:
multiuser on
# addacl user2
aclchg user2 -wx "#"

suid-bit is gesetzt:
% ls -l /usr/bin/screen
-rwsr-sr-x 1 root utmp 303808 26. Sep 2007 /usr/bin/screen

user1 erzeugt nun neuen screen mit "screen -R".
user2 verbindet sich mit "screen -r user1/" und hat aber daraufhin _vollen_
Zugriff (auch schreibend), selbst dann wenn ich "aclchg" auf -rwx
erweitere.

Auch Versuche mit entkommentiertem "addacl" oder "#,?" bringen nix. Erst
wenn ich auch "aclchg" auskommentiere hat user2 keinen Zugriff mehr
(allerdings auch nicht mehr lesend).

Hat jemand sachdienliche Hinweise?

Betroffene Systeme:
- opensuse 10.3
- Debian/Lenny(testing)
 

Lesen sie die antworten

#1 Jan Nordholz
03/05/2008 - 02:31 | Warnen spam
Hi,

Jan Kolarik wrote:
Hi,

möchte in einer screen-session (http://www.gnu.org/software/screen/) einem
anderem User read-only-Access erlauben.

Einràge in ~user1/.screenrc:
multiuser on
# addacl user2
aclchg user2 -wx "#"

user1 erzeugt nun neuen screen mit "screen -R".
user2 verbindet sich mit "screen -r user1/" und hat aber daraufhin _vollen_
Zugriff (auch schreibend), selbst dann wenn ich "aclchg" auf -rwx
erweitere.



das Problem ist, daß zu dem Zeitpunkt, wo das 'aclchg'-Kommando abgearbeitet
wird, noch keine Windows da sind - Dein '#'-Windowlist-Wildcard verpufft also.
Wenn Du es in einer laufenden Session am ^A:-Prompt eintippst, geht's dann.
Du kannst ja mal davor ein

screen 1 /bin/bash

in die Config schreiben - da gilt die acl dann auch. Wildcards gelten halt
immer nur dann und genau dann, wenn Du sie ausführst, so hat z.B. nach

^A:addacl user2 -wx "#?"
^A:addacl user2 +x next
^Ac

user2 volle Rechte im neuen Fenster, weil es zum Zeitpunkt der Rechteein-
schrànkung noch gar nicht da war.

suid-bit is gesetzt:
% ls -l /usr/bin/screen
-rwsr-sr-x 1 root utmp 303808 26. Sep 2007 /usr/bin/screen



Hossa, wenn's schon setuid root ist, braucht's aber nicht mehr setgid utmp zu
sein. ;)


Gruß,

Jan

Ähnliche fragen