Open zombie110year opened 5 years ago
# C-z 将任务挂起后, 更改执行方式
jobs # 查看挂起的任务列表
fg %1 # 将 1 号任务放到前台执行
bg %1 # 将 1 号任务放到后台执行
https://stackoverflow.com/questions/625409/how-do-i-put-an-already-running-process-under-nohup
# 同样先 C-z 挂起
bg %1 # 将 1 号任务放到后台
disown -h %1 # 让 1 号任务忽略当前 Session 发出的中断信号
以下操作默认为 root 用户
# 创建一个 16GB 大小的空文件
dd if=/dev/zero of={{ 一个方便的位置 }}/.swapfile bs=1G count=16
# 最好放在根目录下, 并且让其拥有者为 root 用户(UID=0)
mkswap /.swapfile
swapon /.swapfile
# 卸载全部交换分区
swapoff -a
# 卸载指定文件
swapoff /.swapfile
# 就像普通的文件那样删除即可
rm /.swapfile
在 Linux 中除了使用 useradd, passwd 等命令来创建账户外,还可以通过编辑系统文件来创建用户:
这两个文件都类似于 csv 格式,只不过用 :
做字段间分隔符。
passwd 文件字段
username:x:comment:uid:gid:home_dir:login_shell
x 是密码占位,真正的密码被加密后存储在 /etc/shadow 文件中。
shadow 文件字段
username:password:mtime:min_change_interval:valid_cycle:warning:disable_countdown:disable_time
第 2 列是最重要的,它就是密码列。其值可能有 6 中形式:
!
或 *
,表示此用户被锁定,无法通过密码登录(但是可以通过其他方式登录,例如 su, ssh 密钥对等)!
或 !!
开头也表示此用户被锁定。!!
表示此用户密码未设置${id}${salt}${hash}
表示正常的密码, id 表示使用的加密算法,salt 是加盐,hash 是密码通过哈希算法加密后的字符串。
要生成这样的密码,可以用 Python 中的 crypt
库(这个库在 Windows 上没有):
>>> import crypt
>>> crypt.crypt("example")
'$6$JaqRj6qyyBz8WY5o$jR/tLU9JwGR2H2C77eXAQvQGrUqvFYwBsVv6LH/79lqaWjqlh0BubHMbHw6ozUkGWlHeGycRukQvIU3Tfmn5L/'
crypt 会自动生成 salt 并格式化为 shadow 文件所需格式。
关于其他字段:
使用 Python crypt 库,可以通过这样的方式生成一个指定的密码:
from crypt import crypt
>>> crypt("pi", "$6$pkr123456ZQ7jHMb")
'$6$pkr123456ZQ7jHMb$QT5Eh4hzYqn3Ihxs1y8nHPnmtIGaaQiXGvA0anR6p16TNZGhJU8.HuaY9/fvyxsju1r3y5.dqzD│~ Y6msSeppz6/'
以此来验证 /etc/shadow 中的用户 pi 的密码是否是 pi.
部署 dnsmasq 用作 DNS (缓存) 服务器,一般包管理器中就有,安装下载后会自动生成配置文件和 systemd unit-file。
修改配置文件 /etc/dnsmasq.conf
,原本的内容都被注释了,要用的配置添加在末尾,以便日后对照示例修改。
# DNS 默认端口是 53
port=53
# 监听所有地址的访问
listen-address=0.0.0.0
# 不读取 /etc/hosts
no-hosts
# 读取指定的 hosts 文件
addn-hosts=/var/lib/dnsmasq/custom-hosts
addn-hosts=/var/lib/dnsmasq/googlehosts
# 设置缓存大小
cache-size=1024
其中 custom-hosts 是内网中一些网络服务使用的域名,而 googlehosts 是从 https://github.com/googlehosts/hosts 下载下来的 DNS,用于访问一些被 DNS 污染而无法访问或访问性能降低的网站。
主动扫描设备
当在 Linux 主机上插入新的硬盘时, 如果设备没有出现在
/dev
目录下,需要手动命令机器扫描 SCSI 接口:/sys/class/scsi_host
目录,查看当前运行了哪些主机:/sys/class/scsi_host/hostx/scan
文件中写入- - -
以命令其主动扫描: