Zum Inhalt springen

paule22

Mitglieder
  • Gesamte Inhalte

    190
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von paule22

  1. paule22

    su automatisieren

    hallo linuxaner und tuxfans, mit dem Befehl "su" kann man doch einen Befehl ausführen als anderer User - gelle. Wenn ich nun aber im user-login auf der console "su" eingebe wird in root geschaltet - gelle Aber: kann man das abfragen des Passwortes nicht irgendwie automatisieren, da ich "su" aus einen Skript heraus aufrufe ??? danke für hilfe paul
  2. void SendError(LPREQUEST lpReq, int uError) { static char szMsg[512]; static char *szStatMsgs [] = { "200 OK", "201 Created", "202 Accepted", "204 No Content", "301 Moved Permanently", "302 Moved Temporarily", "304 Not Modified", "400 Bad Request", "401 Unauthorized", "403 Forbidden", "404 Not Found", "500 Internal Server Error", "501 Not Implemented", "502 Bad Gateway", "503 Service Unavailable" }; #define NUMSTATMSGS sizeof(szStatMsgs) / sizeof(szStatMsgs[0]) if (uError < 0) return; wsprintf(szMsg, "<html><body><h1>%s</h1></body></html>",szStatMsgs[uError]); int rr = send(lpReq->Socket,szMsg,strlen(szMsg),0); AnsiString str = "sending string(): "; str += IntToStr(WSAGetLastError()); str += ",,, "; str += rr; apache_form->output->Lines->Add(str); } bool RecvRequest(LPREQUEST lpReq, char *pBuf, int dwBufSize) { WSABUF wsabuf; WSAOVERLAPPED over; DWORD dwRecv; DWORD dwFlags; DWORD dwRet; HANDLE hEvents[2]; bool fPending; int nRet; // ---------------------------------------------- // Zero the buffer so the recv is null-terminated // ---------------------------------------------- memset(pBuf, 0, dwBufSize); // --------------------------------------------- // Setup the WSABUF and WSAOVERLAPPED structures // --------------------------------------------- wsabuf.buf = pBuf; wsabuf.len = dwBufSize; over.hEvent = WSACreateEvent(); dwFlags = MSG_PEEK; fPending = false; nRet = WSARecv(lpReq->Socket, // Socket &wsabuf, // WSABUF 1, // Number of buffers &dwRecv, // Bytes received &dwFlags, // Flags NULL, // WSAOVERLAPPED NULL); // Completion function if (nRet != 0) { if (WSAGetLastError() != WSA_IO_PENDING) { AnsiString str = "W SARecv(): "; str += IntToStr(WSAGetLastError()); apache_form->output->Lines->Add(str); CloseHandle((HANDLE)over.hEvent); return false; } else fPending = true; } apache_form->output->Lines->Add("fPending = TRUE"); // ---------------------------- // If the I/O isn't finished... // ---------------------------- if (fPending) { // -------------------------------------------------- // Wait for the request to complete or the exit event // -------------------------------------------------- hEvents[0] = (HANDLE)over.hEvent; hEvents[1] = lpReq->hExit; dwRet = WaitForMultipleObjects(2, hEvents, false, INFINITE); // ---------------------------- // Was the recv event signaled? // ---------------------------- if (dwRet != 0) { apache_form->output->Lines->Add("dwRet in RecvRequest()"); CloseHandle((HANDLE)over.hEvent); return false; } if (!WSAGetOverlappedResult(lpReq->Socket, &over, &dwRecv, false, &dwFlags)) apache_form->output->Lines->Add("WSAGetOverlappedResult() in RecvRequest()"); CloseHandle((HANDLE)over.hEvent); return false; } apache_form->output->Lines->Add("complete recv"); // ----------------------------------------- // Recv event is complete -- keep statistics // ----------------------------------------- lpReq->dwRecv += dwRecv; CloseHandle((HANDLE)over.hEvent); return true; } int ParseRequest(LPREQUEST lpReq, char *lpBuf) { char szSeps[] = " \n"; char *cpToken; // ------------------------------------------ // Don't let requests include ".." characters // in requests // ------------------------------------------ if (strstr(lpBuf, "..") != NULL) { // Send "bad request" error return(HTTP_STATUS_BADREQUEST); } // // Determine request method // cpToken = strtok(lpBuf, szSeps); if (!stricmp(cpToken, "GET")) lpReq->nMethod = METHOD_GET; else { // Send "not implemented" error return(HTTP_STATUS_NOTIMPLEMENTED); } // // Get the file name // cpToken = strtok(NULL, szSeps); if (cpToken == NULL) { // Send "bad request" error return(HTTP_STATUS_BADREQUEST); } // strcpy(lpReq->szFileName, szWebRoot); // if (strlen(cpToken) > 1) // strcat(lpReq->szFileName, cpToken); // else strcat(lpReq->szFileName, "/index.html"); return 0; } unsigned __stdcall ClientThread(void *pVoid) { int nRet; char buf[1024]; LPREQUEST lpReq = (LPREQUEST)pVoid; // ----------------- // Count this client // ----------------- IncrementClientCount(); // --------------------- // Recv the request data // --------------------- if (RecvRequest(lpReq, buf, 1024) == false) { AnsiString str = "RecvRequest(): close___: "; str += lpReq->Socket; apache_form->output->Lines->Add(str); CloseConnection(lpReq); delete lpReq; DecrementClientCount(); return 0; } // ---------------------- // Parse the request info // ---------------------- nRet = ParseRequest(lpReq, buf); if (nRet) { apache_form->output->Lines->Add("ParseRequest(): nret"); SendError(lpReq, nRet); CloseConnection(lpReq); free(lpReq); DecrementClientCount(); return 0; } // char dwON = '1'; DWORD dwON = 1; setsockopt(lpReq->Socket,IPPROTO_TCP, SO_DONTLINGER, (char*)&dwON,sizeof(DWORD)); if (SendBuffer(lpReq,"<html><head><title>AddA</title></head><body><h1><b>Hello World !</b></h1></body></html>", 1024) == false) apache_form->output->Lines->Add("can't sending www.de"); else apache_form->output->Lines->Add("sending to www.de"); Sleep((DWORD) 2000); // ------------ // Clean up ... // ------------ apache_form->output->Lines->Add("clean up connection"); // here, if I close the connection, the first sending // data will disappear and the browser sent me new data // "site can not display" ... // I don't know why ! // any ideas ??? CloseConnection(lpReq); delete pVoid; // -------------------- // Subtract this client // -------------------- DecrementClientCount(); return 0; } unsigned __stdcall ListenThread(void *pVoid) { SOCKET socketClient; unsigned ThreadAddr; DWORD dwClientThread; SOCKADDR_IN SockAddr; LPREQUEST lpReq; int nLen; DWORD dwRet; HANDLE hNoClients; LPHANDLE pHandle = (LPHANDLE)pVoid; // ----------------------------------- // Initialize client thread count to 0 // ----------------------------------- hNoClients = InitClientCount(); // ---------------------------------- // Loop forever accepting connections // ---------------------------------- while(1) { // ------------------ // Block on accept() // ------------------ nLen = sizeof(SOCKADDR_IN); socketClient = accept(ListeningSocket,(LPSOCKADDR)&SockAddr,&nLen); if (socketClient == INVALID_SOCKET) { apache_form->output->Lines->Add("ListenThread(): INVALID_SOCKET"); break; } // --------------------- // We have a connection // --------------------- AnsiString str = "Connection accepted on socket: "; str += IntToStr(socketClient); str += " from: "; str += inet_ntoa(SockAddr.sin_addr); apache_form->output->Lines->Add(str); // ---------------------------------------------- // Allocate parms for client and fill in defaults // ---------------------------------------------- lpReq = new REQUEST[sizeof(REQUEST)]; if (!lpReq) { apache_form->output->Lines->Add("No memory for client request !"); continue; } lpReq->hExit = *pHandle; lpReq->Socket = socketClient; lpReq->dwConnectTime = ::GetTickCount(); lpReq->hFile = INVALID_HANDLE_VALUE; lpReq->dwRecv = 0;; lpReq->dwSend = 0; DWORD dwON = 1; setsockopt(lpReq->Socket,IPPROTO_TCP, SO_DONTLINGER, (char*)&dwON,sizeof(DWORD)); // -------------------------------------------- // Start a client thread to handle this request // -------------------------------------------- dwClientThread = _beginthreadex( NULL, // Security 0, // Stack size ClientThread, // Thread function lpReq, // Argument 0, // Init flag &ThreadAddr); // Thread address if (!dwClientThread) apache_form->output->Lines->Add("Couldn't start client thread"); // ---------------------------------------- // We won't be using client thread handles, // so we close them when they are created. // The thread will continue to execute. // ---------------------------------------- CloseHandle((HANDLE)dwClientThread); } // ------------------- // Wait for exit event // ------------------- WaitForSingleObject((HANDLE)*pHandle, INFINITE); // // Wait for ALL clients to exit // dwRet = WaitForSingleObject(hNoClients, 5000); if (dwRet == WAIT_TIMEOUT) { apache_form->output->Lines->Add("One or more client threads did not exit"); } DeleteClientCount(); return 0; }
  3. // ---------------------------------------------------------------------------- // tracks the number of active client threads ... // ---------------------------------------------------------------------------- DWORD gdwClientCount = 0; CRITICAL_SECTION gcriticalClients; HANDLE ghNoClients; HANDLE InitClientCount(void) { gdwClientCount = 0; InitializeCriticalSection(&gcriticalClients); // ------------------------------------------- // Create the "no clients" signal event object // ------------------------------------------- ghNoClients = CreateEvent(NULL, // Security TRUE, // Manual reset TRUE, // Initial State NULL); // Name return ghNoClients; } void IncrementClientCount(void) { EnterCriticalSection(&gcriticalClients); gdwClientCount++; LeaveCriticalSection(&gcriticalClients); ResetEvent(ghNoClients); } void DecrementClientCount(void) { EnterCriticalSection(&gcriticalClients); if (gdwClientCount > 0) gdwClientCount--; LeaveCriticalSection(&gcriticalClients); if (gdwClientCount < 1) SetEvent(ghNoClients); } void DeleteClientCount(void) { DeleteCriticalSection(&gcriticalClients); CloseHandle(ghNoClients); } void CloseConnection(LPREQUEST lpReq) { HTTPSTATS stats; int nRet; // ---------------------------------- // Log the event and close the socket // ---------------------------------- AnsiString str = "1) CloseConnection(): Closing socket: "; str += IntToStr(lpReq->Socket); apache_form->output->Lines->Add(str); nRet = closesocket(lpReq->Socket); if (nRet == SOCKET_ERROR) { str = "closesocket(): "; str += IntToStr(WSAGetLastError()); apache_form->output->Lines->Add(str); } } bool SendBuffer(LPREQUEST lpReq, char *pBuf, DWORD dwBufSize) { WSABUF wsabuf; WSAOVERLAPPED over; DWORD dwRecv; DWORD dwFlags; DWORD dwRet; HANDLE hEvents[2]; bool fPending; int nRet; // --------------------------------------------- // Setup the WSABUF and WSAOVERLAPPED structures // --------------------------------------------- wsabuf.buf = pBuf; wsabuf.len = dwBufSize; over.hEvent = WSACreateEvent(); fPending = FALSE; nRet = WSASend(lpReq->Socket, // Socket &wsabuf, // WSABUF 1, // Number of buffers &dwRecv, // Bytes received 0, // Flags NULL, //&over, // WSAOVERLAPPED NULL); // Completion function if (nRet != 0) { if (WSAGetLastError() == WSA_IO_PENDING) fPending = TRUE; else { AnsiString str = "--> WSASend(): "; str += IntToStr(WSAGetLastError()); apache_form->output->Lines->Add(str); CloseHandle((HANDLE)over.hEvent); return false; } } // ---------------------------- // If the I/O isn't finished... // ---------------------------- if (fPending) { // -------------------------------- // Wait for the request to complete // or the exit event to be signaled // -------------------------------- hEvents[0] = (HANDLE) over.hEvent; hEvents[1] = lpReq->hExit; dwRet = WaitForMultipleObjects(2, hEvents, false, INFINITE); // ---------------------------- // Was the recv event signaled? // ---------------------------- if (dwRet != 0) { CloseHandle((HANDLE) over.hEvent); return false; } // -------------- // Get I/O result // -------------- if (!WSAGetOverlappedResult(lpReq->Socket, &over, &dwRecv, false, &dwFlags)) { AnsiString str = "WSAGetOverlappedResult(): "; str += IntToStr(WSAGetLastError()); apache_form->output->Lines->Add(str); CloseHandle((HANDLE)over.hEvent); return false; } } CloseHandle((HANDLE)over.hEvent); return true; } weiter im im anschluss ....
  4. Hallo Leute, heute mal ein Problem der Socket Programmierung: Ich habe ein ServerProgram, das auf Port hört. Wenn es gestartet wird und man im Explorer folgendes eingibt: http:/127.0.0.1 , dann wird ein Simpler Text ausgegeben - aber jetzt kommt das Problem, nachdem der Text ausgegeben ist, schließe ich das Client-Socket und siehe da, der Browser zeigt mir nun völlig andere Daten an - "Seite kann nicht angezeigt werden " ist doch blöde oder ??? okay hier der Code dazu PS: Wer den Fehler findet bekommt vielleicht ne Belohnung :-D ------------------------------------- // ---------------------------------------------------------------------------- #pragma warn -8060 #pragma warn -8071 #pragma warn -8080 #pragma warn -8084 #include <stdio.h> #include <io.h> #include <iostream> #include <string.h> #include <process.h> #include <windows.h> #include <winsock2.h> #include "start.h" #pragma hdrstop AnsiString HTTPD_ROOT; AnsiString DOCUMENT_LOCATION; const int DYNAMIC_MODULE_LIMIT = 64; // ---------------------------------------------------------------------------- // Port number for server running standalone ... // ---------------------------------------------------------------------------- const int DEFAULT_HTTP_PORT = 80; const int DEFAULT_HTTPS_PORT = 443; // ---------------------------------------------------------------------------- // The name of the log files ... // ---------------------------------------------------------------------------- AnsiString DEFAULT_XFERLOG; AnsiString DEFAULT_ERRORLOG; AnsiString DEFAULT_PIDLOG; AnsiString DEFAULT_SCOREBOARD; AnsiString DEFAULT_LOCKFILE; AnsiString DEFAULT_INDEX; SOCKET ListeningSocket; SOCKET NewConnection; SOCKADDR_IN ServerAddr; SOCKADDR_IN ClientAddr; int ClientAddrLen; DWORD gdwListenThread; HANDLE ghExit; unsigned __stdcall ListenThread(void *pVoid); // ---------------------------------------------------------------------------- // implementation of the exception class constructors... // ---------------------------------------------------------------------------- __fastcall TApacheException::TApacheException(AnsiString text) { ErrorText = text; } __fastcall TApacheException::TApacheException(int code) { ErrorCode = code; } //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" Tapache_form *apache_form; //--------------------------------------------------------------------------- __fastcall Tapache_form::Tapache_form(TComponent* Owner) : TForm(Owner) { } void __fastcall Tapache_form::Button1Click(TObject *Sender) { WSACleanup(); } //--------------------------------------------------------------------------- void __fastcall Tapache_form::FormShow(TObject *Sender) { server_main(); } //--------------------------------------------------------------------------- void __fastcall Tapache_form::socket_init(void) { int version = MAKEWORD(2,2); WSADATA wsd; int err; err = WSAStartup((WORD)version, &wsd); if (err) { AnsiString str = "WSAStartup failed: "; str += IntToStr(WSAGetLastError()); throw TApacheException(str); } if (LOBYTE(wsd.wVersion) != 2 || HIBYTE(wsd.wVersion) != 2) throw TApacheException("Apache requieres Winsock 2. Please read the FAQ for more informations,"); } void __fastcall Tapache_form::server_main(void) { // ---------------------------------- // first, tackle the default path ... // ---------------------------------- AnsiString str = Application->ExeName; int i, pos = 1; for (i = 1; i < str.Length(); i++) { if (str[str.Length()-i] == '\\') break; pos++; } str.Delete(str.Length()-pos-1,pos+1); str = AnsiLowerCase(str); HTTPD_ROOT = str; DOCUMENT_LOCATION = HTTPD_ROOT + "\\htdocs"; // -------------------------------- // define the default log files ... // -------------------------------- DEFAULT_XFERLOG = HTTPD_ROOT + "\\logs\\access.log"; DEFAULT_ERRORLOG = HTTPD_ROOT + "\\logs\\error.log"; DEFAULT_PIDLOG = HTTPD_ROOT + "\\logs\\httpd.pid"; DEFAULT_SCOREBOARD = HTTPD_ROOT + "\\logs\\apache_runtime_status"; DEFAULT_LOCKFILE = HTTPD_ROOT + "\\logs\\accept.lock"; DEFAULT_INDEX = "index.html"; try { // ----------------------------- // Initialize the stupid sockets // ----------------------------- output->Lines->Add("initializiere sockets ..."); socket_init(); // --------------------------------------- // Create the exit signal event object ... // --------------------------------------- ghExit = CreateEvent(NULL, // Security TRUE, // Manual reset FALSE, // Initial State NULL); // Name int Port = 80; //3456; if ((ListeningSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)) == INVALID_SOCKET) { AnsiString str = "socket failed with error: "; str += IntToStr(WSAGetLastError()); throw TApacheException(str); } ServerAddr.sin_family = AF_INET; ServerAddr.sin_port = htons(Port); ServerAddr.sin_addr.s_addr = INADDR_ANY; if (bind(ListeningSocket, (LPSOCKADDR)&ServerAddr, sizeof(struct sockaddr)) == SOCKET_ERROR) { AnsiString str = "bind failed with error: "; str += IntToStr(WSAGetLastError()); closesocket(ListeningSocket); throw TApacheException(str); } if (listen(ListeningSocket, SOMAXCONN) == SOCKET_ERROR) { AnsiString str = "listen failed with error: "; str += IntToStr(WSAGetLastError()); closesocket(ListeningSocket); throw TApacheException(str); } output->Lines->Add("We are awaiting a connection on port: 3456"); // ------------------------------- // create the listening thread ... // ------------------------------- unsigned int ThreadAddr; gdwListenThread = ::_beginthreadex( NULL, // Security 0, // Stack size ListenThread, // Function address &ghExit, // Argument 0, // Init flag &ThreadAddr); // Thread address if (!gdwListenThread) { AnsiString str = "Could not create listening thread: "; str += IntToStr(GetLastError()); closesocket(ListeningSocket); throw TApacheException(str); } output->Lines->Add("apache running ..."); } catch (TApacheException ev) { closesocket(ListeningSocket); WSACleanup(); output->Lines->Add(ev.ErrorText); } Label1->Caption = DOCUMENT_LOCATION; return; } der rest folgt im anschluß .....
  5. Also als ich letztes Jahr eine Fortbildung zum WebDesigner gemacht habe waren wir 20 Mann ogoot, Gina - Mann sage ich - ne 20 Frauen waren dabei nur 3 Männer. War echt lustig die Zeit immer was zu lachen. Heute können die Fräuleins vom Amt WebSeiten gestalten, in C++ Programmieren, ein Netzwerk einrichten, Computer zerlegen und wieder zusammenbasteln in Java Applets schreiben mit Novel hantieren und was weis ich noch alles. Englisch hatten wir und BWL Ein gemeinsames Projekt wurde fertiggestellt - WebSeite einer Verkehrswacht und das alles nur innerhalb eines Jahres !!! Abgesehen von den C++ Teil der Fortbildung (das ich (so mein Glaube) in Ansätzen gut kann) war alles im einem alles sehr lehrreich und spasshaltig. An diesen Beispiel kann man(n) oder auch Frau sehen, dass nicht nur Männer in diesen Bereich (Programmierrung) tätig sind. gruß paule
  6. Hallo Gina !!! Der Aufsatz stammt von mehreren Quellen, von Jungen und Mädchen der tritten Klasse. Wollt mal was aufheiterndes senden, aber wohl in die Hose gegangen??? gruß paule
  7. > Kindermund tut Wahrheit kund!!! > Mädchen sind keine Indianer > Ein Schulaufsatz von Carsten Becker (3b) > Deutsch-Hausaufgabe: Gibt es Unterschiede zwischen Mädchen und > Jungs? > Mädchen sind keine Indianer. Indianer kennen nämlich keinen > Schmerz und dürfen deshalb nicht weinen. Mädchen weinen aber oft gerne. > Jungs > Weinen eigentlich nie und wenn, dann zeigen sie es keinem, weil es > peinlich ist. > Überhaupt haben die Mädchen mehr Gefühl als die Jungen und mehr > Haare, die sie lang wachsen lassen. Jungs sind praktischer. Kurze Haare > machen wenig Arbeit. Meine große Schwester steht jeden Morgen eine > Stunde vor > dem Spiegel, ich gar nicht. Da verändert sich ja doch nichts. Bei ihr > eigentlich auch nicht - aber sie macht das trotzdem. Mädchen können halt > nicht logisch denken. > Jungs wachsen später Haare im Gesicht und auf der Brust. Mädchen > Wachsen Brüste. Deshalb haben sie auch im Sommer immer oben rum was an. > Vielleicht schämen sie sich, weil sie auf einmal anders aussehen. Jungs > brauchen nur eine Hose, auch wenn es heiß ist. > Mädchen tragen oft keine Hosen, sondern Röcke. Vielleicht weil sie > so stolz auf ihre Beine sind? Aber dann könnten sie ja mmern sich um die Kinder. Wenn der Mann dann > nach > Hause kommt, fangen sie Streit an. Deshalb kommen manche Männer auch > nicht mehr nach Hause. > Jungs müssen die Mädchen beschützen, weil sie stärker sind. Jedes > Mädchen braucht einen Jungen. Männer helfen gerne. Deshalb tun sie sich > hinterher mit einer Frau zusammen und beschützen sie. Das nennt man > "Miteinander-Gehen". Manche Männer machen das auch mit mehreren Frauen. > Die sind dann besonders stark. > Jungs sind einfach besser als Mädchen. Wenn der Klapperstorch zu > Männern kommen würde, dann könnten wir die Frauen abschaffen.
  8. cool, das script läuft ja recht jut !!! pssst :-) kann man damit auch das Benutzerpasswort auslesen ??? ???
  9. das liegt daran, das PRO keine Bibliothek mit diesen Namen finden kann. schau mal in /usr/lib nach, wenn die dort ist, kopier die mal nach /lib, ansonsten versuch mal einen Symbolischen Link auf lib.c.so zu legen - vielleicht klappts
  10. da schau mal einer an, danke für den Tip !!
  11. hallo ServerAdmins, ich hab nun viele Tuts über Dial-In Server gelesen. Leider wird in diesen nur die Einrichtung eines Dial-In Server mit ISDN geschrieben :-( Gibt es auch eine Möglichkeite, das ganze ohne ISDN, also per angeschlossenen Modem (ELSA) zu realisieren ??? danke für Tips
  12. moin, sagte mal, wie kann ich eigentlich mehrere Benutzer im System anlegen, die ihr eigenes WebVerzeichniss haben und auf CGI-BIN (Perl Skripts) zugreifen können ??? mit "UserDir" kann ich ja angeben, wo die HTML-Seiten eines jeden Benutzers im System liegen. Allerdings hab ich dann das Problem, dass keine CGI-Skripte laufen - bei mir kommt jedenfalls immer nen Fehler alias 500 ??? Ich hab die (Test)Skripte, die in dem User-HTML-Verzeichnis waren in mein "DocumentRoot" HauptVerzeichnis (also dort in CGI-BIN) kopiert und da funktionieren die. Muss ich des mit VirtualHosts lösen ??? und wen ja, wie funktionierten des ??? bin für jeden Rat dankbar
  13. mal ne blöde fräche: ich verwende PHP - glaub Version 3. ist es mit dieser Version überhaupt möglich, den gerde am Windows-System angemeldeten Benutzer irgendwie bei HTML-Clicks herauszufinden - oder geht das vielleicht nur über JavaScript ??? mir ist zwar bekannt, dass ich die IP via $REMOTE_ADDR auslesen kann, aber den angemeldeten User :confused: :confused: danke für nen rat
  14. also meinen Wissens brauchst Du unter Linux eine Druckerdefinitionsdatei, die einem Druckertreiber wohl ähneln sollte, nur wird unter Linux eine Text-Config-Datei verwendet. dort steht z.B. sowas wie lp|raw...: anweisungen drin. Unter Windows brauchst Du dann nur noch die Share angeben, auf die der Drucker hören soll - z. Bleistift \\Server\drucker mehr bräuchtest du auch nicht - doch nen samba server, damitte shares freigeben kannst
  15. okay danke, funktioniert auch folgendes ??? #>ftp -s:ftpscript ftpscript: ----------- open ftpserver username passwort cd zielverzeichnis ... bye unter Linux als cron job ???
  16. was meinst du mit Printer-Definition??? den Druckertreiber?
  17. moin, mal ne neue fräche: kann ich mit cron einen dienst einrichten, der automatisch eine verbindung zu einen FTP server aufnimmt und 1 oder mehrere dateien dorthin überträgt, ohne das ich von hand: 1. ftp ftp.server.de; 2. login-namen eingeben; 3. passwort eingeben und 4. send datei eingeben muss ?? sollte auf consolen-baiss via /sbin/bash oder /sbin/sh - skript laufen - habe aber auch perl zur verfügung. danke für antworten und hilfe
  18. paule22

    Red Hat 6.1

    kanst ja mal nachschauen ob bei der installation von red hat das peket "pppoe" dabei ist - das brauchst du wenn du T-DSL benutzt. Ansonsten müsstest du mal versuchen das paket übers internet (quellcode) zu beziehen und zu übersetzten. als anfänger wärste aber wahrlich bei suse besser aufgehoben. schau doch einfach mal in verschiedene ältere zeitungen nach, vielleicht liegt da ja eine SUSE eval. version bei. bei suse haste eben den vorteil, dass sich das system quasi von selbst einstellt, bei red hat musste mehr hand anlegen glaub ich. schau auch mal <a href="http://www.linuxbu.ch">hier</a> nach da findest du bestimmt auch nen paar infos
  19. netzwerkbootdisk ??? hmm vielleicht tuts mal gut, sich selber einen Kernel zu kompilieren und die nötigen Sachen zusammen zustellen - alles wirst du vermutlich nicht auf eine Diskette unterbringen können. die kompilierung hats aber in sich -- ich für meinen teil weis mir da keinen rat mehr -- habe den linux kernel 2.5 ausm netz gesaugt und auch erfolgreich das Image erstellt, leider kann ich aber nicht die root partition /dev/hda2 booten, da kommt immer so nen blöder kernel panic fehler/message 03:02 oder so. warum du unter dos kein samba-zugriff hast wird wohl daran liegen, das dos nur buchstaben als laufwerkszuordnung auflösen kann, nicht jedoch freigegebene shares via \\share samba wurde ja auch für windows netzwerke entwickelt und nicht für das reine dos mit netzwerkanbindung. ich habe noch nicht gehört ob es einen novell ähnlichen befehl wie z.b "MAP" (zum verbinden von laufwerken) auf windows mit linux gibt. gruß paule
  20. paule22

    Spiele unter Linux?

    also das Problem hatte ich in irgendeiner Form auch mal so in etwa. Was hab ich gemacht wirst du dich sicherlich fragen ??? ganz einfach; -- ich hab mal nachgeschaut ob's eine ld.so gab - und die gab es auch. so nun habe ich einen symlink von ld.so.1 auf ld.so gelegt und schon hatte ich wieder zugriff auf meine ld.so.1 versuchs doch auch mal, vielleicht klappts
  21. paule22

    Java und URL objekt

    okay, danke für die ausführliche Antwort !!! Ich programmiere derzeit eine Java-Anwendung unter Linux - weist Du vielleicht URL wo ich eine kleine SETUP finden kann, die die JVM unter Windows installiert ??? Wen möglich mit Swing-Classes
  22. danke an euch alle, jetzt funktioniert es ähm jetzt mal folgendes: wie schaut ein Eintrag für ein Benutzer aus, der via "AuthUserFile" - Datei aisgelesen wird, habs mal mit folgenden versucht: benutzer:passwort:UID:100:BenutzerAnmerkung:/home/benutzer:/bin/bash eigentlich so wie in /etc/passwd, nur dass ich /etc/shadow (wo das Passwort steht) zusammengefasst habe in eine Zeile - ist das richtig ??? danke für Hilfe

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...