Compare commits

..

7 Commits

Author SHA1 Message Date
Paul Trowbridge
dfbbe94fa2 fix pull conflicts 2020-01-22 11:15:59 -05:00
Paul Trowbridge
910f8f0a8b mutt notes 2020-01-22 11:12:47 -05:00
fleetside72
748f2302b1 Merge branch 'master' of https://github.com/fleetside72/notes 2020-01-08 22:31:35 -05:00
Paul Trowbridge
843e7646c4 network scanning 2019-12-29 20:12:09 -05:00
fleetside72
8e80391176 Merge branch 'master' of https://github.com/fleetside72/notes 2019-11-17 21:23:45 -05:00
fleetside
4e8f7b2b3c pull master 2019-07-18 23:48:15 -04:00
Paul Trowbridge
9f99de4c66 add notes 2019-03-30 02:28:55 -04:00
10 changed files with 272 additions and 100 deletions

View File

@ -1,4 +1,4 @@
https://github.com/forbesmyester/esqlate https://github.com/forbesmyester/esqlate
builds little forms out of sql builds little forms out of sql

View File

@ -1,22 +1,22 @@
PDMN24-1 Maintain Product Structure PDMN24-1 Maintain Product Structure
IVMN02-4 Maint Part/Plant IVMN02-4 Maint Part/Plant
IVMN14-7 Costing Sheet IVMN14-7 Costing Sheet
PDMN31-1 WO Production Reporting PDMN31-1 WO Production Reporting
PDMN06 Maintain WO PDMN06 Maintain WO
`lgdat.mrprct` is output of nightly MRP job, show actual with `PD`, `PO` flags and suggested in `MRP` flag `lgdat.mrprct` is output of nightly MRP job, show actual with `PD`, `PO` flags and suggested in `MRP` flag
`lgdat.mrpdmd` is output if nightly MRP (shoudl be very close to `inva`) `lgdat.mrpdmd` is output if nightly MRP (shoudl be very close to `inva`)
|CLTIER|CLDESC | |CLTIER|CLDESC |
|------|------------------------------| |------|------------------------------|
|B |BASE | |B |BASE |
|C |CUSTOM | |C |CUSTOM |
|E |ECOGROW | |E |ECOGROW |
|O |ORGANIC | |O |ORGANIC |
|M |PREMIUM CORE (C) | |M |PREMIUM CORE (C) |
|L |PRINCIPAL CORE (B) | |L |PRINCIPAL CORE (B) |
|P |PROGRAM | |P |PROGRAM |
|T |TRADITIONAL CORE (A) | |T |TRADITIONAL CORE (A) |
|W |WAXTOUGH | |W |WAXTOUGH |

16
mutt.md Normal file
View File

