[gelöst] Auf unixoide Art als anderer Benutzer drucken

Einrichten des Druckers und des Drucksystems, Scannerkonfiguration und Software zum Scannen und Faxen.
Antworten
MoonKid
Beiträge: 513
Registriert: 12.03.2012 22:36:43

[gelöst] Auf unixoide Art als anderer Benutzer drucken

Beitrag von MoonKid » 03.12.2016 09:44:36

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?
Zuletzt geändert von MoonKid am 19.02.2017 10:17:25, insgesamt 1-mal geändert.

Apfelmann
Beiträge: 669
Registriert: 15.01.2010 20:48:45
Kontaktdaten:

Re: Auf unixoide Art als anderer Benutzer drucken

Beitrag von Apfelmann » 03.12.2016 23:37:43

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

MoonKid
Beiträge: 513
Registriert: 12.03.2012 22:36:43

Re: Auf unixoide Art als anderer Benutzer drucken

Beitrag von MoonKid » 04.12.2016 14:14:55

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.

cosmac
Beiträge: 4573
Registriert: 28.03.2005 22:24:30

Re: Auf unixoide Art als anderer Benutzer drucken

Beitrag von cosmac » 04.12.2016 16:09:52

hi,

unixoid wäre ein Druckbefehl auf der Kommandozeile:

Code: Alles auswählen

lpr -P <druckername> -U <uni-username> <dateiname>
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 Debiancups-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.

MoonKid
Beiträge: 513
Registriert: 12.03.2012 22:36:43

Re: Auf unixoide Art als anderer Benutzer drucken

Beitrag von MoonKid » 04.12.2016 21:13:18

LPR werde ich bei nächste Gelgenheit in dem Netz testen. Danke sehr!

Benutzeravatar
Meillo
Moderator
Beiträge: 8782
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Auf unixoide Art als anderer Benutzer drucken

Beitrag von Meillo » 05.12.2016 06:55:59

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.
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.
Use ed once in a while!

MoonKid
Beiträge: 513
Registriert: 12.03.2012 22:36:43

Re: Auf unixoide Art als anderer Benutzer drucken

Beitrag von MoonKid » 05.12.2016 16:22:25

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.
Siehst du! Genau sowas meinte ich mi "unixoide Art"! ;)
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
ABer das mit dem Drucker probier ich auch noch und werde berichten.

scientific
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

Beitrag von scientific » 05.12.2016 17:50:12

cosmac hat geschrieben:hi,

unixoid wäre ein Druckbefehl auf der Kommandozeile:

Code: Alles auswählen

lpr -P <druckername> -U <uni-username> <dateiname>
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 Debiancups-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...
Alles was irgendwie neu ist, scheint Angst zu machen. Oft reicht schon ähnliches... :D

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

Benutzeravatar
Meillo
Moderator
Beiträge: 8782
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Auf unixoide Art als anderer Benutzer drucken

Beitrag von Meillo » 05.12.2016 18:49:02

MoonKid hat geschrieben: Ja so gehts.
Das freut mich.
Dabei habe ich gelernt, dass scheinbar zu jedem User auch eine gleichlautende Gruppe angelegt wird. Korrekt?
Das muss nicht so sein, ist aber oft so. Bei Debian zumindest scheint es der Default zu sein.

Code: Alles auswählen

chmod g+rx /home/user
Ob das noetig ist haengt ebenfalls von der jeweiligen Distribution und den lokalen Einstellungen ab.

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!

Antworten