Das behaupte ich, ja. Jedenfalls nicht ohne weitere (nicht ratsame) Eingriffe.Du behauptest also, ein CGI-Skript der Form sagen wir
(klick) würde nicht funktionieren?Code:#!/usr/bin/env ruby print "HTTP/1.0 200 OK\r\n" print "Content-type: text/html\r\n\r\n" print "<html><body>Hello World!</body></html>\r\n"
env - /usr/bin/sudo -u www /usr/bin/env apachectl configtest
env - /usr/bin/sudo -u www /bin/bash -ic 'echo $PATH'
#!/usr/bin/env ruby
#
def seqopen
@file = File.open(ARGV[0])
end
def seqclose
@file.close
end
def read_quadrant
@quadrant = Array.new
cnt = 0
@maxx = 0
@file.each_line do |line|
next if line =~ /^#/
@quadrant[cnt] = parse_line(line)
if @quadrant[cnt].length > @maxx
@maxx = @quadrant[cnt].length
end
cnt = cnt + 1
end
end
def parse_line(line)
@elements = line.chomp.split(/\s*\|\s*/)
return @elements
end
def make_grid
dimy = 0.5 + @quadrant.length + 0.5
dimx = 0.5 + @maxx + 0.5
puts "\t % draw coordinate system"
puts "\t \\draw [->] ( 0 , 0 ) -- ( 0 , #{dimy} );"
puts "\t \\draw [->] ( 0 , 0 ) -- ( #{dimx} , 0 );"
end
def make_arrows
x = 0
y = 0
@quadrant.reverse!
@quadrant.each do |row|
row.each do |elem|
arrowgrad = @quadrant[y][x].scan(/\(\d\)/)
if arrowgrad.to_s != ''
@quadrant[y][x] = elem.sub(/\(\d\)/, '')
grad = arrowgrad.to_s.scan(/\d/).to_s
puts "\t \\draw [->] (#{x+1.23},#{y+0.73}) -- (#{x+0.75+grad.to_f},#{y+2.25-grad.to_f});"
end
x = x + 1
end
y = y + 1
x = 0
end
end
def make_entries
x = 1
y = 1
puts "\t % Quadrant 1"
#@quadrant.reverse!
@quadrant.each do |row|
puts "\t % begin row"
row.each do |elem|
puts "\t \\node at ( #{x} , #{y} ) [rectangle,fill=white] {$#{elem}$};"
x = x + 1
end
y = y + 1
x = 1
end
end
def write_header
puts "\\documentclass{article}"
puts ""
puts "% -- Package used for the graphics --"
puts "\\usepackage{tikz}"
puts ""
puts "% -- Start of the main document --"
puts "\\begin{document}"
puts ""
end
def write_tikzstart
puts ""
puts "% -- start of the spectral sequence --"
puts "\\begin{tikzpicture}"
puts ""
end
def write_tikzend
puts ""
puts "\\end{tikzpicture}"
puts "% -- end of the spectral sequence --"
puts ""
end
def write_eof
puts ""
puts "\\end{document}"
puts "% -- EOF --"
end
seqopen
write_header
write_tikzstart
read_quadrant
make_grid
make_arrows
make_entries
write_tikzend
write_eof
seqclose
x (1)| y (2)| z
a | | c | k
1 | 2 | 3 | b_1
Ok. Um es nochmal zu wiederholen: Dein Punkt ist, dass Skripte, welche mit den Rechten eines Benutzers ohne Login-Shell laufen, in der Shebang-Zeile u.U. kein /usr/bin/env benutzen können? Zu diesem Zweck habe ich im CGI-Verzeichnis meines (unmodifizierten) Apache 1.3.33 unter Tiger mal das TestskriptDas behaupte ich, ja. Jedenfalls nicht ohne weitere (nicht ratsame) Eingriffe.
#!/usr/bin/env perl
print "Content-type: text/html\n\n";
print "<html><body>Hello World!</body></html>\n";
power-mac-g4:/Library/WebServer/CGI-Executables thorsten$ ls -l
total 8
-rwxr-xr-x 1 www www 107 Nov 8 21:12 test.pl
#!/usr/bin/env ruby
#
@file=File.open(ARGV[0])
@file.close
#!/usr/bin/env ruby
#
@file=File.open(ARGV[0])
@file.close
./test.rb test.ssp
Wir verwenden essentielle Cookies, damit diese Website funktioniert, und optionale Cookies, um den Komfort bei der Nutzung zu verbessern.
Für die Ihnen angezeigten Verarbeitungszwecke können Cookies, Geräte-Kennungen oder andere Informationen auf Ihrem Gerät gespeichert oder abgerufen werden.
Anzeigen und Inhalte können basierend auf einem Profil personalisiert werden. Es können mehr Daten hinzugefügt werden, um Anzeigen und Inhalte besser zu personalisieren. Die Performance von Anzeigen und Inhalten kann gemessen werden. Erkenntnisse über Zielgruppen, die die Anzeigen und Inhalte betrachtet haben, können abgeleitet werden. Daten können verwendet werden, um Benutzerfreundlichkeit, Systeme und Software aufzubauen oder zu verbessern.
Durch das Klicken des Buttons "Zustimmen" willigen Sie gem. Art. 49 Abs. 1 DSGVO ein, dass auch Anbieter in den USA Ihre Daten verarbeiten. In diesem Fall ist es möglich, dass die übermittelten Daten durch lokale Behörden verarbeitet werden.