[gelöst] Auf unixoide Art als anderer Benutzer drucken
[gelöst] Auf unixoide Art als anderer Benutzer drucken
Meine Frage ziehlt primär darauf ab, welches Vorgehen der Unix-Philosophie entsprechen würde.
Ich habe an der Uni ein (für mich kompliziertes) Netzwerk-Drucker-System, bei dem ich per Uni-Karte meine Druckjobs an jedem Drucker am Campus abrufen kann. Dazu muss ich auf meinem eigenen Rechner habe einen Benutzer anlegen, der genauso heißt, wie der den ich an der Uni verwende.
Aktuell sieht der Vorgang bei mir dann so aus (ohne Witz!):
Ich arbeite als "user". Stecke nen USB-Stick an mein Gerät und kopiere da drauf, was gedruckt werden soll und ziehe ihn wieder ab.
Dann melde ich mich ab und logge mich als Uni-Benutzer auf meinem Rechner ein. Stecke den Stick wieder dran und Drucke.
Ich weiß wie ich ein X-Programm als anderer Benutzer starten kann. sudo xhost local:abcde und dann sudo -u abcde okular. Problem ist dann aber, dass der PDF-Reader nicht auf die zu druckenden Dateien zugreifen kann, weil die ja beim anderen Benutzer im HOME liegen.
Was wäre hier ein adäquates Vorgehen? Ich meine was sieht Unix hier vor? Oder kann ich sagen, die Art wie die Uni das gelöst hat, ist totaler Schwachsinn?
Und wie würde man es technisch umsetzen?
Ich habe an der Uni ein (für mich kompliziertes) Netzwerk-Drucker-System, bei dem ich per Uni-Karte meine Druckjobs an jedem Drucker am Campus abrufen kann. Dazu muss ich auf meinem eigenen Rechner habe einen Benutzer anlegen, der genauso heißt, wie der den ich an der Uni verwende.
Aktuell sieht der Vorgang bei mir dann so aus (ohne Witz!):
Ich arbeite als "user". Stecke nen USB-Stick an mein Gerät und kopiere da drauf, was gedruckt werden soll und ziehe ihn wieder ab.
Dann melde ich mich ab und logge mich als Uni-Benutzer auf meinem Rechner ein. Stecke den Stick wieder dran und Drucke.
Ich weiß wie ich ein X-Programm als anderer Benutzer starten kann. sudo xhost local:abcde und dann sudo -u abcde okular. Problem ist dann aber, dass der PDF-Reader nicht auf die zu druckenden Dateien zugreifen kann, weil die ja beim anderen Benutzer im HOME liegen.
Was wäre hier ein adäquates Vorgehen? Ich meine was sieht Unix hier vor? Oder kann ich sagen, die Art wie die Uni das gelöst hat, ist totaler Schwachsinn?
Und wie würde man es technisch umsetzen?
Zuletzt geändert von MoonKid am 19.02.2017 10:17:25, insgesamt 1-mal geändert.
Re: Auf unixoide Art als anderer Benutzer drucken
Auf Deinem Stick sind die zu druckenden Dateien von Deinem Uni-Benutzer,
unter Linux-Dateisystemen werden die Rechte erhalten,
unter Windows-Datesystemen gehen die Dateirechte in den Müll,
wenn Du zu Hause diesen Stick unter Deinem normalen System mounten läßt, bekommen die Dateien normalerweise Deine Rechte, diese Rechte können auch erzwungen oder vergeben werden, dazu brauchst Du keinen Uni-Benutzer an Deinem Zu-Hause-Rechner,
wenn Du zu Hause mit der Unikarte Deine Druckjobs oder Dateien übers Netz bekommen kannst, macht die Sache sogar Sinn.
Eine andere Möglichkeit ist, daß von der Uni der Druckjob aus der Druckerwarteschlange auf Deinem Stick landet, dann wird der Uni-Benutzer für seine Druckerwarteschlange auf Deinem Zu-Hause-Rechner benötigt.
LG
unter Linux-Dateisystemen werden die Rechte erhalten,
unter Windows-Datesystemen gehen die Dateirechte in den Müll,
wenn Du zu Hause diesen Stick unter Deinem normalen System mounten läßt, bekommen die Dateien normalerweise Deine Rechte, diese Rechte können auch erzwungen oder vergeben werden, dazu brauchst Du keinen Uni-Benutzer an Deinem Zu-Hause-Rechner,
wenn Du zu Hause mit der Unikarte Deine Druckjobs oder Dateien übers Netz bekommen kannst, macht die Sache sogar Sinn.
Eine andere Möglichkeit ist, daß von der Uni der Druckjob aus der Druckerwarteschlange auf Deinem Stick landet, dann wird der Uni-Benutzer für seine Druckerwarteschlange auf Deinem Zu-Hause-Rechner benötigt.
LG
Re: Auf unixoide Art als anderer Benutzer drucken
Ehrlich gesagt, weiß ich gar nicht, wass da für ein Dateisystem auf dem Stick ist. Vermutlich aber eines, ohne Rechte. Den wie gesagt, kann ich die Dateien dort drauf auch unter dem anderen Benutzer öffnen.
Das System mit dem Drucker hab ich wohl etwas zu schwammig erklärt.
Ich habe hier einen Netzwerk-Drucker im System installiert. Dem schicke ich die Druckaufträge, wenn ich im Uni-Netz per VPN bin.
Das landet dann auf einem Server der Uni.
Dann gehe ich mit meiner Plastik-UniCard an irgendeinen der zich Drucker, die sich auf dem Campus befinden und stecke sie dort rein. Dann zeigt mir der Drucker meine Jobs in der Warteschlange incl. den Preis. Am Gerät kann ich das tatsächliche Ausdrucken dann auslösen.
Das System mit dem Drucker hab ich wohl etwas zu schwammig erklärt.
Ich habe hier einen Netzwerk-Drucker im System installiert. Dem schicke ich die Druckaufträge, wenn ich im Uni-Netz per VPN bin.
Das landet dann auf einem Server der Uni.
Dann gehe ich mit meiner Plastik-UniCard an irgendeinen der zich Drucker, die sich auf dem Campus befinden und stecke sie dort rein. Dann zeigt mir der Drucker meine Jobs in der Warteschlange incl. den Preis. Am Gerät kann ich das tatsächliche Ausdrucken dann auslösen.
Re: Auf unixoide Art als anderer Benutzer drucken
hi,
unixoid wäre ein Druckbefehl auf der Kommandozeile:
Den Befehl kannst du als dein normaler Desktop-User oder als root in einem x-Terminal oder auf der Console benutzen. Es sind keine Umwege nötig. Allerdings kannst du so nur Postscript-Dateien drucken. Was mit unixoiden Programmen aber kein Problem ist, die geben standardmässig (nur) Postscript aus.
Leider ist cups in Mode gekommen, damit funktioniert das im Prinzip vielleicht auch. Zumindest kennt cups den lpr-Befehl, wenn du cups-bsd installierst. Wenn du eine client.conf findest (die zu cups gehört) kannst du dort user uni-username eintragen, dann geht's evt. auch ohne lpr. Normal müsste man diese Option auch bei grafischen Drucker-Einrichtung angeben können...
unixoid wäre ein Druckbefehl auf der Kommandozeile:
Code: Alles auswählen
lpr -P <druckername> -U <uni-username> <dateiname>
Leider ist cups in Mode gekommen, damit funktioniert das im Prinzip vielleicht auch. Zumindest kennt cups den lpr-Befehl, wenn du cups-bsd installierst. Wenn du eine client.conf findest (die zu cups gehört) kannst du dort user uni-username eintragen, dann geht's evt. auch ohne lpr. Normal müsste man diese Option auch bei grafischen Drucker-Einrichtung angeben können...
Beware of programmers who carry screwdrivers.
Re: Auf unixoide Art als anderer Benutzer drucken
LPR werde ich bei nächste Gelgenheit in dem Netz testen. Danke sehr!
Re: Auf unixoide Art als anderer Benutzer drucken
Das kann man ja aendern. Evtl. reicht es, den Druck-User in deine Gruppe mit aufzunehmen, und schon kann er dein Home-Verzeichnis lesen. Daran jedenfalls sollte es nicht scheitern.MoonKid hat geschrieben: Problem ist dann aber, dass der PDF-Reader nicht auf die zu druckenden Dateien zugreifen kann, weil die ja beim anderen Benutzer im HOME liegen.
Use ed once in a while!
Re: Auf unixoide Art als anderer Benutzer drucken
Siehst du! Genau sowas meinte ich mi "unixoide Art"!Meillo hat geschrieben:Evtl. reicht es, den Druck-User in deine Gruppe mit aufzunehmen, und schon kann er dein Home-Verzeichnis lesen. Daran jedenfalls sollte es nicht scheitern.
Wenn du es so beschreibst, verstehe ich es, aber von alleine würde ich nie auf so ne einfache unixoide Lösung kommen. Zu lange Windows...
Ja so gehts. Dabei habe ich gelernt, dass scheinbar zu jedem User auch eine gleichlautende Gruppe angelegt wird. Korrekt? Also habe ich meinen Uni-User (ajxjp) einfach in die Gruppe (user) aufgenommen. Und dann noch als user
Code: Alles auswählen
chmod g+rx /home/user
-
- Beiträge: 3020
- Registriert: 03.11.2009 13:45:23
- Lizenz eigener Beiträge: Artistic Lizenz
-
Kontaktdaten:
Re: Auf unixoide Art als anderer Benutzer drucken
Alles was irgendwie neu ist, scheint Angst zu machen. Oft reicht schon ähnliches...cosmac hat geschrieben:hi,
unixoid wäre ein Druckbefehl auf der Kommandozeile:Den Befehl kannst du als dein normaler Desktop-User oder als root in einem x-Terminal oder auf der Console benutzen. Es sind keine Umwege nötig. Allerdings kannst du so nur Postscript-Dateien drucken. Was mit unixoiden Programmen aber kein Problem ist, die geben standardmässig (nur) Postscript aus.Code: Alles auswählen
lpr -P <druckername> -U <uni-username> <dateiname>
Leider ist cups in Mode gekommen, damit funktioniert das im Prinzip vielleicht auch. Zumindest kennt cups den lpr-Befehl, wenn du cups-bsd installierst. Wenn du eine client.conf findest (die zu cups gehört) kannst du dort user uni-username eintragen, dann geht's evt. auch ohne lpr. Normal müsste man diese Option auch bei grafischen Drucker-Einrichtung angeben können...
Bzgl. dem Problem, dass man lpr in cups nicht alles verfüttern kann, hab ich mir unlängst Gedanken gemacht, dass ich ein .odt bzw. .ods-File (Libreoffice Writer und Calc) nicht an lpr direkt verfüttern kann...
Das kam dabei heraus:
viewtopic.php?f=31&t=163092
Ein Filter, der den Stream sogar erkennt, mittels unoconv einen Postscript-Stream erzeugt und den dann dem Drucksystem weiterfüttert...
Vielleicht interessierts ja
lg scientific
dann putze ich hier mal nur...
Eine Auswahl meiner Skripte und systemd-units.
https://github.com/xundeenergie
auch als Debian-Repo für Testing einbindbar:
deb http://debian.xundeenergie.at/xundeenergie testing main
Eine Auswahl meiner Skripte und systemd-units.
https://github.com/xundeenergie
auch als Debian-Repo für Testing einbindbar:
deb http://debian.xundeenergie.at/xundeenergie testing main
Re: Auf unixoide Art als anderer Benutzer drucken
Das freut mich.MoonKid hat geschrieben: Ja so gehts.
Das muss nicht so sein, ist aber oft so. Bei Debian zumindest scheint es der Default zu sein.Dabei habe ich gelernt, dass scheinbar zu jedem User auch eine gleichlautende Gruppe angelegt wird. Korrekt?
Ob das noetig ist haengt ebenfalls von der jeweiligen Distribution und den lokalen Einstellungen ab.Code: Alles auswählen
chmod g+rx /home/user
Was auch noch dazwischen kommen koennte, waere eine restriktive umask, wie 077 zum Beispiel. Das ist aber eher ungewoehnlich und bei dir, wie es aussieht, nicht der Fall. Meist trifft man 02 oder 022 oder auch mal 027 an.
Use ed once in a while!