Execute Commands From Script As Some User

Nov 15, 2007

I'm trying to write some scripts that automate the installation of a website with a content management system. This includes creating domains, installing databases etc via plesk API.

Now we have it creating the domains and databases via plesk, this is not the issue. It's permission problems issuing commands on the server.

I need to have the script install the cms and this requires writing files to a folder on the server owned by a user which is created with the domain.

e.g.
user creates timsdomain.com with ftp user name tim
Plesk makes directory on webserver called ~/vhosts/timsdomain.com/
inside this directory is a folder called httpdocs.
All the files within this folder are owned by tim.

Now my script (running as 'apache' in a folder owned by 'admin') needs to write/edit files to this directory as the user tim (or whatever user was created when the domain was set up).

How can I do this from a php script?

My idea would be to log in as the new user and then start issuing commands but I don't know how to login a user from a script.

I've tried exec, exec_shell etc
trying to log in via script as the new user using sudo/su/suid etc but they all ask for a password (for obvious reasons) but I cannot see a way to send the password to the command with the script. Ssh?
I don't know. Help

Here's some pseudocode that demonstrates what I'm trying to do, if you can think of a better way I'm all ears.

Code:

//User Fills in CMS/Domain information which becomes Form_Data

//uses plesk to create blank domain, create email addresses and empty database
Make_Domain(Form_Data) {
Plesk = Get_Plesk_Object();
Plesk.Create_Domain();
Plesk.Create_Database();
Build_CMS(Form_Data);
}

//HERE IS WHERE I AM HAVING TROUBLE: I can't figure out how to change the user so I can install files to a
// different directory other than the current user's directory (admin)

Build_CMS(Form_Data) {

change_to_user(Form_Data.ftp_username, FormData.ftp_password);
unpack_CMS_archive_into(user_directory); //eg unpack cms.tar into 'timsdomain.com' (if the above command didn't switch the current directory to users home directory)

//initialises CMS config files and installs CMS data to database
Run_Install_Scripts_On_Server(Form_Data);
//albeit complex, most important part of script
Confirm_Tim_Is_Awesome();
}

Confirm_Tim_Is_Awesome() {
while (getTim().has_moustache()) {
echo "<em>You're still awesome. </em>";
}
}

View 2 Replies


ADVERTISEMENT

How To Execute Shell Scripts As Some User

Nov 18, 2007

I'm trying to write some scripts that automate the installation of a website with a content management system. This includes creating domains, installing databases etc via plesk API.

Now we have it creating the domains and databases via plesk, this is not the issue. It's permission problems issuing commands on the server.

I need to have the script install the cms and this requires writing files to a folder on the server owned by a user which is created with the domain.

e.g.
user creates timsdomain.com with ftp user name tim
Plesk makes directory on webserver called ~/vhosts/timsdomain.com/
inside this directory is a folder called httpdocs.
All the files within this folder are owned by tim.

Now my script (running as 'apache' in a folder owned by 'admin') needs to write/edit files to this directory as the user tim (or whatever user was created when the domain was set up).

How can I do this from a php script?

My idea would be to log in as the new user and then start issuing commands but I don't know how to login a user from a script.

I've tried exec, exec_shell etc
trying to log in via script as the new user using sudo/su/suid etc but they all ask for a password (for obvious reasons) but I cannot see a way to send the password to the command with the script. Ssh?

Here's some pseudocode that demonstrates what I'm trying to do, if you can think of a better way I'm all ears.

Code:
//User Fills in CMS/Domain information which becomes Form_Data

//uses plesk to create blank domain, create email addresses and empty database
Make_Domain(Form_Data) {
Plesk = Get_Plesk_Object();
Plesk.Create_Domain();
Plesk.Create_Database();
Build_CMS(Form_Data);
}

//HERE IS WHERE I AM HAVING TROUBLE: I can't figure out how to change the user so I can install files to a
// different directory other than the current user's directory (admin)

Build_CMS(Form_Data) {

change_to_user(Form_Data.ftp_username, FormData.ftp_password);
unpack_CMS_archive_into(user_directory); //eg unpack cms.tar into 'timsdomain.com' (if the above command didn't switch the current directory to users home directory)

//initialises CMS config files and installs CMS data to database
Run_Install_Scripts_On_Server(Form_Data);
//albeit complex, most important part of script
Confirm_Tim_Is_Awesome();
}

