Difference between revisions of "Quick Notes"

From Secure Computing Wiki
Jump to: navigation, search
(MySQL Stuff)
 
(54 intermediate revisions by 8 users not shown)
Line 1: Line 1:
 
This page is to list all of those quick, often one-line, commands or hints that help during the course of system administration.
 
This page is to list all of those quick, often one-line, commands or hints that help during the course of system administration.
 +
 +
== VoIP ==
 +
=== Links ===
 +
[http://www.bastard.net/~kos/pf-voip.html bastard.net]
 +
 +
== Networking ==
 +
* [http://sd.wareonearth.com/~phil/net/overhead/ Network Overhead Guide]
 +
* To capture packets for wireshark/ethereal, run tcpdump as: '''tcpdump -i <interface> -s 1500 -w <some-file>'''
  
 
== MediaWiki Notes ==
 
== MediaWiki Notes ==
 
This section is for all the stuff you can do or need to do with Media Wiki that isn't found in an easy location.
 
This section is for all the stuff you can do or need to do with Media Wiki that isn't found in an easy location.
  
 +
* [http://www.mediawiki.org/wiki/Extension:ConfirmEdit Add CAPTCHA to your MediaWiki]
 
* [[Extra Edit Buttons]]
 
* [[Extra Edit Buttons]]
 +
 +
==== Navigation/Side-Bar ====
 +
You can edit the links under navigation, etc, on the left of the page by going to a special page in MediaWiki.
 +
'''<host>/wiki/index.php/MediaWiki:Sidebar''' will take you there.  You can see the SCN side bar at [[MediaWiki:Sidebar]].
 +
 +
== [[VIM]] ==
  
 
==Command Line Foo==
 
==Command Line Foo==
 
* [[grep]]
 
* [[grep]]
 +
* [[dump]]
 +
* [[cu]]
 +
* [[sed]]
 +
* [[sh]]
 +
 +
* Interface statisctics without iftop from ports: ''systat -if''
 +
 +
with csh/tcsh, |&  pipes both stdout and stderr.  same effect as  2>&1 |    in bourne-based shells (or /bin/sh)
 +
 +
* [http://eriwen.com/productivity/find-is-a-beautiful-tool/ Find is a beautiful tool.]
 +
* [http://eriwen.com/tools/grep-is-a-beautiful-tool/ Grep is a beautiful tool.]
 +
 +
Make this command an alias to '''tree''' in your .<shell>rc and get that ol' DOS-style tree:
 +
<pre>find . -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g'</pre>
 +
 +
Here's a nice command to use in conjunction with GeekTool for current weather conditions on your desktop:
 +
<pre style="overflow: auto">curl --silent "http://xml.weather.yahoo.com/forecastrss?p=YOURCITYCODE&u=c" | grep -E '(Current Conditions:|C<BR)' | sed -e 's/Current Conditions://' -e 's/<br \/>//' -e 's/<b>//' -e 's/<\/b>//' -e 's/<BR \/>//' -e 's/<description>//' -e 's/<\/description>//'</pre>
 +
''Note: change YOURCITYCODE with your zip code.''
  
 
==iPhone Notes==
 
==iPhone Notes==
 
* [[iPhone Passwords]]
 
* [[iPhone Passwords]]
  
== Windows (Bleh) Notes ==
+
== Windows Notes ==
 
* Windows XP WPA2 Support [[WinXP WPA2]]
 
* Windows XP WPA2 Support [[WinXP WPA2]]
  
Line 30: Line 63:
 
* No Scroll Tabs: goto about:config, set browser.tabs.tabMinWidth=1
 
* No Scroll Tabs: goto about:config, set browser.tabs.tabMinWidth=1
 
* Close on Tab: goto about:config, set browser.tabs.closeButtons=1
 
* Close on Tab: goto about:config, set browser.tabs.closeButtons=1
 +
 +
== PostgreSQL ==
 +
* Postgres does not authenticate users as MySQL, and doesn't offer a shell.
 +
* When connecting to Postgres dbs, you must specify the db, otherwise a db names as the role will be assumed.
 +
 +
=== Basic Commands ===
 +
* psql -l (dash el): list databases
 +
* pg_dumpall: dump all dbs to stdout
 +
** gzipped use: ''pg_dumpall | gzip -c > all.dbs.out.gz''
 +
** restore: ''gzcat all.dbs.out.gz | psql -f - postgres''
  
 
== MySQL Stuff ==
 
== MySQL Stuff ==
* Forcibly change a user's password: '''SET PASSWORD FOR user=PASSWORD('password');'''
+
* [[MySQL Cheatsheet]]
  
==== Links ====
+
=== Command/Query Examples ===
 +
 
 +
{| class="wikitable"
 +
|-
 +
! Description
 +
! Command
 +
! Notes
 +
|-
 +
| Forcibly change a user's password.
 +
| SET PASSWORD FOR user=PASSWORD('password');
 +
|
 +
|-
 +
| Add New Database User
 +
| GRANT ALL PRIVILEGES ON db.table to 'user'@'host' IDENTIFIED BY 'password';
 +
| You can use a '''%''' to denote ANY host.  The percent (%) purposely excludes localhost, however.
 +
|-
 +
| Copy rows from one table to another.
 +
| INSERT INTO foo SELECT * FROM bar;
 +
| copies records from table bar into table foo.
 +
|-
 +
| action based on time interval
 +
| SELECT FROM foo WHERE DATE(field) < (YYYYMMDD - INTERVAL nnn unit)
 +
| Where unit = DAY/YEAR/MONTH - one of those, will select based on records older than the interval.
 +
|-
 +
| Flush all queries from the cache.
 +
| FLUSH QUERY CACHE
 +
|
 +
|}
 +
 
 +
This command can be used to dump all databases on the current system to another system, piping the content through an SSH session:
 +
 
 +
<pre>mysqldump -u USERNAME -pPASSWORD --opt --compress --all-databases | ssh REMOTEHOST "cat - | mysql -u USERNAME -pPASSWORD"</pre>
 +
=== Links ===
 
* [http://www.howtogeek.com/howto/programming/mysql-give-root-user-logon-permission-from-any-host/ http://www.howtogeek.com/howto/programming/mysql-give-root-user-logon-permission-from-any-host/]
 
* [http://www.howtogeek.com/howto/programming/mysql-give-root-user-logon-permission-from-any-host/ http://www.howtogeek.com/howto/programming/mysql-give-root-user-logon-permission-from-any-host/]
 +
 +
== Apple Remote Desktop 3.1 ==
 +
 +
This is just a place-holder.
 +
<!--
 +
Serial: xard-030-000-r-keg-bag-psn-mzo-tfd-uha-h
 +
Serial: xard-030-000-r-lys-pws-rhh-qjq-wbf-jax-i
 +
 +
3.2.2
 +
Name: Marquis
 +
Company: Special[K]
 +
Serial: xard-030-000-r-knm-rhq-ezh-opc-wbd-yes-e
 +
 +
-->
 +
 +
== GNU Screen ==
 +
A nice .screenrc config file:<br />
 +
''This config works well on both light and dark colored backgrounds.''
 +
<pre>
 +
startup_message off
 +
shelltitle ''
 +
defmonitor on
 +
vbell off
 +
hardstatus on
 +
hardstatus alwayslastline
 +
hardstatus string '%{= bW}%-Lw%{= rW}%50>%n%f %t%{= bW}%+Lw%< %-= %{..Y}%m/%d %c:%s%{-}'
 +
</pre>
 +
 +
Here's another .screenrc config, from Jeremy O'Brien (piroko):<br />
 +
''This config works well on dark colored backgrounds.''
 +
<pre>shelltitle ''
 +
startup_message off
 +
vbell off
 +
defmonitor on
 +
monitor on
 +
caption always "%{= kw}> %{y}%?%-Lw%?%{w}(%{R}%n*%t%?(%u)%?%{w})%{y}%?%+Lw%?%?%=%{w} [ %{.c}%M %d%{y}%0c:%s%{w} ]"</pre>
 +
 +
=== Screen after ''su'' ===
 +
<pre>sudo su - <user>
 +
script /dev/null
 +
screen (or screen -r)</pre>
 +
 +
=== Links ===
 +
* [http://www.debian-administration.org/articles/560 Debian Administration]
 +
 +
== PHP ==
 +
{| class="wikitable"
 +
|-
 +
! Function
 +
! Code Example
 +
! Description
 +
|-
 +
| foreach
 +
| foreach ($array as $key => $value) { code }
 +
|
 +
|-
 +
|
 +
|
 +
|
 +
|}
 +
 +
Example for output files with support for multipart downloading:
 +
<pre>                                if (isset($_SERVER['HTTP_RANGE'])){
 +
                                        list($a, $range) = explode('=', $_SERVER['HTTP_RANGE'], 2);
 +
                                        list($range) = explode(',', $range, 2);
 +
                                        list($range, $rangeEnd) = explode('-', $range);
 +
 +
                                        $range = intval($range);
 +
 +
                                        if (!$rangeEnd){
 +
                                                $rangeEnd = $fileSize -1;
 +
                                        } else {
 +
                                                $rangeEnd = intval($rangeEnd);
 +
                                        }
 +
                                        $newLength = $rangeEnd - $range + 1;
 +
 +
                                        // Send Headers
 +
                                        header("Content-Type: applicatoin/zip");
 +
                                        header("Content-Length: $size");
 +
                                        header("Content-Range: bytes " . $range - $rangeEnd / $size);
 +
                                } else {
 +
                                        $newLength = $size;
 +
                                        header('Content-Length: ' . $size);
 +
                                }
 +
</pre>
 +
 +
== IRSSI ==
 +
* [http://quadpoint.org/articles/irssi] - good how to for screen + irssi
 +
 +
== RegEx (Regular Expressions) ==
 +
{| class="wikitable"
 +
|-
 +
! REGEX
 +
! What it does.
 +
|-
 +
| <nowiki>/^$|^\d{5}(-?\d{4})?$|^[ABCEGHJKLMNPRSTVWXYZ]\d[ABCEGHJKLMNPRSTVWXYZ](\s?)\d[ABCEGHJKLMNPRSTVWXYZ]\d/i</nowiki>
 +
| Validates for blank string, US zipcode (either 5 digit or 5+4, and Canadian postal codes (with or without a space).
 +
 +
|-
 +
|}
 +
 +
== Samsung Vibrant/Galaxy S ==
 +
* LBS/GPS Test Mode: *#*#1472365#*#* SEND
 +
 +
== LLDP/CDP Discovery with tcpdump ==
 +
CDP:
 +
tcpdump -v -s 1500 -i eth0 'ether[20:2] == 0x2000]'
 +
 +
LLDP:
 +
tcpdump -v -s 1500 '(ether[12:2]=0x88cc or ether[20:2]=0x2000'

Latest revision as of 07:46, 23 September 2015

This page is to list all of those quick, often one-line, commands or hints that help during the course of system administration.

VoIP

Links

bastard.net

Networking

  • Network Overhead Guide
  • To capture packets for wireshark/ethereal, run tcpdump as: tcpdump -i <interface> -s 1500 -w <some-file>

MediaWiki Notes

This section is for all the stuff you can do or need to do with Media Wiki that isn't found in an easy location.

Navigation/Side-Bar

You can edit the links under navigation, etc, on the left of the page by going to a special page in MediaWiki. <host>/wiki/index.php/MediaWiki:Sidebar will take you there. You can see the SCN side bar at MediaWiki:Sidebar.

VIM

Command Line Foo

  • Interface statisctics without iftop from ports: systat -if

with csh/tcsh, |& pipes both stdout and stderr. same effect as 2>&1 | in bourne-based shells (or /bin/sh)

Make this command an alias to tree in your .<shell>rc and get that ol' DOS-style tree:

find . -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g'

Here's a nice command to use in conjunction with GeekTool for current weather conditions on your desktop:

curl --silent "http://xml.weather.yahoo.com/forecastrss?p=YOURCITYCODE&u=c" | grep -E '(Current Conditions:|C<BR)' | sed -e 's/Current Conditions://' -e 's/<br \/>//' -e 's/<b>//' -e 's/<\/b>//' -e 's/<BR \/>//' -e 's/<description>//' -e 's/<\/description>//'

Note: change YOURCITYCODE with your zip code.

iPhone Notes

Windows Notes

SpamAssassin

Postfix

http://www.freesoftwaremagazine.com/articles/secure_email_servers_from_scratch_with_freebsd_6_part_2

Postfix How-To

vMail.Admin

Link sudo to /usr/bin/sudo

# ln -s /usr/local/bin/sudo /usr/bin/sudo

Firefox

  • No Scroll Tabs: goto about:config, set browser.tabs.tabMinWidth=1
  • Close on Tab: goto about:config, set browser.tabs.closeButtons=1

PostgreSQL

  • Postgres does not authenticate users as MySQL, and doesn't offer a shell.
  • When connecting to Postgres dbs, you must specify the db, otherwise a db names as the role will be assumed.

Basic Commands

  • psql -l (dash el): list databases
  • pg_dumpall: dump all dbs to stdout
    • gzipped use: pg_dumpall | gzip -c > all.dbs.out.gz
    • restore: gzcat all.dbs.out.gz | psql -f - postgres

MySQL Stuff

Command/Query Examples

Description Command Notes
Forcibly change a user's password. SET PASSWORD FOR user=PASSWORD('password');
Add New Database User GRANT ALL PRIVILEGES ON db.table to 'user'@'host' IDENTIFIED BY 'password'; You can use a % to denote ANY host. The percent (%) purposely excludes localhost, however.
Copy rows from one table to another. INSERT INTO foo SELECT * FROM bar; copies records from table bar into table foo.
action based on time interval SELECT FROM foo WHERE DATE(field) < (YYYYMMDD - INTERVAL nnn unit) Where unit = DAY/YEAR/MONTH - one of those, will select based on records older than the interval.
Flush all queries from the cache. FLUSH QUERY CACHE

This command can be used to dump all databases on the current system to another system, piping the content through an SSH session:

mysqldump -u USERNAME -pPASSWORD --opt --compress --all-databases | ssh REMOTEHOST "cat - | mysql -u USERNAME -pPASSWORD"

Links

Apple Remote Desktop 3.1

This is just a place-holder.

GNU Screen

A nice .screenrc config file:
This config works well on both light and dark colored backgrounds.

startup_message off
shelltitle ''
defmonitor on
vbell off
hardstatus on
hardstatus alwayslastline
hardstatus string '%{= bW}%-Lw%{= rW}%50>%n%f %t%{= bW}%+Lw%< %-= %{..Y}%m/%d %c:%s%{-}'

Here's another .screenrc config, from Jeremy O'Brien (piroko):
This config works well on dark colored backgrounds.

shelltitle ''
startup_message off
vbell off
defmonitor on
monitor on
caption always "%{= kw}> %{y}%?%-Lw%?%{w}(%{R}%n*%t%?(%u)%?%{w})%{y}%?%+Lw%?%?%=%{w} [ %{.c}%M %d%{y}%0c:%s%{w} ]"

Screen after su

sudo su - <user>
script /dev/null
screen (or screen -r)

Links

PHP

Function Code Example Description
foreach foreach ($array as $key => $value) { code }

Example for output files with support for multipart downloading:

                                if (isset($_SERVER['HTTP_RANGE'])){
                                        list($a, $range) = explode('=', $_SERVER['HTTP_RANGE'], 2);
                                        list($range) = explode(',', $range, 2);
                                        list($range, $rangeEnd) = explode('-', $range);

                                        $range = intval($range);

                                        if (!$rangeEnd){
                                                $rangeEnd = $fileSize -1;
                                        } else {
                                                $rangeEnd = intval($rangeEnd);
                                        }
                                        $newLength = $rangeEnd - $range + 1;

                                        // Send Headers
                                        header("Content-Type: applicatoin/zip");
                                        header("Content-Length: $size");
                                        header("Content-Range: bytes " . $range - $rangeEnd / $size);
                                } else {
                                        $newLength = $size;
                                        header('Content-Length: ' . $size);
                                }

IRSSI

  • [1] - good how to for screen + irssi

RegEx (Regular Expressions)

REGEX What it does.
/^$|^\d{5}(-?\d{4})?$|^[ABCEGHJKLMNPRSTVWXYZ]\d[ABCEGHJKLMNPRSTVWXYZ](\s?)\d[ABCEGHJKLMNPRSTVWXYZ]\d/i Validates for blank string, US zipcode (either 5 digit or 5+4, and Canadian postal codes (with or without a space).

Samsung Vibrant/Galaxy S

  • LBS/GPS Test Mode: *#*#1472365#*#* SEND

LLDP/CDP Discovery with tcpdump

CDP: tcpdump -v -s 1500 -i eth0 'ether[20:2] == 0x2000]'

LLDP: tcpdump -v -s 1500 '(ether[12:2]=0x88cc or ether[20:2]=0x2000'