Mød TrackMan og Veo på Computerworld Cloud & AI Festival og hør, hvordan tech ændrer måden, vi træner og udvikler talent – fra skolebold til The Masters.
jeg forstår heller ikke at når jeg er logget ind som en bruger med sudo rettigheder og skriver sudo gør et eller andet, så bliver jeg bedt om at indtaste root passwordet
når du bruger sudo, bliver du bedt om dit password, og ikke root passwordet! Det sker dog kun første gang, og efter du ikke har brugt sudo i x minutter ...
når du tilføjer folk i /etc/sudoers, skal folk som udgangspunkt indtaste deres eget password af og til når de bruger sudo kommandoen af sikkerhedshensyn. Man kan dog i /etc/sudoers angive at password ikke er nødvendigt (nopassword), hvis man ønsker at sætte sikkerheden ud af spil. Man vil normalt kun bruge nopassword, når de kommandoer som brugeren får adgang til er meget specifikt angivet, og ikke til bruger som kan bruge sudo kommandoen til alt.
Okay. Jeg forstår bare stadig ikke hvorfor brugeren bliver bedt om at indtaste root passwordet og ikke sit eget. Ud over det har jeg stadig ikke fundet ud af hvordan jeg sætter JAVA_HOME på brugerniveau siden det åbenbart ikke er nok at sætte det i bunden af /etc/profile
nej vel, men hvis jeg logger ind som en bruger som har sudo rettigheder, i dette tilfælde ret til at starte og stoppe tomcat, så bliver jeg bedt om root passwordet.
sudo /opt/apache-tomcat-6.0.18/bin/startup.sh Neither the JAVA_HOME nor the JRE_HOME environment variable is defined At least one of these environment variable is needed to run this program
cat /proc/version Linux version 2.6.18.8-0.10-default (geeko@buildhost) (gcc version 4.1.2 2006111 5 (prerelease) (SUSE Linux)) #1 SMP Wed Jun 4 15:46:34 UTC 2008
Du kan prøve at se om den eksportere det hvis du som brugere kører de to kommandoer: Så har du en nogenlunde idé om hvor det går galt, alt afhængig af hvad den gør.
BRUGER@dhcppc3:~> export JAVA_HOME=/usr/java/jdk1.6.0_10/ BRUGER@dhcppc3:~> export PATH=$PATH:$JAVA_HOME/bin BRUGER@dhcppc3:~> sudo /opt/apache-tomcat-6.0.18/bin/startup.sh root's password: Neither the JAVA_HOME nor the JRE_HOME environment variable is defined At least one of these environment variable is needed to run this program
burde det ikke betyde at hvis jeg som en bruger der tilhører gruppen sshlogin skriver sudo /opt/apache-tomcat-6.0.18/bin/startup.sh så skulle jeg bliver bedt om at indtaste den brugers password og kommandoen skulle blive udført. Hvad er det jeg ikke forstår :-(
Jeg ville tro, uden at være sikker at når du laver den sudo, så skal du bruge root adgang. Er ikke vant til at arbejde med sudo. :)
En anden ting. Jeg tror kun at variabler gælder for brugeren og ikke globalt, og når du så prøver at eksekvere startup scriptet, er du root, og så kan den ikke finde dem. Du kan prøve dette.
(login som root) $su - <passwd> export JAVA_HOME=/usr/java/jdk1.6.0_10/ export PATH=$PATH:$JAVA_HOME/bin
Det er bare en shell, så du kan eksekvere startup.sh scriptet. Du kan også gøre det med . /opt/apache-tomcat-6.0.18/bin/startup.sh, men det kræver at det har eksekver rettigheder.
Using CATALINA_BASE: /opt/apache-tomcat-6.0.18 Using CATALINA_HOME: /opt/apache-tomcat-6.0.18 Using CATALINA_TMPDIR: /opt/apache-tomcat-6.0.18/temp Using JRE_HOME: /usr/java/jdk1.6.0_10/ touch: kan ikke røre '/opt/apache-tomcat-6.0.18/logs/catalina.out': Adgang nægtet /opt/apache-tomcat-6.0.18/bin/catalina.sh: line 292: /opt/apache-tomcat-6.0.18/logs/catalina.out: Adgang nægtet
Hvad er det præcist du vil om man må spørge? Det ader ikke til at den laver den fejl nu, men nu dør den tilsyneladende efter (kan også tænkes før). Og så får du en fejl for at åbne en af filerne, fordi du ikke har de korrekte rettigheder.
problemet er, at tomcat har været startet som root, og derfor ligger der logfiler i logs biblioteket, som tilhører root, hvilket en alm. bruger ikke kan overskrive.
tomcat skal startes af den samme bruger hvergang, ellers få man dette problem. er formentlig derfor han har eksperimenteret med sudo
Såvidt jeg husker, skal du ikke bruge den startup.sh direkte, men der findes div. scripts, som på normal vis placeres i /etc/init.d, og som bl.a. lader tomcat kører som ikke-privilegeret bruger (dårlig ide at bruge root). Dette script kan du så lade brugerne sudo på samme måde som apache og andet.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.