Wayde's Blog

知识源于积累


  • 首页

  • 关于

  • 分类

  • 标签

  • 个人收藏

  • 归档

  • 搜索

迁移配置bind9-dns服务器

发表于 2018-03-15 | 分类于 Ubuntu
  1. 服务器

    apt-get install -y bind9

  2. 测试工具

    apt-get install bind9-host dnsutils

  3. 文档

    apt-get install bind9-doc

  4. 拷贝配置文件

    scp /etc/bind/* root@10.17.1.11:/etc/bind

  5. 检查dns服务器状态

    host $record localhost or dig $record @localhost

  6. 客户端检查dns

    nslookup wiki.pandll.org

    1
    2
    3
    4
    5
    Server:		127.0.1.1
    Address: 127.0.1.1#53

    Name: wiki.pandll.org
    Address: 10.17.1.99​

Linux 启用crontab日志

发表于 2018-03-13 | 分类于 Linux
  1. ubuntu

    sudo vim /etc/rsyslog.d/50-default.conf

    cron.* /var/log/cron.log #将cron前面的注释符去掉

    sudo service rsyslog restart

    日志路径: /var/log/cron.log

  2. debian

    sudo vim /etc/rsyslog.conf

    cron.* /var/log/cron.log #将cron前面的注释符去掉

    sudo systemctl restart rsyslog.service

    日志路径: /var/log/cron.log

参考资料:
Ubuntu查看crontab运行日志

Linux 文件加密压缩和解压

发表于 2018-03-12 | 分类于 Linux
  1. zip

    压缩

    zip -re filename.zip filename

    zip -rP "123*" filename.zip filename

    解压

    unzip filename.zip

    unzip -P "123*" filename.zip

  2. 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

发表于 2018-03-12 | 分类于 Linux

sudo update-alternatives --config editor

1
2
3
4
5
6
7
8
9
10
11
12
There are 4 choices for the alternative editor (providing /usr/bin/editor).

Selection Path Priority Status
------------------------------------------------------------
* 0 /bin/nano 40 auto mode
1 /bin/ed -100 manual mode
2 /bin/nano 40 manual mode
3 /usr/bin/vim.basic 30 manual mode
4 /usr/bin/vim.tiny 10 manual mode

Press <enter> to keep the current choice[*], or type selection number: 3
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/editor (editor) in manual mode

Linux Pass密码管理

发表于 2018-03-10 | 分类于 Linux
  1. 安装pass

    sudo apt-get install pass

    echo "source /etc/bash_completion.d/password-store" >> ~/.bashrc

  2. 生成密钥对

    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
    62
    gpg (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
  3. 备份密钥对

    查看密钥信息 gpg --list-keys

    导出私钥 gpg --export-secret-keys --armor 1613CE21 > ~/Profile/pass_gpg_privkey.asc

    导出公钥 gpg --export --armor 1613CE21 > ~/Profile/pass_gpg_pubkey.asc

  4. 导入密钥对

    导入公钥 gpg --import ~/Profile/pass_gpg_privkey.asc

    导入私钥 gpg --import ~/Profile/pass_gpg_pubkey.asc

  5. 初始化

    pass init 1613CE21

    pass git init

    pass git remote add origin pass-repository-url

  6. 添加记录

    pass insert test/wayde

  7. 多行添加

    pass insert email -m

  8. 密码显示在屏幕

    pass test/wayde

  9. 密码复制到剪贴板(45s后自动清空)

    pass -c test/wayde

  10. 删除记录

    pass rm test/wayde

  11. 生成并存储新密码

    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

  12. 新机器同步pass

    1. 导入密钥对
    2. 安装pass
    3. git clone pass-repository-url .password-store/
    4. pass即可查看
  • 遇到问题:

    1. gpg: decryption failed: No secret key

      1
      2
      3
      4
      5
      gpg --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 --import
      1
      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 key

      ps: 尚未解决

      参考资料:

      gpg: decryption failed: No secret key #92

      Trust in a key’s owner

    2. 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
      5
      gpg --list-keys
      gpg --edit-key 1613CE21
      trust
      5 (设置成绝对信任)
      quit

参考资料:
使用 pass 密码管理器管理你的密码
如何在Linux上使用命令行管理密码
pass: 以 Unix 之道来管理密码
GPG入门教程
Using password-store with git repository synchingGnuPG (简体中文))

Linux 定时关机/重启计划

发表于 2018-03-09 | 分类于 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

遇到问题:

  1. 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 支持多用户同时登陆

发表于 2018-03-08 | 分类于 Windows

Windows 10虽然是多用户多任务操作系统,但是微软对个人版做了限制,同时只允许一个用户登陆,后者登陆会将前者踢出。支持多用户同时登陆,需要进行破解。

破解步骤:

  1. 下载最新RDP Wrapper的zip安装包,并解压
  2. 以管理员身份运行install.bat
  3. 以管理员身份运行RDPCheck.exe,如果全绿则破解成功
  4. 如果出现Listening [not supported],则还需以管理员身份运行update.bat

参考资料:
RDP Wrapper Library

Linux lsblk命令

发表于 2018-03-08 | 分类于 Linux

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
    7
    NAME:这是块设备名。
    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信息

发表于 2018-03-05 | 分类于 Linux

总核数 = 物理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命令

发表于 2018-03-05 | 分类于 Linux

Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。

netstat [-acCeFghilMnNoprstuvVwx][-A<网络类型>][--ip]

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
-a或--all 显示所有选项,netstat默认不显示LISTEN相关
-t或--tcp 仅显示tcp相关选项
-u或--udp 仅显示udp相关选项
-n或--numeric 直接使用IP地址,而不通过域名服务器。
-l或--listening 仅列出有在Listen(监听)的服务状态
-p或--programs 显示建立相关链接的程序名(macOS中表示协议 -p protocol)
-r或--route 显示路由信息,路由表
-e或--extend 显示扩展信息,例如uid等
-s或--statistice 按各个协议进行统计
-c或--continuous 每隔一个固定时间,执行该netstat命令。
-A<网络类型>或–<网络类型> 列出该网络类型连线中的相关地址。
-C或--cache 显示路由器配置的快取信息。
-F或--fib 显示FIB。
-g或--groups 显示多重广播功能群组组员名单。
-h或--help 在线帮助。
-i或--interfaces 显示网络界面信息表单。
-l或--listening 显示监控中的服务器的Socket。
-M或--masquerade 显示伪装的网络连线。
-n或--numeric 直接使用IP地址,而不通过域名服务器。
-N或--netlink或–symbolic 显示网络硬件外围设备的符号连接名称。
-o或--timers 显示计时器。
-v或--verbose 显示指令执行过程。
-V或--version 显示版本信息。
-w或--raw 显示RAW传输协议的连线状况。
-x或--unix 此参数的效果和指定”-A unix”参数相同。
-ip或--inet 此参数的效果和指定”-A inet”参数相同

参考资料:
netstat 的10个基本用法
Linux netstat命令详解

1…678…14
Wayde

Wayde

140 日志
14 分类
112 标签
GitHub StackOverflow Instagram
© 2012–2022 Wayde
粤ICP备2020135844号