- Rerlace some origin:
Edit file $HOME/.gitconfig
:
# Enforce SSH
[url "ssh://git@github.com/"]
insteadOf = https://github.com/
[url "ssh://git@gitlab.com/"]
insteadOf = https://gitlab.com/
- Add ssh key:
eval $(ssh-agent -s)
echo "$SSH_PRIVATE_KEY" > /tmp/key && chmod 600 /tmp/key
ssh-add /tmp/key
mkdir -p ~/.ssh
echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config
- SSH fingerprint:
# SHA256
ssh-keygen -lf ~/.ssh/id_rsa.pub
1024 SHA256:19n6fkdz0qqmowiBy6XEaA87EuG/jgWUr44ZSBhJl6Y (DSA)
# MD5
ssh-keygen -E md5 -lf ~/.ssh/id_rsa.pub
2048 MD5:4d:5b:97:19:8c:fe:06:f0:29:e7:f5:96:77:cb:3c:71 (DSA)
- RSYNC w/ ssh key
rsync -rv -e "ssh -i $HOME/.ssh/somekey" username@hostname:/from/dir/ /to/dir/
- Public from private:
ssh-keygen -y -f ~/.ssh/id_rsa > ~/.ssh/id_rsa.pub
- Change Password
passwd $user
- Brew, package list:
brew deps --tree --installed
- Batch renaming by pattern
export file_to_rename=$(ls | grep foo | xargs)
for s in $file_to_rename; do mv $s $(echo $s | sed 's/foo/bar/g') ; done
- File/Dir mods
+-----+---+--------------------------+
| rwx | 7 | Read, write and execute |
| rw- | 6 | Read, write |
| r-x | 5 | Read, and execute |
| r-- | 4 | Read, |
| -wx | 3 | Write and execute |
| -w- | 2 | Write |
| --x | 1 | Execute |
| --- | 0 | no permissions |
+------------------------------------+
+------------+------+-------+
| Permission | Octal| Field |
+------------+------+-------+
| rwx------ | 0700 | User |
| ---rwx--- | 0070 | Group |
| ------rwx | 0007 | Other |
+------------+------+-------+
0755 обычно используется на веб-серверах. Владелец может читать, писать, выполнять. Все остальные могут читать и выполнять, но не изменять файл.
0777 каждый может читать писать и выполнять. На веб-сервере не рекомендуется использовать разрешение ‘777’ для ваших файлов и папок, поскольку оно позволяет любому пользователю добавлять вредоносный код на ваш сервер.
0644 только владелец может читать и писать. Все остальные умеют только читать. Никто не может выполнить этот файл.
0655 только владелец может читать и записывать, но не выполнять файл. Все остальные могут читать и выполнять, но не могут изменять файл.
- prepare
sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update
sudo apt-get install nginx python-certbot-nginx
mkdir -p /var/www/letsencrypt
- nginx:
server {
listen 80;
server_name domain.example.com;
location / {
return 301 https://domain.example.com$request_uri;
}
## can be moved to letsencrypt_snippet.conf
location ^~ /.well-known {
root /var/www/letsencrypt;
}
}
server {
listen 443 ssl;
server_name domain.example.com;
root /var/www;
##########################################
## Add this after certbot success
##########################################
ssl_certificate /etc/letsencrypt/live/domain.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/domain.example.com/privkey.pem;
##########################################
##########################################
## can be moved to ssl_snippet.conf
##########################################
ssl on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
ssl_prefer_server_ciphers on;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers 'ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4';
##########################################
location / {
proxy_pass http://127.0.0.1:5050;
##########################################
## can be moved to proxy_snippet.conf
##########################################
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 900;
proxy_buffering off;
##########################################
}
}
- certbot:
certbot certonly --webroot --agree-tos --no-eff-email --email dev@example.com -w /var/www/letsencrypt -d domain.example.com
- CRONTab
15 3 * * 7 root /usr/bin/certbot renew --quiet
20 3 * * 7 root service nginx restart
sudo add-apt-repository ppa:gophers/archive
sudo apt-get update
sudo apt-get install golang-1.10-go
sudo ln -s /usr/lib/go-1.10/bin/gofmt /usr/bin/
sudo ln -s /usr/lib/go-1.10/bin/go /usr/bin/
echo >> .bash_aliases
echo "export GOPATH=$HOME/go" >> .bash_aliases
echo "export PATH=$PATH:$GOPATH/bin" >> .bash_aliases
sudo add-apt-repository ppa:longsleep/golang-backports
sudo apt-get update
sudo apt-get install golang-go
— Go Modules
go clean -modcache
go mod download
sudo apt-get update
sudo apt-get install postgresql postgresql-contrib
sudo -u postgres psql
# CREATE USER <user> WITH PASSWORD '<pass>';
# ALTER ROLE <user> WITH SUPERUSER;
# CREATE DATABASE <user>;
sudo apt-get install wget ca-certificates
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" >> /etc/apt/sources.list.d/pgdg.list'
sudo apt-get update
sudo apt-get install -y postgresql postgresql-contrib
sudo apt install apt-transport-https ca-certificates curl software-properties-common
sudo apt install docker.io
sudo systemctl start docker
sudo systemctl enable docker
sudo usermod -aG docker $USER