WHY DOES MY WEB HOST TELL ME TO USE MY ISP's SMTP?
WHY DOES MY WEB HOST TELL ME TO USE MY ISP's SMTP?
The problem is with Abuse Violations. Most web hosts nowadays operate on
a "shared hosting" environment. This means that there are more than one
domain hosted on a single physical web server. All the resources,
including the IP addresses, are shared. Now let's say domain1.com is a
great customer, but domain2.com is a SPAMMER! He uses the web server's
SMTP to send out hundreds of thousands of unsolicited emails before
being caught, but by that time it is too late. Damage is already done.
More than likely your IP address has been "Blacklisted" by SpamCop,
SpamHaus, or other DNSBL's that help prevent SPAM from reaching good
email accounts around the world. Once your IP address is Blacklisted, it
has a negative impact on ALL the accounts on your shared web server.
If the perpetrator had been normal and used his ISP's SMTP, you would
have prevented the situation totally. Even if he spoofs his (or another
domain) to the offending messages, the DNSBLs can see right through it
in most cases. If the ISP bans the user then that is fine, it is no
problem of yours as a host. Additionally (and most importantly) if the
problem involves legal issues, YOUR WEB SERVER is the last easily
tracable location of the offense!
BUT CANT THE USER JUST USE A WEB SCRIPT LIKE SENDMAIL OR WEBMAIL TO SEND
THROUGH THE SERVER?
Yes, but in that case all the actions will be regulated by the mail
server and logged and timestampped in log files if the server is
properly configured using Suexec, etc..
BUT WILL ALL MYDOMAINNAME.COM ACCOUNTS WORK IF I USE MY ISP SMTP IN
OUTLOOK?
Yes, I did it on mine. I am not an outlook expert by any means, but it
just works, it is really cool...
When I receive an email from lets say webmaster@domain1.com, I just
click REPLY and outlook knows to send it "from" webmaster@domain1.com...
ditto that for domain2.com, domain3.com and so on. All use the SMTP from
the ISP.
It is transparent unless someone views the full mail headers and traces
that end IP. If someone is not cool with that then 99% they are doing
something very shady. That is the theory in a nutshell.
ls : list files/directories in a directory, comparable to dir in
windows/dos.
ls -al : shows all files (including ones that start with a period),
directories, and details attributes for each file.
vdir : gives a more detailed listing than the ls command
pwd : shows full path of current directory
clear : clears the screen
cd : change directory • • cd /usr/local/apache : go to /usr/local/apache/
directory
cd ~ : go to your home directory
cd - : go to the last directory you were in
cd .. : go up a directory cat : print file contents to the screen
cat filename.txt : cat the contents of filename.txt to your screen
tail : like cat, but only reads the end of the file
tail /var/log/messages : see the last 20 (by default) lines of /var/log/messages
tail -f /var/log/messages : watch the file continuously, while it's
being updated
tail -200 /var/log/messages : print the last 200 lines of the file to
the screen
more : like cat, but opens the file one screen at a time rather than all
at once
more /etc/userdomains : browse through the userdomains file. hit to go
to the next page, to quit
pico : friendly, easy to use file editor
pico /home/burst/public_html/index.html : edit the index page for the
user's website.
vi : another editor, tons of features, harder to use at first than pico
vi /home/burst/public_html/index.html : edit the index page for the
user's website.
grep : looks for patterns in files
grep root /etc/passwd : shows all matches of root in /etc/passwd
grep -v root /etc/passwd : shows all lines that do not match root
touch : create an empty file
touch /home/burst/public_html/404.html : create an empty file called
404.html in the directory /home/burst/public_html/
ln : create's "links" between files and directories
ln -s /usr/local/apache/conf/httpd.conf /etc/httpd.conf : Now you can
edit /etc/httpd.conf rather than the original. changes will affect the
orginal, however you can delete the link and it will not delete the
original.
rm : delete a file
rm filename.txt : deletes filename.txt, will more than likely ask if you
really want to delete it
rm -f filename.txt : deletes filename.txt, will not ask for confirmation
before deleting.
rm -rf tmp/ : recursively deletes the directory tmp, and all files in
it, including subdirectories. BE VERY CAREFULL WITH THIS COMMAND!!!
last : shows who logged in and when
last -20 : shows only the last 20 logins
last -20 -a : shows last 20 logins, with the hostname in the last field
w : shows who is currently logged in and where they are logged in from.
netstat : shows all current network connections.
netstat -an : shows all connections to the server, the source and
destination ips and ports.
netstat -rn : shows routing table for all ips bound to the server.
top : shows live system processes in a nice table, memory information,
uptime and other useful info. This is excellent for managing your system
processes, resources and ensure everything is working fine and your
server isn't bogged down.
top then type Shift + M to sort by memory usage or Shift + P to sort by
CPU usage
ps : ps is short for process status, which is similar to the top
command. It's used to show currently running processes and their PID.
A process ID is a unique number that identifies a process, with that you
can kill or terminate a running program on your server (see kill
command).
ps U username : shows processes for a certain user
ps aux : shows all system processes
ps aux --forest : shows all system processes like the above but
organizes in a hierarchy that's very useful!
file : attempts to guess what type of file a file is by looking at it's
content.
file * : prints out a list of all files/directories in a directory
du : shows disk usage.
du -sh : shows a summary, in human-readble form, of total disk space
used in the current directory, including subdirectories.
du -sh * : same thing, but for each file and directory. helpful when
finding large files taking up space.
wc : word count
wc -l filename.txt : tells how many lines are in filename.txt
cp : copy a file
cp filename filename.backup : copies filename to filename.backup
cp -a /home/burst/new_design/* /home/burst/public_html/ : copies all
files, retaining permissions form one directory to another.
mv old_filename new_filename : move/rename a file
chmod 755 dirname_or_filename : change permissions of a certain
directory or file
0 = --- (no permission)
1 = --x (execute only)
2 = -w- (write only)
3 = -wx (write and execute)
4 = r-- (read only)
5 = r-x (read and execute)
6 = rw- (read and write)
7 = rwx (read, write and execute)
kill: terminate a system process
kill -9 PID EG: kill -9 431
kill PID EG: kill 10550
Use top or ps aux to get system PIDs (Process IDs)
Each line represents one process, with a process being loosely defined
as a running instance of a program. The column headed PID (process ID)
shows the assigned process numbers of the processes. The heading COMMAND
shows the location of the executed process.
Putting commands together
Often you will find you need to use different commands on the same line.
Here are some examples. Note that the | character is called a pipe, it
takes date from one program and pipes it to another.
> means create a new file, overwriting any content already there.
>> means tp append data to a file, creating a newone if it doesn not
already exist.
< send input from a file back into a command.
grep User /usr/local/apache/conf/httpd.conf |more
This will dump all lines that match User from the httpd.conf, then print
the results to your screen one page at a time.
last -a > /root/lastlogins.tmp
This will print all the current login history to a file called
lastlogins.tmp in /root/
tail -10000 /var/log/exim_mainlog |grep domain.com |more
This will grab the last 10,000 lines from /var/log/exim_mainlog, find
all occurances of domain.com (the period represents 'anything',
-- comment it out with a so it will be interpretted literally), then
send it to your screen page by page.
netstat -an |grep :80 |wc -l
Show how many active connections there are to apache (httpd runs on port
80)
mysqladmin processlist |wc -l
Show how many current open connections there are to mysql
Restart Features: Restart Cpanel in SSH #:
/etc/rc.d/init.d/cpanel restart
If you want to restart other services you can do a directory listing of
all services in that folder.
exit : log off
If you have any more ssh commands that you would like to add to the list
that would be great.