@ -0,0 +1,16 @@
## Office 365 Setup
[office365 config](https://github.com/ork/mutt-office365)
[setup html viewer in mutt](http://jasonwryan.com/blog/2012/05/12/mutt/)
* requires w3m
* add this to .mutt/muttrc
```
auto_view text/html # view html automatically
alternative_order text/plain text/enriched text/html # save html for last
```
* add this to .mutt/mailcap
```
text/html; w3m -I %{charset} -T text/html; copiousoutput;
```

View File

@ -1,28 +1,28 @@
version management version management
=================================================================================================================================== ===================================================================================================================================
## nvm ## nvm
can use nvm to manage nodejs versions. can use nvm to manage nodejs versions.
not really sure how this works, but it is per user and operates off bash scripts and variables ¯\_(ツ)_/¯ not really sure how this works, but it is per user and operates off bash scripts and variables ¯\_(ツ)_/¯
going to have to pull from github. It will curl to clone the repo and then add some stuff to your bashrc to make it work. going to have to pull from github. It will curl to clone the repo and then add some stuff to your bashrc to make it work.
`exec bash` after install to refresh `exec bash` after install to refresh
nvm install --lts nvm install --lts
nvm use version nvm use version
## npm n helper ## npm n helper
npm can be used to manage node itself through n npm can be used to manage node itself through n
https://github.com/tj/n https://github.com/tj/n
sudo npm cache clean -f sudo npm cache clean -f
1. setup & *own* directyory with versions 1. setup & *own* directyory with versions
* `sudo mkdir -p /usr/local/n` * `sudo mkdir -p /usr/local/n`
* `sudo chown -R $(whoami) /usr/local/n` * `sudo chown -R $(whoami) /usr/local/n`
2. own the instalation folders 2. own the instalation folders
* `sudo chown -R $(whoami) /usr/local/bin /usr/local/lib /usr/local/include /usr/local/share` * `sudo chown -R $(whoami) /usr/local/bin /usr/local/lib /usr/local/include /usr/local/share`
3. install n: `sudo npm install -g n` 3. install n: `sudo npm install -g n`

View File

@ -1,39 +1,39 @@
DROP USER IF EXISTS report; DROP USER IF EXISTS api;
SET password_encryption = 'scram-sha-256'; SET password_encryption = 'scram-sha-256';
CREATE ROLE report WITH CREATE ROLE api WITH
LOGIN LOGIN
NOSUPERUSER NOSUPERUSER
NOCREATEDB NOCREATEDB
NOCREATEROLE NOCREATEROLE
INHERIT INHERIT
NOREPLICATION NOREPLICATION
CONNECTION LIMIT -1 CONNECTION LIMIT -1
PASSWORD 'report'; PASSWORD 'api';
--------------------grant-------------------------------------------------- --------------------grant--------------------------------------------------
GRANT USAGE ON SCHEMA lgdat TO report; GRANT USAGE ON SCHEMA lgdat TO api;
GRANT SELECT /*, UPDATE, INSERT, DELETE*/ ON ALL TABLES IN SCHEMA lgdat TO report; GRANT SELECT /*, UPDATE, INSERT, DELETE*/ ON ALL TABLES IN SCHEMA lgdat TO api;
GRANT USAGE ON ALL SEQUENCES IN SCHEMA lgdat TO report; GRANT USAGE ON ALL SEQUENCES IN SCHEMA lgdat TO api;
ALTER DEFAULT PRIVILEGES IN SCHEMA lgdat GRANT SELECT/*, UPDATE, INSERT, DELETE*/ ON TABLES TO report; ALTER DEFAULT PRIVILEGES IN SCHEMA lgdat GRANT SELECT/*, UPDATE, INSERT, DELETE*/ ON TABLES TO api;
ALTER DEFAULT PRIVILEGES IN SCHEMA lgdat GRANT USAGE ON SEQUENCES TO report; ALTER DEFAULT PRIVILEGES IN SCHEMA lgdat GRANT USAGE ON SEQUENCES TO api;
---------------------------revoke--------------------------------------- ---------------------------revoke---------------------------------------
REVOKE USAGE ON SCHEMA lgdat FROM report; REVOKE USAGE ON SCHEMA lgdat FROM api;
REVOKE USAGE ON SCHEMA lgdat FROM report; REVOKE USAGE ON SCHEMA lgdat FROM api;
REVOKE SELECT , UPDATE, INSERT, DELETE ON ALL TABLES IN SCHEMA lgdat FROM report; REVOKE SELECT , UPDATE, INSERT, DELETE ON ALL TABLES IN SCHEMA lgdat FROM api;
REVOKE USAGE ON ALL SEQUENCES IN SCHEMA lgdat FROM report; REVOKE USAGE ON ALL SEQUENCES IN SCHEMA lgdat FROM api;
ALTER DEFAULT PRIVILEGES IN SCHEMA lgdat REVOKE SELECT, UPDATE, INSERT, DELETE ON TABLES FROM report; ALTER DEFAULT PRIVILEGES IN SCHEMA lgdat REVOKE SELECT, UPDATE, INSERT, DELETE ON TABLES FROM api;
ALTER DEFAULT PRIVILEGES IN SCHEMA lgdat REVOKE USAGE ON SEQUENCES FROM report; ALTER DEFAULT PRIVILEGES IN SCHEMA lgdat REVOKE USAGE ON SEQUENCES FROM api;

108
ubuntu/net-scan.sh Normal file
View File

@ -0,0 +1,108 @@
usage="$(basename "$0") [OPTIONS] -- program to retrieve network devices and show IP address paired with the device name
where:
-h show this help text
-i set the IP interface to check (default: 1) - check available IPs list with [-l] option
-l list the available IP addresses
-a show all network IPs, even if no computer name is found
-m show MAC address
-b show devices brand when no other information is available (if nmap installed and if can be found)"
myip=1
shownoname=false
showmac=false
showbrand=false
RED='\033[0;31m'
GREEN='\033[0;32m'
ORANGE='\033[0;33m'
NC='\033[0m'
while getopts ':halmbi:' option; do
case "$option" in
h) echo "$usage"
exit 0
;;
a) shownoname=true
;;
l) sudo nm-tool | grep -i 'address' | grep -Po '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+' | nl -n 'ln'
exit 0
;;
m) showmac=true
;;
b) showbrand=true
;;
i) myip=$OPTARG
if [ -z $(sudo nm-tool | grep -i 'address' | grep -Po '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+' | sed -n "$myip"p) ]; then
echo "there is no such interface, try the [-l] option"
exit 1
fi
;;
:) printf "missing argument for -%s\n" "$OPTARG" >&2
exit 1
;;
\?) printf "illegal option: -%s\n" "$OPTARG" >&2
exit 1
;;
esac
done
shift $((OPTIND - 1))
# get if nmap is installed
nmapInstalled=$(whereis nmap)
if [ -z "$nmapInstalled" ]; then
showbrand=false
fi
maxwait=0.1;
# get starter IP address
IFS=. read -r i1 i2 i3 i4 <<< $(sudo nm-tool | grep -i 'address' | grep -Po '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+' | sed -n "$myip"p)
IFS=. read -r m1 m2 m3 m4 <<< $(sudo nm-tool | grep -i 'prefix' | grep -Po '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+' | sed -n "$myip"p)
si1=$(($i1 & $m1))
si2=$(($i2 & $m2))
si3=$(($i3 & $m3))
si4=$(($i4 & $m4))
# get my HW address
myhwaddr=$(ifconfig | grep -B 1 "$i1.$i2.$i3.$i4" | grep -oP '([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})' | sed -n "$myip"p)
# get number of IPs in network
iprange=$(sudo nm-tool | grep -i 'prefix' | grep -Po '\s[0-9]+' | grep -Po '[0-9]+' | sed -n "$myip"p)
iprange=$(( 2**(32-$iprange) -1 ))
# cycle through IPs
for((i=1;i<$iprange;i++)); do
# calulate IP
ci4=$(($si4 + $i))
ci3=$(($si3 + ($ci4 / 256) )); ci4=$(($ci4 % 256))
ci2=$(($si2 + ($ci3 / 256) )); ci3=$(($ci3 % 256))
ci1=$(($si1 + ($ci2 / 256) )); ci2=$(($ci2 % 256))
# get computer name
result=$(timeout $maxwait nmblookup -A "$ci1.$ci2.$ci3.$ci4" | sed -n 2p | grep -Po '\t.+?\s' | xargs)
hwaddress=$(arp "$ci1.$ci2.$ci3.$ci4" | grep -Po '([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})')
if [ -z "$result" ] && [ ! -z "$hwaddress" ] && [ $shownoname == true ]; then
result="???"
fi
# print if response given
if [ ! -z "$result" ]; then
toprint="$ci1.$ci2.$ci3.$ci4"
if [ $showmac == true ]; then
if [ -z "$hwaddress" ]; then
hwaddress=$myhwaddr
fi
toprint="$toprint ( $hwaddress )"
fi
myhost=$(grep "$ci1.$ci2.$ci3.$ci4" /etc/hosts | grep -oP '\s.+' | xargs)
if [ ! -z "$myhost" ]; then
result="$result ( ${GREEN}$myhost${NC} )"
fi
if [ "$ci1.$ci2.$ci3.$ci4" == "$i1.$i2.$i3.$i4" ]; then
result="$result ( ${RED}THIS DEVICE${NC} )"
fi
# if nothing found and nmap installed get device brand
if [ "$result" == "???" ] && [ $showbrand == true ]; then
result=$(sudo nmap -sP "$ci1.$ci2.$ci3.$ci4" | grep 'MAC Address' | grep -Po '\(.+?\)')
if [ "$result" == "(Unknown)" ]; then
result="???"
else
result="??? ${ORANGE}$result${NC}"
fi
fi
echo -e "$toprint\t=>\t$result"
fi
done

