Linux琐碎知识汇总
0x00前言
本文主要收集日常工作、实验中的各种琐碎记录。因为本人记忆力较差,故产生本记录!
0x01日常使用
0x001、关闭selinux时配置错误导致linux服务器无法正常启动?
解决:进入单用户模式,从新更改配置文件,其它类似问题同理
0x002、进入单用户模式方法?
开机进入如下界面,按下e
在该页面按下键寻找ro
按下键找到ro
,ro的意思是read only,将ro
替换为rw init=/sysroot/bin/sh
按ctrl+x
进入单用户模式
0x0001单用户模式修改root密码
执行chroot /sysroot命令用于切换系统,/sysroot/目录就是原始系统
执行touch /.autorelabel 执行这行命令作用是让SELinux生效,如果不执行,密码不会生效。按Ctrl+D,执行reboot重启生效
按ctrl+d,然后重起系统使更改生效(reboot)
0x003、设置服务开机自启动?
systemctl stop firewalld
sysemctl enable firewalld
0x004、关闭防火墙
同上
0x005、关闭selinux
vi /etc/selinux/config
设置SELINUX=disabled
0x006、关闭networkmanager
systemctl stop NetworkManager
systemctl disable NetworkManager 永久关闭网络管理命令
0x007 centos系统安装(物理机)
- 插入u盘启动,按delete进入bios,选择 Boot,然后选择Boot option 选择UEFI u盘名,如图,最后一个是键盘的的信息。然后按f10保存。
看到如下页面,按回车键(如果过程出错,按ctrl+alt+delete)
进入如下页面,选择Install CentOS7,按e进入单用户模式,修改镜像路径
看到如下界面,从inst一直到_64之间的内容全部删除
在删除内容的位置输入linux dd,然后按ctrl+x查看所有可用的路径,寻找u盘
如下显示所有的可用路径,这里非常明显的展示出最后一个为我们的U盘路径,然后按ctrl+alt+delete重新配置镜像路径
改为如下即可,/dev/后面为U盘的盘符(DEVICE),然后按ctrl+x
查看系统性能相关
free -h 查看系统内存,主要看total下的Mem那一行
df -h 查看磁盘空间,查看size那一列,将该列的值加起来为总值
0x02服务相关
1、安装Mysql服务
2、安装php7.4
3、安装httpd
4、安装nginx
0x03常见配置
0x001网络设置
0x0001配置动态ip
0x0002配置静态IP
进入配置文件夹
cd /etc/sysconfig/network-scripts
查询当前dhcp分配的IP
查看网关信息
route -n
查看dns信息
cat /etc/resolv.conf
配置
vim ifcfg-ens33
DNS1=192.168.110.2
DNS2=8.8.8.8
IPADDR=192.168.110.128
NETMASK=255.255.255.0
GATEWAY=192.168.110.2
systemctl restart network
测试网络是否正常
0x002ssh配置
0x0001配置ssh远程登录
一般情况下,服务器启动,端口没有问题,登录地址正确,并且确定允许密码或者ssh登录的用户,基本都可以通过远程ssh的方式登录服务器
vim /etc/ssh/sshd_config
Port 22
PasswordAuthentication yes
ListenAddress 0.0.0.0
AllowUsers newusername //允许制定用户使用SSH登陆 #centos7默认配置未发现该项 或者是 PermitRootLogin yes
systemctl start sshd
0x0002ssh安全配置
Port 22 # 可以更改ssh登录端口
ListenAddress 0.0.0.0 #可以通过这里设置白名单登录
PermitRootLogin no #可以设置禁用root远程登录,通过其它用户远程登录后再切换root
MaxAuthTries 6 #设置最大重试次数
PermitEmptyPasswords no #禁止空密码登录
示例
sshd_config最后增加该选项可以指定用户从指定ip登录
AllowUsers anan@192.168.1.2
0x003ssh配置公钥登录
一般情况下对于Linux服务的管理我都是采用ssh账户登陆,对于企业可能拥有高级网络工程师,能够搞定ssh不出网。但是作为小企业或者个人而言,我们ssh一般都会出网,可能安全意识高一些的会将22端口更改,安全意识低的就直接在公网暴露ssh端口,也因此有很多小伙伴的服务器每天在遭受着来自全球的暴力破解攻击。今天我们一起学习一下如何不通过ssh账户密码来控制我们的Linux,那就是使用密钥对。
第一步:制作密钥对
按如下操作完成,会在用户根目录下生成.ssh文件夹
[root@localhost ~]# ssh-keygen #生成秘钥对命令
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): #这里直接回车即可
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): #第一次测试这里直接回车
Enter same passphrase again: #第一次测试这里直接回车
Your identification has been saved in /root/.ssh/id_rsa. #这是我们的私钥
Your public key has been saved in /root/.ssh/id_rsa.pub. #这是我们的公钥
The key fingerprint is:
SHA256:gXk+GVw+zqzENR0SprrxGOdtyjzZwvEFAdNfrN9+ntY root@localhost
The key's randomart image is:
+---[RSA 2048]----+
| oo=... |
| + *oo .o |
| o * =o.o |
| = O.oo |
| + S +. . . |
| X.+ . . .|
| o.+=o. ..|
| o=oo .E|
| +o .oo|
+----[SHA256]-----+
第二步:安装公钥
[root@localhost ~]# cd .ssh #进入隐藏目录
[root@localhost .ssh]# cat id_rsa.pub >> authorized_keys #将公钥写入指定文件
[root@localhost .ssh]# ls #查看结果
authorized_keys id_rsa id_rsa.pub
第三步:设置权限
为保证能够连接成功,至少需要配置如下权限
[root@localhost .ssh]# chmod 600 authorized_keys #保证authorized_keys读写权限
[root@localhost .ssh]# chmod 700 ~/.ssh #给.ssh读写执行权限
[root@localhost .ssh]# ll
总用量 12
-rw-------. 1 root root 396 12月 23 17:50 authorized_keys
-rw-------. 1 root root 1675 12月 23 17:44 id_rsa
-rw-r--r--. 1 root root 396 12月 23 17:44 id_rsa.pub
第四步:配置SSH
[root@localhost ~]# vim /etc/ssh/sshd_config
#允许秘钥认证,如果配置文件中没有则添加
RSAAuthentication yes
PubkeyAuthentication yes
#允许root登录,不轮密码还是秘钥,都需要打开
PermitRootLogin yes
#设置是否允许密码登录,建议秘钥能登录后再修改成no
PasswordAuthentication no
第五步:Linux中涉及配置文件修改的地方要重启服务
[root@localhost ~]# systemctl restart sshd
第六步:将私钥下载下来
我下载下来,放到了D盘
[root@localhost .ssh]# ls
authorized_keys id_rsa id_rsa.pub
#id_rsa 使我们下载的私钥文件
第七步:使用ssh工具连接
这里我使用finalshell这款ssh工具进行测试
更安全的ssh私钥:为私钥设置密码
私钥文件可以拷贝,所以存在一定风险,为了避免被他人盗用,我们接下来生成带“密码”的私钥
[root@localhost ~]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): #直接回车
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): #输入私钥密码
Enter same passphrase again: #再次输入私钥密码
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:+ca2UcZlMe1jpsFbF1n9b4WhCZEnzB3B7wsPVNY9fAc root@localhost
The key's randomart image is:
+---[RSA 2048]----+
| o.=ooE+*|
| * + +BB|
| +.*o+*|
| . .+=o==|
| S .+.B =|
| o ooo. o|
| * + o |
| o o o |
| . |
+----[SHA256]-----+
后续步骤按照第一种生成密钥的方式进行即可,这里我不再赘述。
总结
最后切记去配置文件关闭密码登陆
[root@localhost ~]# vim /etc/ssh/sshd_config
#设置将PasswordAuthentication 的值设置为no即可
PasswordAuthentication no
[root@localhost ~]# systemctl restart sshd
0x004 Centos配置环境变量
vim /etc/profile 将需要配置的可执行文件的绝对路径追加到文件末尾
source /etc/profile 使配置生效
0x005 chattr做系统加固
Linux chattr命令用于改变文件属性。
这项指令可改变存放在ext2文件系统上的文件或目录属性,这些属性共有以下8种模式:
a:让文件或目录仅供附加用途。
b:不更新文件或目录的最后存取时间。
c:将文件或目录压缩后存放。
d:将文件或目录排除在倾倒操作之外。
i:不得任意更动文件或目录。
s:保密性删除文件或目录。
S:即时更新文件或目录。
u:预防意外删除。
示例:
chattr +/- i /etc/passwd 设置属性
lsattr /etc/passwd 查看属性
0x04常用命令整理
https://blog.csdn.net/xiaoguaihai/article/details/8705992?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-1.pc_relevant_antiscanv2&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-1.pc_relevant_antiscanv2&utm_relevant_index=1
更多推荐
所有评论(0)