Ägare för Screen, samt skicka kommandon direkt

Permalänk
Medlem

Ägare för Screen, samt skicka kommandon direkt

Hej!

Jag kör en screen som jag vill ändra ägare på, alltså, nu körs den från root, men jag vill att ägare ska vara "apache", hur ändrar jag detta?

Också, om jag kör kommando:

screen -S myscreen -X stuff 'mitt kommando'

Så blir det ingen "submit" på det... Har jag uppe screenen så ser jag hur texten 'mitt kommando' kommer upp men det körs inte =/

Tacksam för hjälp

/Robin

Har löst delen med att skicka kommandon till screenen, dock så har jag inga rättigheter att göra det då jag inte är ägare till screenen, hur byter jag ägare på den?

Här är koden förresten för att skicka till screenen:

screen -S myscreen -X eval 'stuff "mitt kommando"\015';

Permalänk
Medlem

Jag är inte säker på att jag uppfattar problemet korrekt. Om jag gör det borde 'su -c' göra susen.

Visa signatur

Jag tänkte skriva något klyftigt här

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av 4bstract
Jag är inte säker på att jag uppfattar problemet korrekt. Om jag gör det borde 'su -c' göra susen.

Har suttit i 5 timmar i sträck nu och försökt lösa mitt problem utan någon framgång... Grejen är att jag vill köra allt det här i ett PHP skript:

shell_exec("screen -S ventrcon_3784 -X eval 'stuff \"tts hej\"\015'");

Jag kan ju köra su på serverdatorn, men då får jag en promt: password:...

Så genom PHP skriptet måste jag få rootaccess, sedan skicka koden till screenen... Har googlat överallt men det finns inget svar på det, så att jag är lite frustrerad

Permalänk
Medlem

det kanske är helt galet ur säkerhetsynpunkt men kan du inte skriva allt i ett shellscript och där även skriva lösenordet? sen kör du shellscriptet ifrån webbsidan?

i scriptet:

su -c << EOF daspassword EOF screen ....osv osv

det där kanske inte fungerar alls? kanske inte går att mata in lösenord så? jag har gjort det någon gång för att ansluta till en ftp-server och vandra runt i katalogerna och slutligen ladda upp en fil.

ifall inte det funkar så kanske detta funkar i ett shellscript?

sudo -S commandot >> EOF passord EOF

eller

echo passord | sudo -S commandot

från sudos manpage:
-S

The -S (stdin) option causes sudo to read the password from the standard input instead of the terminal device.

åter igen, antagligen helt galet sätt att göra det enligt de flesta säkerhetsintresserade.

Permalänk
Hedersmedlem

Finns det någon anledning till att köra screen som root från början?

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Nasso
det kanske är helt galet ur säkerhetsynpunkt men kan du inte skriva allt i ett shellscript och där även skriva lösenordet? sen kör du shellscriptet ifrån webbsidan?

i scriptet:

su -c << EOF daspassword EOF screen ....osv osv

det där kanske inte fungerar alls? kanske inte går att mata in lösenord så? jag har gjort det någon gång för att ansluta till en ftp-server och vandra runt i katalogerna och slutligen ladda upp en fil.

ifall inte det funkar så kanske detta funkar i ett shellscript?

sudo -S commandot >> EOF passord EOF

eller

echo passord | sudo -S commandot

från sudos manpage:
-S

The -S (stdin) option causes sudo to read the password from the standard input instead of the terminal device.

åter igen, antagligen helt galet sätt att göra det enligt de flesta säkerhetsintresserade.

Tack för intresset Fick inte de övre alternativen att fungera, men när jag vill prova sudo alternativen säger den att sudo är inget kommando... Är det något man måste installera? Hur gör man isf? Har kört Debian förut och använt apt-get, men använder ubuntu nu men apt-get finns inte med där, men det kanske finns någon ekvivalens?

Citat:

Ursprungligen inskrivet av Elgot Finns det någon anledning till att köra screen som root från början?

Bra fråga Finns det någon anledning att inte göra det? Säkerhetsrisker antar jag?

Permalänk
Hedersmedlem
Citat:

Ursprungligen inskrivet av Hoshibo
Finns det någon anledning att inte göra det? Säkerhetsrisker antar jag?

En av de största riskerna i ett system är att vara root i onödan. Och varför skulle det vara säkrare att starta screen som root och sedan på något sätt överföra sessionen till en annan användare än att starta från denne direkt?

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Elgot
En av de största riskerna i ett system är att vara root i onödan. Och varför skulle det vara säkrare att starta screen som root och sedan på något sätt överföra sessionen till en annan användare än att starta från denne direkt?

Problemet är att användaren som jag vill ska äga screenen är apache =/ Kan jag ställa in ett lösenord för apache och logga in som denne, sedan starta screenen?

Tack på förhand

Permalänk
Medlem

# screen -S testscreen
ctrl+a :multiuser on
ctrl+a :acladd testuser
$ screen -x testuser/testscreen

Fungerade inte så där jätte bra det där, va tvunget att ha screen suid root bla.

Permalänk
Medlem

Man kan fixa så att sudo inte behöver lösenord för ett visst kommando för en viss användare om man kör visudo (som används för att redigera sudoers). Jag brukar ta för vana att skriva fullständiga sökvägar i script. Om sudo ligger i /bin så skriver man i så fall /bin/sudo i scriptet (nu minns jag inte exakt var sudo brukar ligga, kanske ligger någon annanstans än /bin).

http://www.gratisoft.us/sudo/man/sudoers.html
http://www.gratisoft.us/sudo/man/visudo.html

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Hoshibo
Tack för intresset Fick inte de övre alternativen att fungera, men när jag vill prova sudo alternativen säger den att sudo är inget kommando... Är det något man måste installera? Hur gör man isf? Har kört Debian förut och använt apt-get, men använder ubuntu nu men apt-get finns inte med där, men det kanske finns någon ekvivalens?

Bra fråga Finns det någon anledning att inte göra det? Säkerhetsrisker antar jag?

är du helt säker på att varken sudo eller apt-get finns? verkar väldigt underligt ifall du kör ubuntu, de ska finnas där bägge två.
kolla på ronnylov's tips. det är nog enklare och smidigare än mitt, har själv gjort så någon gång.

Permalänk
Medlem

Kanske så är det aptitude man använder istället för apt-get, testa det!