有用的小技巧
一、scp 远程传输文件或目录
首先确认是否能互相ping通
在想是上传到对方主机还是下载到本地服务器
1、从本地复制文件到远程服务器
scp [本地路径] [对方IP]:[目标路径]
[root@localhost ~]# scp /etc/yum.repos.d/wfy.repo root@192.168.100.30:/etc/yum.repos.d/
root@192.168.100.30's password:
wfy.repo 100% 58 0.1KB/s 00:00
[root@localhost ~]#
#这里root@ 可以省略
2、从远程服务器复制到文件
scp [对方IP]:[本地路径] [目标路径]
[root@localhost ~]# scp root@192.168.100.20:/etc/yum.repos.d/wfy.repo /etc/yum.repos.d/
root@192.168.100.20's password:
wfy.repo 100% 58 0.1KB/s 00:00
[root@localhost ~]#
#同理root@ 可以省略
3、常用参数
-r 递归复制整个目录
-q 不显示传输进度条
-v 详细方式显示输出
二、重置root管理员密码
适用于红帽8以前
1、重启虚拟机
出现引导引导界面(Red Hat Enterprise Linux Server)时
按下e,进入内后编辑界面
2、修改内核程序
找到utf-8 在它之后空一格输入rd.break
按下Ctrl+x 进入紧急救援模式
3、修改密码
switch_root:/# mount -o remount,rw /sysroot #以可读可写的方式挂载根目录
switch_root:/# chroot /sysroot #进入系统的根目录
sh-4.2# echo "000000" |passwd --stdin root #修改root密码为000000
sh-4.2# passwd #也能修改密码,两种方法都行
sh-4.2# touch /.autorelabel #创建一个自动刷新的文件
sh-4.2# exit
exit
switch_root:/# exit
三、基于ssh秘钥的身份验证(免密登录)
1、免密登录,发送文件
ssh默认端口为22号
文件在 /etc/ssh/sshd_config
生成的公私钥
默认情况下,私钥和公钥分别保存在
/.ssh/id_rsa
/.ssh/id_rda.pub
ssh-keygen
# 生成一个公私钥 (.pub是公钥)
ssh-copy-id root@IP
# 发送公钥到远程主机,公钥将保存在远程主机的
/.ssh/authorized_keys
#如果有对方的密钥
#需要添加一个-i的参数
scp -i 对应密钥地址 [本地路径] root@ip:[对方路径]
#如果出现Permissions0644错误,修改一下权限即可
chmod 400 密钥地址
2、修改ssh端口
#修改端口后-p 来指定端口
vi /etc/ssh/sshd_config
port 10086
#添加规则
semanage port -a -t ssh_port_t -p tcp 10086
firewall-cmd --permanent --add-port=10086/tcp
firewall-cmd --reload
#重启服务
systemctl restart sshd
systemctl restart firewalld.service
#测试
ssh root@localhost -p 10086
四、cut - 提取列或字段
- 使用-d选项来指定列分隔符
- 使用-f选项来指定要打印的列
- 使用-c选项来指定按字符来提取
1、显示文件指定的列或者标准输入数据
[root@wfy ~]# cut -d : -f1 /etc/passwd
[root@wfy ~]# grep root /etc/passwd |cut -d:-f7
2、显示文件指定的字符
[root@servera ~]# cut -c 1-5 /etc/passwd
六、高级权限
1、文件的特殊执行权限
suid:
-
1、设置在目录上无意义
-
2、不能作用在脚本上
-
3、执行suid权限的程序时,此用户将继承此文件的所有者权限
-
4、设置方法chmod u+s file 或者chmod 4755 file
sgid:
- 1、可以设置在目录上
- 2、不能作用在脚本上
- 3、执行sgid权限的程序时,此用户将继承此文件的所属组权限
- 4、设置方法chmod g+s file 或者chmod 2755 file
2、目录的特殊执行权限
sgid:
- 1、 当一个目录有sgid的权限时,此文件夹下所有用户新建的文件都自动继承此目录的组
- 2、 设置方法chmod g+s dir 或者chmod 2755 dir
stciky:
- 1、设置在文件上无意义
- 2、 对于一个多人可写的目录,如果设置了sticky,则每个用户仅能删除和改名自己的文件或目录
- 3、 用户在设置Sticky权限的目录下新建的目录不会自动继承Sticky权限
- 4、 设置方法chmod o+t dir 或者chmod 1777 dir
3、设置ACL 权限
setfacl -m 设置和修改权限
描述 | 功能 |
---|---|
给指定用户设置acl权限 | u:mary:rxfile |
给文件拥有人设置acl权限 | u::rwx file |
给指定组设置acl权限 | g:ti:rwx file |
给文件拥有组设置acl权限给 | g::rwx file |
给文件其他人设置acl权限 | o::rXfile |
设置掩码值 | m::rw file |
setfacl -R 递归修改acl权限
setfacl -b 清空所有的acl权限
#举例
setfacl -m u:lisa:r file
#设置lisa用户只读file文件
setfacl -m m::rx file
#设置file的ACL掩码(有效权限) 为可读可写
七、哈希算法
password_hash过滤器
哈希算法
openssl passwd -6 redhat
#设置redhat的密文
去掉以#开头 和 空行
grep -v ^# redis.conf | grep -v ^$
dd 的用法
# 清除硬盘
dd if=/dev/zero of=/dev/vdb bs=512 count=1
# 备份前512字节
dd if=/dev/nmve0n1 of=mbr.bak bs=512 count=1