Zum Inhalt springen

Jejerod

Mitglieder
  • Gesamte Inhalte

    66
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von Jejerod

  1. Notize am Rande: Deine Aussage ist genauso falsch. Ich sprach nämlich von Virtualisierung, NICHT von VMWare. Das du das gleichsetzt - ist dein Problem. Es gibt andere virtuelle Maschinen als VMware.
  2. Soso. Dementsprechend hast du source code von ESXi 5 gesichtet und kannst das 100% unterschreiben? Persönlich habe ich mir den source nicht angeschaut, aber ich lerne auch nach 12 Jahren gerne dazu. Any input appreciated
  3. BusyBox Was möchtest du eigentlich relevantes zu dem ursprünglichen Thema sagen? Oder einfach nur mal ne Runde Haare spalten? m( Also genau das, was keiner in dieser Diskussion wollte? Was ist nun näher dran an ESXi, Unix oder Windows? Und warum reitest du eigentlich darauf rum?
  4. Ein OS das mir ssh-Zugang gibt, ls und cp versteht, nenne ich nun mal unixoid. Von Linux war nirgendwo die Rede. The time and date of this login have been sent to the system logs. VMware offers supported, powerful system administration tools. Please see www.vmware.com/go/sysadmintools for details. The ESXi Shell can be disabled by an administrative user. See the vSphere Security documentation for more information. ~ # uname -a VMkernel vmwarexxxx.intern.xxxx.de 5.0.0 #1 SMP Release build-623860 Feb 17 2012 13:11:21 x86_64 unknown Sieht das eher nach Unix oder nach Windows aus? Bissel viel Beissreflex Heute?
  5. Kann Jemand bestätigen dass das Forum via Proxy Probleme macht? Szenario: Normalerweise nutze ich @home einen lokalen Proxy (squid 3.1) Proxies schicken Via: und X-Forwarded-For: Header. Existiert im http request ein X-Forwarded-For: Header, meldet der Server (nginx) einen 500 Server error zurück. Das lässt sich mit curl nachvollziehen: # curl -L -v http://www.fachinformatiker.de 2>&1 | grep '< HTTP/1.1' < HTTP/1.1 303 See Other < HTTP/1.1 301 Moved Permanently < HTTP/1.1 200 OK Ohne Proxy-Header: Nach zwei Location: Headern wird die Seite angezeigt. # curl -L -v -H "X-Forwarded-For: 1.1.1.1" \ -H "Via: proxy (curlheaders/3.1)" \ http://www.fachinformatiker.de 2>&1 | grep '< HTTP/1.1' < HTTP/1.1 500 Internal Server Error Mit den typischen Via: und X-Forwarded-For: Proxy Headern kommt direkt ein 500 zurück. Der X-Forwarded-For alleine reicht bereits für den 500er. Dieser kann z.B. bei Squid nicht abgeschaltet werden (nur auf X-Forwarded-For: unknown gestellt). PN an StefanE ist dazu raus.
  6. Dem kann ich uneingeschränkt zustimmen. Dem dagegen nicht, schon weil es kein Sinn macht. Je nach Fall kann man durchaus bessere Jobs bekommen wenn man nicht nur ein Betriebssystem kennt. Natürlich wirst du nur für das Bezahlt was du anwendest, aber wenn du in mehr Fällen "anwendbar" bist kannst du halt aus mehr Jobs wählen. Davon ausgehend das du, lilith2k3, deinen Traumberuf gefunden hast, ist das jedoch eine korrekte, wenn auch subjektive, Sicht der Dinge. Meine Kunden allerdings haben z.B. durchgehend heterogene Umgebungen. Das übliche Setup ist Windows im LAN, Unix/Windows Mix in der DMZ, Windows/Mac/Smartphones als mobile Clients. Die eigentliche Frage ist also im Prinzip: Wo will der Threadersteller hin? Windows bringt ihn da eher zum Spezialist für LAN/Office Setups. Unix mehr zu den exponierten Servern in der DMZ oder im freien Internet. Und das berührt noch nicht mal Spezialwissen wie IOS (das Original, mit großem "I"), JunOS oder Firewalling. Oder nimm Virtualisierung. Die meisten Virtualisierungsumgebungen haben einen unixoiden Grund, mit virtuellem Windowsmaschinen darüber. Tendenziell bewegen sich die Betriebssysteme aufeinander zu, und das ist auch gut so. Windows hat gelernt das ein mächtiges Kommandozeilen-Werkzeug hilft (Powershell), Linux bemüht sich immer mehr Anwenderfreundlich zu sein, und OSX liegt irgendwo dazwischen, mit seinen Gemeinsamkeiten und Sonderlocken (es spielt aber keine nennenswerte Rolle im Serverbereich). Willst du nach der Ausbildung bei deinem Betrieb bleiben (und kannst es auch), dann kannst du dich auf Windows festlegen. Willst du alternative Optionen haben, dann musst du deinen Horizont selbstständig erweitern. Der Fokus sollte immer auf den Grundlagen liegen. Weißt du wie DHCP funktioniert, kannst du sowohl einen Windows DHCP als auch einen isc-dhcpd auf Linux konfigurieren. Betriebssysteme ändern sich von Version zu Version, Grundlagen bleiben.
  7. Es geht wohl weniger um das frühe Aufstehen als um 5 Stunden Reisezeit täglich - im besten Falle, also wenn alle Anschlüsse klappen - also fast soviel wie Arbeitszeit. Das sehe ich schon als stressig an, insbesondere wenn der Betroffene noch in der Ausbildung ist und die Zeit somit nicht mal gut vergütet wird. Mal unter uns: ich kann das ewige "Du musst das Wegstecken, das haben wir auch alle gemacht" nicht mehr hören. Das fördert genau die unter-Wert-verkaufen Mentalität die hier sonst so verteufelt wird. Opfere dein Leben gefälligst für deine Arbeit! *double facepalm*
  8. https://plus.google.com/117024231055768477646/posts/jGmNXd42RBt Kosten für Quellen-TKÜ oder TKÜV sind immens. Dagegen rechnet sich eine Steuersünder-CD, auf die du wohl anspielst, finanziell immer. Schon die Drohung sie zu kaufen bringt Steuerhinterzier zum zahlen. Sicherheit soll gefälligst die Provider kosten, oder die Dienstleister - nicht den Staat. Ist wie bei Bildung. Alle wollen mehr davon, keiner will es Bezahlen.
  9. Oder wie jemand in meinen G+ Circles am Samstag so passend schrieb:
  10. Gar nicht unter /bin/sh. Mit Klimmzügen unter /bin/bash. Macht aber keinen Spaß. Arrays Hier müssen wir Leerzeichen in den Namen erst mal ersetzen (ich nutze Underscores), dann den Separator mit einem Leerzeichen, dann erhalten wir eine bash-kompatible Liste, die wir als Array behandeln können. Man hat allerdings keine Möglichkeit herauszufinden wie viele Elemente im Array sind (außer in der Schleife zu prüfen ob das nächste Element leer ist). Sagte ich schon dass das keinen Spaß macht? #!/bin/sh function underscore2space { echo $1 | sed -e 's/_/ /g' } # convert space to underscore, then separator to space WORK=`echo ${STRING1} | sed -e 's/ /_/g' | sed -e 's/,/ /g'` # bash array - BASH specific! ARRAY=( $WORK ) # use custom function to output underscore2space ${ARRAY[0]} underscore2space ${ARRAY[1]} underscore2space ${ARRAY[2]} Sinnigerweise überlässt man so etwas perl. Zumal kaum ein unixoides System ohne Perl existieren dürfte. #!/usr/bin/perl use strict; use warnings; my $data = $ENV{'STRING1'}; exit(255) if (! defined($data)); my @names = split(/,/, $data); printf("Namen im String: %d\n",scalar(@names)); foreach my $name (@names) { print $name."\n"; }
  11. Primär nennt man das mal "Mist Idee" weil bei der Basic Auth Benutzername und Kennwort lesbar an den Server gesendet werden. Der Server benutzt also besser SSL, ansonsten kann jeder der im Netzwerk sniffen kann auch auf das Benutzerkonto von Lisa auf dem Linux zugreifen. Sekundär benutzt man für eine Authentication gegen die shadow PAM (Plugable Authentication Modules). mod_auth_pam oder mod_auth_external mit passendem externen Modul sollte das leisten können was du willst. useradd(8) - Linux man page passwd(1): update user's authentication tokens - Linux man page passwd(5): password file - Linux man page shadow(5): encrypted password file - Linux man page Das ganze ist in der Form kein Domänenlogin, das wäre in der tat mod_auth_ntlm_winbind. Das nächste an einer Domäne wäre hier imho ein Linuxserver der alle Benutzer via LDAP verwaltet, nicht in /etc/passwd und /etc/shadow. Dann würde man auch mod_authnz_ldap verwenden. Diesen weg gehe ich für meine Rootserver für gewöhnlich. Nur Administratoren haben Systemkonten in passwd und shadow.
  12. Nach den ganzen Tagen, die der Thread schon läuft, hätte ich die Logik schon lange in die Software gepackt anstelle den perfekten Query zu suchen. Wenn man einen Query umständlich zusammenbauen muss ist das vermutlich auch der bessere Weg. Lieber frisst das Programm CPU Zeit für die Auswertung als für den Querybau. Man möchte zwar soviel wie Möglich direkt auf der Datenbank machen, aber wenn es 3+ Tage dauert den Query zu finden ist auch mal Schluss. Das muss der Kunde schließlich auch alles Bezahlen. Außerdem: Werden MySQL-Spezifische Queries gebaut, ist das migrieren auf andere Datenbanken wieder schwerer. Lässt sich das Problem nicht mit Standard SQL erschlagen und plant man eine Erweiterung auf andere DB Backends sollte die Logik eh besser in der Software liegen. Hängt natürlich auch an den Anforderungen. Ist das ganze Zeitkritisch, will man eher den "perfekten Query". Korrekt. Full SELECTs sind Pflicht. Lieber schmeißt dein Programm einen Fehler als Unfug zu verarbeiten.
  13. Warum trägst du so etwas in die root.hints/Stammhinweise? die root.hints enthält eine Liste von Servern über die rekursiv aufgelöst werden kann, d.h. die sogenannten Root-Nameserver. Das ist vermutlich nicht das was du erreichen wolltest und daher funktioniert es auch nicht... Willst du owa.axx.de auf eine bestimmte IP auflösen, muss dein DNS: - primary für axx.de sein - einen A record für owa.axx.de haben Ob der DNS von 2k8 da mehr Möglichkeiten hat, kann ich aber nicht sagen.
  14. Unverifiziert, aber vielleicht ein Ansatz: SELECT persoID, matches, total FROM ( SELECT persoID, COUNT(persoID) AS matches, SUM(rating) AS total FROM crosstable WHERE SkillID IN (1,3) GROUP BY persoID ) AS groupview WHERE matches=2 ORDER BY total DESC davon ausgehend das rating eine aufsummierbare Zahl ist, und das der Subselect als matches die Anzahl der Treffer der WHERE Bedingung (SkillID IN (...)) rausrückt.
  15. Jejerod

    Freenas FTP

    FTP benutzt Port 21 nur als command channel. Je nach Modus wird dann über eine andere Verbindung ein data channel aufgebaut. Dadurch kommt es immer wieder zu Problemen mit FTP durch Firewalls und/oder NAT. Siehe https://secure.wikimedia.org/wikipedia/de/wiki/File_Transfer_Protocol#Verbindungsarten
  16. Das Problem dürfte das session_start() sein, das immer ausgeführt werden muss - bereits angemeldete Benutzer werden sonst nicht mehr erkannt. Diese Variante (ohne SQL) läuft auf meinem Testhost (PHP 5.3.3, lighttpd) einwandfrei: <?php // Sitzung starten damit $_SESSION gefuellt wird, wenn der Benutzer bekannt ist @session_start(); // wurde einloggen gewaehlt? if (isset ($_REQUEST["login"])) { $benutzer = $_REQUEST["user"]; $password = $_REQUEST["passwort"]; // kein SQL hier in der Testversion /* $sql = "SELECT id,user,passwort FROM benutzer WHERE user= '$benutzer' "; * $ergebnis = mysql_query($sql); * $zeile = mysql_fetch_assoc($ergebnis); */ $id = 1; $user = "demouser"; $pw = "demopasswort"; if ( $benutzer == $user && $password == $pw) { $_SESSION['id'] = $id; $_SESSION['username'] = $user; // kein SQL... /* $sql = "UPDATE benutzer SET sessionnummer='$sess_id' WHERE user ='$benutzer'"; * mysql_query($sql); */ } else { echo "<script>alert('Fehler!')</script>"; } } // oder wurde ausloggen gewaehlt? elseif (isset ($_REQUEST["logout"])) { $sql = $sql = "UPDATE benutzer SET sessionnummer='' WHERE id={$_SESSION['id']}"; printf("Würde Query %s ausführen<br/>",$sql); session_unset(); } // Ist der Benutzer bereits Angemeldet? if (isset($_SESSION['id'])) { printf("Hallo, %s. Deine Sitzungs-ID ist %s.<br/>",$_SESSION['username'],session_id()); // Button zum Ausloggen anzeigen echo <<<EOHTML <form action="" method="POST"> <input type="submit" name="logout" value="Logout"> </form> EOHTML; } // Ansonsten login form zeigen else { ?> <form method="POST"> Benutzername:<br/><input type="text" name="user"/><br/> Passwort:<br/><input type="password" name="passwort"/><br/> <input type="submit" name="login" value="Login"/> </form> <?php } ?> [/PHP] Das ganze ist an deinen Code angelehnt. [b][u]Denk trotzdem daran deine Benutzereingaben noch zu überprüfen und vor Einbau in ein SQL-Query zu escapen. Alles was von Benutzern eingegeben wird ist grundsätzlich böse und will deine Datenbank kaputt machen.[/u][/b]
  17. Um erfolgreich die SessionID löschen zu können musst du dir den Benutzer in der Session auch gemerkt haben. Variablen wie "$benutzer" sind nicht persistent. Das Superglobal $_SESSION ist dafür zuständig if ( $benutzer == $user && $password == $pw) { session_start(); $sess_id = session_id (); // Benutzer Merken $_SESSION['user_id'] = $id; mysql_query(sprintf("UPDATE benutzer SET sessionnummer='%s' WHERE id=%d", mysql_escape_string($benutzer),$id)); echo ("<b>Hallo $benutzer</b></br>"); echo "<script>alert('Erfolgreich eingeloggt!')</script>"; } else { echo "<script>alert('Fehler!')</script>"; } if (isset ($_REQUEST["logout"])) { $uid = $_SESSION['user_id']; mysql_query(sprintf("UPDATE benutzer SET sessionnummer='' WHERE id=%d",$uid)); // jetzt koennen wir $_SESSION leeren session_unset(); } [/php]
  18. Ab dieser Stelle disqualifiziert sich dein Code bereits. Schlagworte: https://secure.wikimedia.org/wikipedia/de/wiki/Sanity_Check https://secure.wikimedia.org/wikipedia/de/wiki/SQL-Injection Melde dich doch mal mit dem Benutzer '; DROP TABLE benutzer;-- an Auch beliebt ist ' OR id=1;-- Tipp: Wechseln auf mysqli, bind_param verwenden. Wenn schon, dann gleich richtig. Irgendwas wie $benutzer = $_REQUEST['user']; $password = $_REQUEST['password'] $sql = "SELECT id FROM benutzer WHERE user=? AND password=MD5(?)"; // you don't store passwords as plain text, do you? No, you don't. if (! $stmt = mysqli_prepare($sql)) { # some error } mysqli_stmt_bind_param($stmt, "ss", $benutzer, $password); mysqli_stmt_execute($stmt); mysqli_stmt_bind_result($stmt, $id); if ( ! mysqli_stmt_fetch($stmt) ) { # no such user, login failed } else { # yep, user found with id=$id. hooray. [/PHP] ist gleich um Welten sicherer. Bezüglich des eigentlichen Problems: PHP: session_set_save_handler - Manual
  19. Shameless self-quote. cd /bin ln -s bash rbash useradd -c "restricted user" -m -s /bin/rbash ruser cd ~ruser rm .profile .bashrc Dann hat man schon mal einen restricted user. Bei mir hat dieser nur /usr/lib/restricted/bin im Pfad. Da hab ich dann mal ein ssh-wrapper reingeworfen: #!/bin/sh # this is /usr/lib/restricted/bin/ssh function local_error { echo "error: $1" exit 255 } CMDLINE=$* # check if commandline contains evil options -o or -F echo $CMDLINE | /usr/bin/egrep -- '(-o|-F)' > /dev/null && local_error "illegal commandline" # exec ssh with system config to override ~/.ssh/config settings /usr/bin/ssh -F /etc/ssh/ssh_config $* Ergebnis: ruser@host:~> /usr/bin/ssh user@target -rbash: /usr/bin/ssh: Verboten: `/' ist in Kommandonamen unzulässig. ruser@host:~> ssh -F myconfig user@target error: illegal commandline ruser@host:~> ssh -o UserKnownHostsFile=/dev/null user@target error: illegal commandline ruser@host:~> ssh user@target The authenticity of host ... So oder ähnlich würde das wohl gehen.
  20. Es ist eigentlich recht Gleichwertig. Du kannst eine Policy ausgeben das niemand bei SSL-Verbindungen im Browser unsichere Zertifikate akzeptiert, aber machen kann der User es dann immer noch. Selbiges gilt für Mailclients die mit SSL/TLS arbeiten. Bei verantwortungslosen Handeln ist halt jeder Client eine Gefahr. Mir würde da ein Wrapperscript und eine restricted bash vorschweben. Lässt sich dann auch wunderbar auf Mitarbeiter x eingrenzen, der Rest behält die volle bash. Müsste man sich aber im Detail angucken. Was ich eigentlich Denke: Wenn ein User verdächtigt wird das er unsauber arbeitet, dann kann man ihm nur den Zugang sperren. Man kann natürlich mit komplexen Workarounds allen das Leben schwerer machen; das dürfte aber nur dazu führen das noch mehr User versuchen das ganze zu umgehen. Ist mithin also eher Kontraproduktiv. Eine kurze Schulung des betroffenen Users warum die voreingestellten Werte gut und sinnvoll sind ist der bessere Weg. Nur kenne ich die Situation nicht. Daher das nur als Anmerkung.
  21. Um, seit wann das? acl allebenutzer proxy_auth REQUIRED acl rechtealle "/etc/squid/rechte_alle.acl" acl gruppeeins proxy_auth "/etc/squid/gruppe_eins.acl" acl gruppezwei proxy_auth "/etc/squid/gruppe_zwei.acl" acl rechteeins dstdomain "/etc/squid/rechte_eins.acl" acl rechtezwei dstdomain "/etc/squid/rechte_zwei.acl" http_access allow allebenutzer rechtealle http_access allow gruppeeins rechteeins http_access allow gruppezwei rechtezwei http_access deny all Jeder Benutzer kann doch in gruppe_eins.acl UND gruppe_zwei.acl eingetragen werden, und hat dann Zugang auf alles domains aus den drei rechte*acl files. Ok, wenn man das direkt aus einem z.b. AD oder LDAP haben will, muss man sich was schlaues scripten um die lokalen acl files mit dem LDAP Server abzugleichen. Aber: Es geht Da wird die Luft für freie Alternativen dann schon dünn. Sehr dünn.
  22. Warum sollte es das geben? Jeder kann den Client halt so Einstellen wie er möchte, wie bei jedem anderen Client (Browser, Mailclient...) eben auch. Auch wenn es das geben würde, hält mich nichts davon ab ein modifiziertes ssh binary in mein $HOME zu packen und zu benutzen. Auf welchen Wert würdest du StrictHostKeyChecking administrativ setzen wollen, und was möchtest du damit bezwecken?
  23. Dein "inklusive" beißt sich mit dem "Zuwachs". Kann man also so oder so lesen. Wenn etwas zu wächst, wird es mehr Wieder so eine Formulierung. Kommen nun 60 MB neu dazu, oder werden 60 MB Bestandsdaten geändert? Letzteres erschließt sich nur aus dem Kontext. Unterm Strich, in der Realität, würde sich niemand wegen 75 MB irgendeinen Kopf machen: Es wird immer ein Vollbackup gefahren. Niemand macht sich über andere Strategien (die nur den Sinn haben Platz zu sparen) Gedanken in dieser Größenordnung. Wenn es um 75GB geht, sieht das anders aus. Daher: Ist das eine akademische Aufgabe, oder an die Realität angelehnt?
  24. Naja der Rahmenlehrplan ist schon etwas größer, wie beim FI eben auch. Und ich denke mal so mancher angehende FI wird auch nur hier und da mal einen Druckertreiber installieren, ein paar Softwareinstallationen einfachster Art durchführen und die Kasse abrechnen, die kleine 5-Personen-Bude als Ausbildungsbetrieb mal vorausgesetzt.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...