Fehler beim Versuch, eine .tex-Datei mit latexmk zu kompilieren

338
arewm

Ich verwende macOS Sierra und habe XCode installiert

$ defaults read /var/db/receipts/com.apple.pkg.Xcode.plist { InstallDate = "2016-09-13 19:36:06 +0000"; InstallPrefixPath = "/"; InstallProcessName = storedownloadd; PackageFileName = "Xcode.pkg"; PackageIdentifier = "com.apple.pkg.Xcode"; PackageVersion = "8.0.0.0.1.1472435881"; } 

Ich versuche, eine .tex-Datei mit latexmk in ein pdf zu kompilieren, stoße aber auf ein Problem mit setgid.

$ latexmk -pdf ~/testFile.tex Latexmk: This is Latexmk, John Collins, 22 April 2016, version: 4.45. Insecure dependency in open while running setgid at /Library/TeX/texbin/latexmk line 2722. 

Ich habe MacTex installiert. Ich habe sogar einen erneuten Download versucht latexmk, aber das Problem wurde nicht behoben.

Ich musste alles von Grund auf neu installieren, als ich kürzlich von El Capitan aufgerüstet habe, aber vorher hat es gut funktioniert. Ich bin ratlos, was das Problem sein mag. Jede Hilfe wäre dankbar.

0

2 Antworten auf die Frage

0
grawity

setgidist kein Befehl - es ist ein Staat ; eine spezielle Dateiberechtigung zusammen mit 'setuid' und 'sticky'.

'setuid' ist vielleicht besser bekannt: Wenn für eine ausführbare Datei das 'setuid'-Bit gesetzt ist, hat sie immer automatisch Berechtigungen des Benutzers, der sie besitzt, und nicht des Benutzers, der sie ausgeführt hat. (Zum Beispiel können suund können sudonur root-Aktionen ausgeführt werden.)

'setgid' funktioniert genauso, außer dass es für die Gruppe gilt, die die Datei besitzt. In beiden Fällen muss jedoch das Programm extra vorsichtig sein, nur Dinge tun, es wurde entwickelt, zu tun und zu vermeiden, durch den Benutzer ausgetrickst.

Die Fehlermeldung, die vom perlInterpreter stammt, da latexmkes sich tatsächlich um ein Perl-Skript handelt, bedeutet, dass Perl festgestellt hat, dass es mit setuid / setgid-Privilegien ausgeführt wird, und lehnt daher ab, bestimmte Dinge als Vorsichtsmaßnahme gegen unvorsichtig geschriebene Skripte auszuführen.

Vielen Dank. Gibt es eine Möglichkeit, zu sagen, welche Datei das `setgid`-Bit gesetzt hat? Ich habe versucht, sudo chmod gs / Library / TeX / texbin / latexmk auszuführen, aber der gleiche Fehler tritt auf. arewm vor 7 Jahren 0
0
arewm

Wie @ grawity feststellte, bestand das Problem darin, dass der setgid-Status für einige Dateien festgelegt wurde, die für das latexmkSkript benötigt werden . Um alle Dateien zu finden, für die das Bit gesetzt war, habe ich den Befehl verwendet

find / -perm -02000 -ls > search_out 

unter OSX. Es gab viele Ergebnisse, aber ich fand eine, die mit Tex zu tun hatte.