服务器
apt-get install -y bind9
测试工具
apt-get install bind9-host dnsutils
文档
apt-get install bind9-doc
拷贝配置文件
scp /etc/bind/* root@10.17.1.11:/etc/bind
检查dns服务器状态
host $record localhost
ordig $record @localhost
客户端检查dns
nslookup wiki.pandll.org
1
2
3
4
5Server: 127.0.1.1
Address: 127.0.1.1#53
Name: wiki.pandll.org
Address: 10.17.1.99
Linux 启用crontab日志
ubuntu
sudo vim /etc/rsyslog.d/50-default.conf
cron.* /var/log/cron.log #将cron前面的注释符去掉
sudo service rsyslog restart
日志路径:
/var/log/cron.log
debian
sudo vim /etc/rsyslog.conf
cron.* /var/log/cron.log #将cron前面的注释符去掉
sudo systemctl restart rsyslog.service
日志路径:
/var/log/cron.log
参考资料:
Ubuntu查看crontab运行日志
Linux 文件加密压缩和解压
zip
压缩
zip -re filename.zip filename
zip -rP "123*" filename.zip filename
解压
unzip filename.zip
unzip -P "123*" filename.zip
tar
压缩
tar -zcvf - filename | openssl des3 -salt -k "123*" -out filename.tar.gz
解压
openssl des3 -d -k "123*" -salt -in filename.tar.gz | tar zxvf -
参考资料:
linux 下文件加密压缩和解压的方法
openssl加密文件或文件夹
怎样用 Tar 和 OpenSSL 给文件和目录加密及解密
Linux设置默认编辑器为Vim
sudo update-alternatives --config editor
1 | There are 4 choices for the alternative editor (providing /usr/bin/editor). |
Linux Pass密码管理
安装pass
sudo apt-get install pass
echo "source /etc/bash_completion.d/password-store" >> ~/.bashrc
生成密钥对
gpg --gen-key
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62gpg (GnuPG) 1.4.20; Copyright (C) 2015 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
gpg: 钥匙环‘/home/wayde/.gnupg/secring.gpg’已建立
gpg: 钥匙环‘/home/wayde/.gnupg/pubring.gpg’已建立
请选择您要使用的密钥种类:
(1) RSA and RSA (default)
(2) DSA and Elgamal
(3) DSA (仅用于签名)
(4) RSA (仅用于签名)
您的选择?
RSA 密钥长度应在 1024 位与 4096 位之间。
您想要用多大的密钥尺寸?(2048)
您所要求的密钥尺寸是 2048 位
请设定这把密钥的有效期限。
0 = 密钥永不过期
<n> = 密钥在 n 天后过期
<n>w = 密钥在 n 周后过期
<n>m = 密钥在 n 月后过期
<n>y = 密钥在 n 年后过期
密钥的有效期限是?(0)
密钥永远不会过期
以上正确吗?(y/n) y
您需要一个用户标识来辨识您的密钥;本软件会用真实姓名、注释和电子邮件地址组合
成用户标识,如下所示:
“Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>”
真实姓名: Wayde
电子邮件地址: lynnheavn@126.com
注释:
您选定了这个用户标识:
“Wayde <lynnheavn@126.com>”
更改姓名(N)、注释(C)、电子邮件地址(E)或确定(O)/退出(Q)? o
您需要一个密码来保护您的私钥。
我们需要生成大量的随机字节。这个时候您可以多做些琐事(像是敲打键盘、移动
鼠标、读写硬盘之类的),这会让随机数字发生器有更好的机会获得足够的熵数。
.........+++++
..+++++
我们需要生成大量的随机字节。这个时候您可以多做些琐事(像是敲打键盘、移动
鼠标、读写硬盘之类的),这会让随机数字发生器有更好的机会获得足够的熵数。
随机字节不够多。请再做一些其他的琐事,以使操作系统能搜集到更多的熵!
(还需要57字节)
......
随机字节不够多。请再做一些其他的琐事,以使操作系统能搜集到更多的熵!
(还需要119字节)
......
/home/wayde/.gnupg/trustdb.gpg:建立了信任度数据库
gpg: 密钥 1613CE21 被标记为绝对信任
公钥和私钥已经生成并经签名。
gpg: 正在检查信任度数据库
gpg: 需要 3 份勉强信任和 1 份完全信任,PGP 信任模型
gpg: 深度:0 有效性: 1 已签名: 0 信任度:0-,0q,0n,0m,0f,1u
pub 2048R/1613CE21 2018-03-10
密钥指纹 = A2E6 2AED AABB 6CA3 A190 AABB 61DC 65E6 AABB CE21
uid Wayde <lynnheavn@126.com>
sub 2048R/9A9237B5 2018-03-10备份密钥对
查看密钥信息
gpg --list-keys
导出私钥
gpg --export-secret-keys --armor 1613CE21 > ~/Profile/pass_gpg_privkey.asc
导出公钥
gpg --export --armor 1613CE21 > ~/Profile/pass_gpg_pubkey.asc
导入密钥对
导入公钥
gpg --import ~/Profile/pass_gpg_privkey.asc
导入私钥
gpg --import ~/Profile/pass_gpg_pubkey.asc
初始化
pass init 1613CE21
pass git init
pass git remote add origin pass-repository-url
添加记录
pass insert test/wayde
多行添加
pass insert email -m
密码显示在屏幕
pass test/wayde
密码复制到剪贴板(45s后自动清空)
pass -c test/wayde
删除记录
pass rm test/wayde
生成并存储新密码
eg. 生成一个具有10个字符不带符号的密码,并将它存储到 “email/new_service.com”列表中
pass generate email/new_service.com 10 -n
eg. 生成一个由 15 个字符组成的密码:包含字母,数字和特殊符号
pass generate mysite 15
–no-symbols 只包含字母和数字
–clip or -c 密码直接拷贝到剪切板
–qrcode or -q 生成二维码
同时支持
pass mv | cp | rm
新机器同步pass
- 导入密钥对
- 安装pass
git clone pass-repository-url .password-store/
pass
即可查看
遇到问题:
gpg: decryption failed: No secret key
1
2
3
4
5gpg --export [ID] | gpg2 --import
gpg --export-secret-keys [ID] | gpg2 --import
gpg --export $(cat ~/.password-store/.gpg-id) | gpg2 --import
gpg --export-secret-keys $(cat ~/.password-store/.gpg-id) | gpg2 --import1
2
3
4
5
6
7# 直接用gpg解密(成功)
gpg -d .password-store/Soft/tplink-ID.gpg
# 直接用gpg2解密(失败)
gpg2 -d .password-store/Soft/tplink-ID.gpg
# gpg: public key decryption failed: Permission denied
# gpg: decryption failed: No secret keyps: 尚未解决
参考资料:
gpg: 9A9237B5:没有证据表明这把密钥真的属于它所声称的持有者
gpg: /dev/shm/pass.sZAxIBItx71YV/6uwLt-Shopping-Amazon.txt: encryption failed: 不可用公钥
GPG encryption failed. Would you like to try again? [y/N]1
2
3
4
5gpg --list-keys
gpg --edit-key 1613CE21
trust
5 (设置成绝对信任)
quit
参考资料:
使用 pass 密码管理器管理你的密码
如何在Linux上使用命令行管理密码
pass: 以 Unix 之道来管理密码
GPG入门教程
Using password-store with git repository synchingGnuPG (简体中文))
Linux 定时关机/重启计划
新增一条crontab配置如下:
00 01 * * 1,2,3,4,5 /sbin/shutdown -h now
linux下运行crontab -可能会提示你:
no crontab for root - using an empty one,然后会叫你“Select a editor ……”下面有几个选项,就是叫你选择编辑器,然后选 vim.tiny。
或直接进入编辑页面。
进入crontab编辑页面之后就直接”shift+:”,然后输入wq保存即可。然后一个新的crontab就生成了!生成可能需要一会。
Linux 关机/重启等命令区别
- shutdown
- reboot
- init 0
- halt
- poweroff
遇到问题:
no crontab for root - using an empty one
执行
select-editor
1
2
3
4
5
6
7
8
9$ select-editor
Select an editor. To change later, run 'select-editor'.
1. /bin/ed
2. /bin/nano <---- easiest
3. /usr/bin/vim.basic
4. /usr/bin/vim.gnome
5. /usr/bin/vim.tiny
Choose 1-5 [2]: 3
参考资料:
第一次使用crontab linux
理解 Linux 中的 shutdown、poweroff、halt 和 reboot 命令
Windows10 支持多用户同时登陆
Windows 10
虽然是多用户多任务操作系统,但是微软对个人版做了限制,同时只允许一个用户登陆,后者登陆会将前者踢出。支持多用户同时登陆,需要进行破解。
破解步骤:
- 下载最新RDP Wrapper的zip安装包,并解压
- 以管理员身份运行
install.bat
- 以管理员身份运行
RDPCheck.exe
,如果全绿则破解成功 - 如果出现
Listening [not supported]
,则还需以管理员身份运行update.bat
参考资料:
RDP Wrapper Library
Linux lsblk命令
lsblk命令用于列出所有可用块设备的信息,而且还能显示他们之间的依赖关系,但是它不会列出RAM盘的信息。块设备有硬盘,闪存盘,cd-ROM等等
选项
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15-a, --all 显示所有设备。
-b, --bytes 以bytes方式显示设备大小。
-d, --nodeps 不显示 slaves 或 holders。
-D, --discard print discard capabilities。
-e, --exclude <list> 排除设备 (default: RAM disks)。
-f, --fs 显示文件系统信息。
-h, --help 显示帮助信息。
-i, --ascii use ascii characters only。
-m, --perms 显示权限信息。
-l, --list 使用列表格式显示。
-n, --noheadings 不显示标题。
-o, --output <list> 输出列。
-P, --pairs 使用key="value"格式显示。
-r, --raw 使用原始格式显示。
-t, --topology 显示拓扑结构信息。名称
1
2
3
4
5
6
7NAME:这是块设备名。
MAJ:MIN:本栏显示主要和次要设备号。
RM:本栏显示设备是否可移动设备。注意,在本例中设备sdb和sr0的RM值等于1,这说明他们是可移动设备。
SIZE:本栏列出设备的容量大小信息。例如298.1G表明该设备大小为298.1GB,而1K表明该设备大小为1KB。
RO:该项表明设备是否为只读。在本案例中,所有设备的RO值为0,表明他们不是只读的。
TYPE:本栏显示块设备是否是磁盘或磁盘上的一个分区。在本例中,sda和sdb是磁盘,而sr0是只读存储(rom)。
MOUNTPOINT:本栏指出设备挂载的挂载点。
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 931.5G 0 disk
├─sda1 8:1 0 915.6G 0 part /
├─sda2 8:2 0 1K 0 part
└─sda5 8:5 0 15.9G 0 part [SWAP]
loop0 7:0 0 81.3M 1 loop /snap/core/3887
loop1 7:1 0 81.6M 1 loop /snap/core/4110
loop2 7:2 0 253.5M 1 loop /snap/electronic-wechat/7
loop3 7:3 0 81.7M 1 loop /snap/core/4206
loop4 7:4 0 86.3M 1 loop /snap/sensors-unity/61
参考资料:
lsblk命令
Linux 查看CPU信息
总核数 = 物理CPU个数 * 每颗物理CPU的核数
总逻辑CPU数 = 物理CPU个数 每颗物理CPU的核数 超线程数
查看物理CPU个数
方法1:
$ cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l
方法2:
$ lscpu
列出来的Socket(s)
后面跟的数字即物理CPU个数
查看每个物理CPU中core的个数(即核数)
方法1:
$ cat /proc/cpuinfo | grep "cpu cores" | uniq
方法2:
$ lscpu
列出来的Core(s) per socket
后面跟的数字即每个物理CPU中core的个数
查看逻辑CPU的个数
方法1:
$ cat /proc/cpuinfo | grep "processor" | wc -l
方法2:
$ lscpu
列出来的CPU(s)
后面跟的数字即逻辑CPU的个数
方法3:
$ nproc --all
方法4:
$ getconf _NPROCESSORS_ONLN
方法5:
$ cat /sys/devices/system/cpu/online
Linux netstat命令
Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。
netstat [-acCeFghilMnNoprstuvVwx][-A<网络类型>][--ip]
1 | -a或--all 显示所有选项,netstat默认不显示LISTEN相关 |