0
ubuntu/network.md Normal file
View File

12
ubuntu/scan.sh Normal file
View File

@ -0,0 +1,12 @@
#!/bin/bash
is_alive_ping()
{
ping -c 1 $1 > /dev/null
[ $? -eq 0 ] && echo Node with IP: $i is up.
}
for i in 192.168.1.{1..255}
do
is_alive_ping $i & disown
done

24
ubuntu/systemd.md Normal file
View File

@ -0,0 +1,24 @@
save in //etc/systemd/system/this_file.service
```
[Unit]
Description=Redis persistent key-value database
After=network.target
[Service]
ExecStart=/usr/bin/node //var/wwww/forecast_api/index.js
User=fc
Restart=always
StandardOutput=syslog
StandardError=syslog
WorkingDirectory=//var/www/forecast_api
[Install]
WantedBy=multi-user.target
```
`sudo systemctl daemon-reload`
`sudo systemctl enable forecast_api`
https://www.axllent.org/docs/view/nodejs-service-with-systemd/

View File

@ -1,8 +1,20 @@
`adduser` -> high-level add a new user and then add to multiple groups
`useradd` -> low-level `adduser user_name`
`usermod -a -G adm,sudo user_name`
adduser fc_api `chfn` -> changes full name
usermod -a -G sudo fc_api
change a ownership
chown user_name directory/ `chown file_or_dir user_name`
chgrp user_name directory/ `chgrp file_or_dir user_name`
delete user
`userdel user_name`
`adduser` -> high-level
`useradd` -> low-level
adduser fc_api
usermod -a -G sudo fc_api
chown user_name directory/
chgrp user_name directory/