Confirm_Tim_Is_Awesome() {
while (getTim().has_moustache()) {
echo "<em>You're still awesome. </em>";
}

View 14 Replies View Related

Execute Cgi On Lxadmin Setup

Feb 2, 2008

I'm trying to get a Movable Type installation working. Centos under HyperVM and Lxadmin...

Correct Perl version is installed. Cgi script in MT calls correct Perl install.

Perhaps it's an issue that I'm running through Lxadmin?

I run through the install - no problem. But when trying to access my install, I get a 500 error.

I'm not getting anything in the logs. Absolutely nothing on the Six Apart side.

SElinux in not running. I've tried forcing with .htaccess:
<Directory /path-to-movabletype>
Options Indexes ExecCGI
</Directory>

Has anyone been through this... or perhaps just some feedback.

It's a common problem - but the solution isn't typical apparently (for me that is).
[url]

View 1 Replies View Related

Apache :: Execute Script When GET Request Come On Server

Aug 30, 2013

If any GET request are coming on Apache I want execute my "try.pl". I used "Script" directive for execute script "Script GET /cgi-bin/try.pl ....

View 2 Replies View Related

Apache :: How To Setup Exe Programs To Execute Instead Of Download

May 9, 2013

I am migrating to apache httpd 2.4 on windows xp. The current server currently has exe programs that execute as cgi programs. When I try to use one of these links, apache just servers the programs as files for download. How do I configure my httpd.conf to run these instead of download them?

View 1 Replies View Related

Plesk 11.x / Linux :: Failed To Execute Backup Of Mysql Database

Feb 19, 2015

My OS is CentOS 5.8.
Plesk is 11.0.9.

Having problems with failed daily domain backups. All databases that have been created by Plesk cannot be backed up, thus backup fails with the following message:

<?xml version="1.0" encoding="UTF-8"?>
<execution-result status="error" log-location="/usr/local/psa/PMM/sessions/2015-02-19-044701.875/migration.result">

[Code]...

View 4 Replies View Related

Setup Apache HTTP Server 2.0 To Run On Local Machine And Execute PL Scripts

Jan 24, 2014

I am 3 days new to figuring out how to get Perl scripts to run on my Windows XP box. I downloaded and installed the Apache installation file "httpd-2.0.65-win32-x86-openssl-0.9.8y.msi" and the "strawberry-perl-5.18.2.1-32bit.msi" from the perl.org site in hopes that I could get a feedback form to work for a web site that I am working on.

Out of the many pages that I have viewed online of how to configure the Apache Server, nothing has given any favorable results with their explanations.

My last attempt was [URL] ..... where I could not get the example to work. I did the changes to the Apache file "Edit the Apache httpd.conf Configuration File" fairly easily but I must be having problems with the test.pl because I can't get it to work.

I used a different version of Perl (Strawbery from perl.org because it installed without giving me an error pop up after installation) and after copy pasting the script, in an attempt to get it working, I ended up changing it in hopes that I could get it working, shown below.

#!/strawberry/bin/perl.exe
print "Content-type: text/html; charset=iso-8859-1

";
print "<phtml>";
print "<body>";
print "Test Page";
print "</body>";
print "</html>";

This is what the site says to create the program with:

#!/perl/bin/perl
print "Content-type: text/html; charset=iso-8859-1

";
print "<phtml>";
print "<body>";
print "Test Page";
print "</body>";
print "</html>";

where I assumed that "#!" meant the "C:" drive and substituted the first "/perl" with the folder the Strawbery Perl had installed itself to and left the second "/perl" in the first line thinking that it was referring to the executable in the "C:strawberryperlbin" folder.

This is the error I get when trying to get the script to run when typing "localhost/test.pl" in the address bar.

"Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
........"

Know how I can change the title of this post to read "Configuring Apache HTTP Server 2.0 to run Perl in Windows"?

View 1 Replies View Related

Plesk 11.x / Linux :: Stopped Working - Unable To Execute PHP Handlers Control

Apr 6, 2015

I'm not been able to start plesk although web and mail services are running.I'm getting the error unable to execute php_handlers_control.I've patched and updated plesk with command line and bootstrap repair and I'm getting this errors:

==> Checking for: mail_responder_restore... fail
/usr/lib64/plesk-9.0/mail_restore: line 820: 17063 Illegal instruction /usr/local/psa//admin/sbin/mailmng-service --restart-service

Errors occured in mail restore procedure
Some utilities have exited with errors:
/usr/lib64/plesk-9.0/mail_auth_dump
/usr/lib64/plesk-9.0/mail_responder_restore

I get Illegal Instruction When I run :

# /usr/local/psa/admin/sbin/mailmng-service --restart-service
Illegal instruction

Also I switched from postfix to qmail and back using the command line with no luck.

/usr/local/psa/admin/bin/mailmng --features
runs without problems.....
/usr/local/psa/admin/logs/panel.log:
[06-Apr-2015 12:47:25 America/New_York] PleskUtilException: '/usr/local/psa/admin/bin/php_handlers_control' '--list-json' failed with code 4.

[code]....

View 8 Replies View Related

Different Free MEM Via Different Commands

Jun 9, 2008

I am running a CPanel VPS and wanted to see whats the actual ram stats. (My package have 512 MB ram)

The issue is, using two different methods, I am getting two different values.

Via SSH, free -m gives this
total used free shared buffers cached
Mem: 512 204 307 0 0 0
-/+ buffers/cache: 204 307
Swap: 0 0 0

and while running a script that I have found Here in WHT

Code:
#!/bin/bash
#
# Revised 02-Feb-2007: include kernel memory (kmemsize) in 'used' calculation
# and show percentages in output.
#

BEAN=`cat /proc/user_beancounters`
GUAR=`echo "$BEAN" | grep vmguar | awk '{ print $4;}'`
PRIV=`echo "$BEAN" | grep privvm | awk '{ print $2;}'`
KMEM=`echo "$BEAN" | grep kmem | awk '{ print $3;}'`

let TOTL=$GUAR/256
let KMMB=$KMEM/1048576
let PVMB=$PRIV/256
let USED=$KMMB+$PVMB
let FREE=$TOTL-$USED
if [ "$FREE" -gt "0" ]; then
let UPER=$USED*100/$TOTL
let FPER=100-$UPER
else
let UPER="100"
let FPER="0"
fi
echo "VPS Memory:"
echo " Total: $TOTL mb Used: $USED mb (${UPER}%) Free: $FREE mb (${FPER}%)"
It gives
Total: 512 mb Used: 482 mb (94%) Free: 30 mb (6%)

Why such huge difference??

Also "top" command shows
top - 02:44:04 up 1 day, 9:55, 2 users, load average: 1.35, 1.04, 0.94

Is that good for a a VPS with 512 RAM? (The site has extremely high traffic)

View 0 Replies View Related

Cron Commands

Jan 28, 2008

I've been reading through tutorials for setting up cron commands via cPanel, but everything I have tried does not work. What I need to do is simple - I just want to run a php file on my server once every 15 minutes.

View 1 Replies View Related

SSH Commands For Rsyn

May 25, 2008

commands for cron job, i need to backup only 2 account backup in cron job one username is panther that a/c is in paretition "home" another a/c name logictec itz in partion "home2" for this two a/c only i need make cron job but there are in seprate partion can u help me in give the comman which can make backup in cronjob every one day

View 4 Replies View Related

Some FFMEPG Commands

May 29, 2008

I am not familiar with shell scripting, so I'm asking for your help. I want to do

I need to batch convert all my videos so i used the command for particular folder media/ipod so i used

find /media/ipod -type f -exec mencoder {} -of mpeg -oac lavc -lavcopts acodec=mp2:abitrate=192 -af resample=44100:0:0 -ovc lavc -lavcopts vcodec=mpeg2video:vbitrate=50 -vf scale,harddup -ofps 25 -zoom -xy 176 -o {}.mpg ;

now i need to convert all my avi videos to 3gp for folder via batch convert.please help for this commands

View 2 Replies View Related

Linux Commands

Aug 20, 2007

does anyone know how i would find out what version of apache server i have? i have root access.

View 5 Replies View Related

Redirect Domain/user To User.domain ONLY IF Folder 'user' Doesn't Exist

May 7, 2007

I thought I knew enough about my .htaccess stuff to do this, but I can't seem to work it out. What I want to do is if a user visits domain.com/folder, we check to see if the folder exists. If so, show as normal (IE domain.com/support)

If a user visits domain.com/dynamicusername (dynamicusername is not a physical folder), redirect to dynamicusername.domain.com

View 3 Replies View Related

Quick IPTables Commands

Aug 1, 2009

Quick IPTables Commands

List: iptables -L -n | grep <IP Address>

Remove: iptables -D INPUT -s <IP 1> -d <IP 2> -j DROP

Insert: iptables -I INPUT -s <IP> -j DROP

Flush: iptables -F

Remove: iptables -D OUTPUT -s 0.0.0.0/0 -d 66.93.33.185 -j DROP

netstat -nap | grep :80 | wc –l (shows # of connections to HTTP)

netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort –n (shows total connections per IP, if more than 100 block)

View 3 Replies View Related

A Few Notes On Exim Commands

Jul 29, 2007

It may be useful to someone, sometimes the queded mail list gets gigantic because of some spammer and other emails that aren't spam could get deleted when using cPanel to control it.

The better solution would obviously be to prevent spammers of sending all those mails, if you know a better solution on cPanel 11 please share it with me.

==== REMOVE MAILS BY ID ====

/usr/sbin/exim -v -Mrm (MAIL ID HERE)

==== LIST QUEDED MAILS ====

/usr/sbin/exim -bp

==== OUTPUT NUMBER OF QUEDED MAILS ====

/usr/sbin/exim -bpc

==== DELETE FROZEN MAILS ====

/usr/sbin/exim -bp | awk '$6~"frozen" { print $3 }' | xargs exim -Mrm

==== DELIVER FORCEFULLY EMAILS ====

/usr/sbin/exim -qff -v -C /etc/exim.conf &

==== FREEZE MAILS FROM SENDER ====

/usr/sbin/exiqgrep -i -f (MAIL ADDRESS HERE) | xargs exim -Mf

==== REMOVE MAILS FROM SENDER ====

/usr/sbin/exiqgrep -i -f (MAIL ADDRESS HERE) | xargs exim -Mrm

View 14 Replies View Related

Bash Commands On Windows

Jun 5, 2007

I asked around and found [url] and win-bash.exe on source forge.

View 1 Replies View Related

Script Using Curl Executing Ssh Commands

Apr 26, 2009

im trying to write a script interfacing to WHM again via remote access key. What I want to achieve is to remove an ip from iptables. using PHP script (CURL), any thoughts on how i can remove an ip from iptables? I know the ssh command how to do it but i dont know if it will work via a PHP (CURL) script connecting to WHM via remote access key.

View 1 Replies View Related

Executing A Queue Of Shell Commands From Php

Feb 4, 2008

This is following on from:
[url]

So I need to execute a list of commands via a cron job rather than having the script 'wait' for the shell to finish processing (as this was leading to time outs and all sorts of issues).

I'm guessing the way to do this is to have my php set up a cron job to occur at some point in the near future (like current time + 1 min), then to prevent the job from repeating the next hour, it removes itself from the cron list as the final command.

Does this sound like a reasonable way to go about executing a queue of shell commands from the browser that take an indefinite (possibly long) amount of time?

View 4 Replies View Related

Executing ./ Commands Through Hackers Shells

Jul 12, 2008

I've been concerned about executing commands through (./) using php and perl shells on the server

a new way of hacking these days is using perl shells , even if the perl was terminated on the server ,, or was forbidden for users
hackers upload a (perl) program to the server to use it instead of the server's own perl

any way ,,

chmoding the (ls-cat-more-less) to 4750 seems to give permission denied when exeuting these programs on the server
but the hackers also found that they could upload their own ls-cat-more-less programs and use them instead of the server's

they also could rename them ls==>ki or anything and use them like this

./ki /etc/valiases -alXrt
and the commands work like charm for them

./ <<--- this command uses the sh program on the server ,, ((sh which refers to bash on most servers))
so

./ki
is the same as

sh ki

and

bash ki

so i tried chmoding sh with 4750 and that killed the exploit

i was concerned about cpanel's and the website's functionality
so i tried changing an accounts password and creating a database ,, they both worked fine

so ,, if u thing chmoding 4750 sh is a bad idea please let me know

and if you know any other ways of disabling all the perl scripts on the server

View 14 Replies View Related

My CentOS 5 Bind Installation Commands

Dec 15, 2007

if after doing the following and transferring my domains to the server, they will functions properly as far as BIND setup is concerned. This will also serve as installation instructions for others if you can verify that this is all good.

I have installed BIND9 and setup DNS with the following:
------------------------------------------------------------------------

yum install bind-chroot

chmod 755 /var/named/
chmod 775 /var/named/chroot/
chmod 775 /var/named/chroot/var/
chmod 775 /var/named/chroot/var/named/
chmod 775 /var/named/chroot/var/run/
chmod 777 /var/named/chroot/var/run/named/

chown -R named /var/named/chroot/etc

chown -R named /var/named/chroot/var

cd /var/named/chroot/var/named/

ln -s ../../ chroot

cp /usr/share/doc/bind-9.3.3/sample/var/named/named.local /var/named/chroot/var/named/named.local

cp /usr/share/doc/bind-9.3.3/sample/var/named/named.root /var/named/chroot/var/named/named.root

touch /var/named/chroot/etc/named.conf

chkconfig --levels 235 named on

named.conf now contains:

Code:
options {
pid-file "/var/named/chroot/var/run/named/named.pid";
directory "/var/named/chroot/var/named";
query-source address * port 53;
allow-query { any; };
recursion no;
};

zone "server.mydomain.com" { type master; file "server.mydomain.com.db"; };
zone "mydomain.com" { type master; file "mydomain.com.db"; };
zone "mydomain.net" { type master; file "mydomain.net.db"; };
Upload named.conf to /var/named/chroot/etc

Modify /etc/resolv.conf to have the following before its current data:
search mydomain.com
nameserver 127.0.0.1
nameserver 78.129.143.155 // Replace this with the server's IP
// So below these there should be one or more nameserver $ip that point to the ISP's name servers so that the server can download stuff.

Modify /etc/host.conf to become the following:
order hosts,bind
multi on
nospoof on

Modify the files mydomain.com.db and mydomain.net.db and server.mydomain.com.db
to have the correct IP address. (These are DNS zone files that I'm sure are correct so I don't need you to confirm those.)
* Upload them to /var/named/chroot/var/named

/etc/init.d/named start

View 10 Replies View Related

Sequential Shell Commands On A Cron Job

Oct 7, 2007

if it is possible to set sequential commands on a cron job?

Meaning, there is more than one shell commands following the first one.

View 2 Replies View Related

Apache :: Auto-index Like Commands?

Feb 28, 2014

I get many GET requests that have auto-index like sort commands attached.

View 6 Replies View Related

Apache :: Commands Recognized As Invalid

Jan 17, 2013

I've been trying to set up a "console host" in addition to my main "site front" so that I can easily manage MySQL without needing the use of the Workbench (i.e. phpmyadmin). But even when I add the "mod_authz_host" module file to my configuration and correctly referencing it with LoadModule, it says:

Quote:
Invalid command 'Order', perhaps misspelled or defined by a module not included in the server configuration
This is what is in my configuration file as of now:

Code:
AddDefaultCharset utf-8
ErrorLog data/http.log
Listen 80
PidFile data/http.log
ServerSignature Off
ServerTokens Prod

[Code] ....

I have tried using this as an alternative, but it caused my PHP interpreter to malfunction:

Quote:
Require ip 127.0.0.1

Prior to me try to implement these host control directives, my Apache setup has had no errors whatsoever.

View 2 Replies View Related

MySQL Won't Accept Commands: Wrong Password

Jun 2, 2008

I am just trying out MySQL on the external Apache server. I must have written down the wrong password. My commands to enter mysql with a password results in denied access.

What file do I undo in order to create a new password? I don't know the exact steps I'm supposed to take. I don't think this is a MySQL issue, but a server issue, right?

I used to create databases and tables on my regular computer and left off the password altogether while I was practicing. Now I'm taking steps to do it on the actual server, and have run across this problem.

View 6 Replies View Related

SSH Commands - Deleting Files And Escaping Characters

Jun 26, 2008

I have two quick questions.

Question 1
I had a script create a backup of every file on my site using the following format "filename.php.bac". I want to delete these files now and I tired to use "rm *.bac" but that only deleted the files in the current directory. How can I delete ALL those files in EVERY directory and sub-directory starting at the public_html directory?

Question 2
How can I escape semi-colon's (;) in a perl script? I'm trying to run a search+replace script to update some Analytics code and I have a ton of files to update but for some reason if there is a semi-colon in the find varable, it assumes that it has reached the end of the contents in that variable.

Here is the code. Take a look at the $find variable and you will see extra semi-colon's. How do I tell the script to not treat those semi-colons as the end of the variable? .........

View 5 Replies View Related

Scheduled Consecutive Shell Commands Or As Cron Job

Oct 9, 2007

Is it possible to schedule consecutive shell commands to be run at a given time or every certain period (like every hour)?

This is important for me as I want to schedule to run certain program and then input the following commands afterwards to do and complete the task, all automatically within the specified schedule.

One example would be connecting to an FTP. First you'd need to input the ftp command to run the ftp program, then following that, input another commands consecutively within that session (the ftp program) to do and complete the task.

I'm running KDE on CentOs4 btw.

Is it even possible to do this on cron jobs?

View 1 Replies View Related







Copyrights 2005-15 www.BigResource.com, All rights reserved