目录
一、Linux
1、CentOS 7
安装完CentOS 7后需要配置IP地址。
1、ifconfig 配置IP地址
该方法是临时配置IP地址,重启系统或者网卡后失效
命令格式:ifconfig ens192 192.168.3.110 netmask 255.255.255.0
说明:ens : 网卡名,不同版本名称可能不同,具体见使用ifconfig查看IP地址时,显示的
[admin@localhost etc]$ ifconfig
ens192: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.31.120 netmask 255.255.255.0 broadcast 192.168.31.255
inet6 fe80::fe19:df29:7826:4006 prefixlen 64 scopeid 0x20<link>
ether 00:50:56:a0:24:ba txqueuelen 1000 (Ethernet)
RX packets 996365 bytes 758978514 (723.8 MiB)
RX errors 0 dropped 160 overruns 0 frame 0
TX packets 443204 bytes 43650755 (41.6 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1 (Local Loopback)
RX packets 518 bytes 44990 (43.9 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 518 bytes 44990 (43.9 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
注:如果用的是虚拟机,IP地址要和主机同一个网段。该命令执行后,IP地址就已经配好了,可以使用ifconfig查看,此时可以和网关ping通,但是不能ping外网,外网需要配置DNS地址。
2、修改配置文件配置IP地址
修改网卡配置文件 vi /etc/sysconfig/network-scripts/ifcfg-ens192 (最后一个为网卡名称)
1、bootproto=static
2、onboot=yes
3、在最后加上几行,IP地址、子网掩码、网关、dns服务器
IPADDR=192.168.1.160
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=114.114.114.114
DNS2=8.8.8.8
4、重启网络服务
[admin@localhost etc]$ systemctl restart network
5、查看ip是否配置成功
[admin@localhost etc]$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
link/ether 00:50:56:a0:24:ba brd ff:ff:ff:ff:ff:ff
inet 192.168.31.120/24 brd 192.168.31.255 scope global ens192
valid_lft forever preferred_lft forever
inet6 fe80::fe19:df29:7826:4006/64 scope link
valid_lft forever preferred_lft forever
6、测试网络是否连通
[admin@localhost etc]$ ping www.baidu.com
3、创建用户
1、添加新的用户账号使用 useradd命令,其语法如下:
代码:
useradd 选项 用户名
其中各选项含义如下:
选项:
-c comment 指定一段注释性描述。
-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
-g 用户组 指定用户所属的用户组。
-G 用户组,用户组 指定用户所属的附加组。
-s Shell文件 指定用户的登录Shell。
-u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
创建用户并授予权限流程
一、创建用户和用户组等权限
1、创建用户: useradd 用户名
useradd admin
2、给用户设置密码: passwd 用户名
passwd admin
3、创建文件夹: mkdir 文件夹名
mkdir /admin
4、创建用户组: groupadd 用户组名
groupadd admingroup
5、将文件夹授权给用户组(-R代表递归处理,将指定目录下的所有文件及子目录一并处理): chgrp -R 用户组名 文件夹名
chgrp -R admingroup /admin
6、授权用户组写入权限:chmod -R 775 文件夹名称
chmod -R 775 /admin
7、将用户归属到某个用户组: usermod -G 附加组1,附加组2,...,附加组N 用户名
usermod -G admingroup admin
二、把/opt目录的权限赋给新建的anmin账户
1、切换回root账户
su root
2、更改所属用户
chown -R admin /opt
3、更改所属用户组
chgrp -R admingroup /opt
注:/opt:为目录,可以随意变更。
-R:递归修改目录下所有的文件或文件夹说明
admingroup:为组名,上面一中创建的组名
三、自己创建用户执行sudo报xxxx is not in the sudoers file. This incident will be reported.错误
解决方式:
第一步:切换到root用户下
su root 接着输入root用户的密码
第二步:添加sudo文件的写权限,命令是: (记得w后面有空格)
chmod u+w /etc/sudoers
第三步:编辑sudoers文件
vi /etc/sudoers
找到这行 root ALL=(ALL) ALL,在他下面添加xxx ALL=(ALL) ALL (这里的xxx是你的用户名)
如下图
第四步:撤销sudoers文件写权限,命令:
chmod u-w /etc/sudoers
4、wget命令安装
1、wget命令安装
1、wget命令安装
yum -y install wget
-----------------------
[root@localhost ~]# yum -y install wget
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.tuna.tsinghua.edu.cn
* extras: mirrors.tuna.tsinghua.edu.cn
* updates: mirrors.tuna.tsinghua.edu.cn
Resolving Dependencies
--> Running transaction check
---> Package wget.x86_64 0:1.14-18.el7_6.1 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
wget x86_64 1.14-18.el7_6.1 base 547 k
Transaction Summary
================================================================================
Install 1 Package
Total download size: 547 k
Installed size: 2.0 M
Downloading packages:
wget-1.14-18.el7_6.1.x86_64.rpm | 547 kB 00:02
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : wget-1.14-18.el7_6.1.x86_64 1/1
Verifying : wget-1.14-18.el7_6.1.x86_64 1/1
Installed:
wget.x86_64 0:1.14-18.el7_6.1
Complete!
2、检查wget是否安装成功
2、检查wget是否安装成功
rpm -qa | grep "wget"
----------------------
[root@localhost ~]# rpm -qa | grep "wget"
wget-1.14-18.el7_6.1.x86_64
5、关闭防火墙
-- 设置开机启用防火墙:
systemctl enable firewalld.service
-- 设置开机禁用防火墙
systemctl disable firewalld.service
-- 启动防火墙
systemctl start firewalld
-- 关闭防火墙
systemctl stop firewalld
-- 检查防火墙状态
systemctl status firewalld
6、ssh免密登录
1、三台服务器
主机名(3台机器)
vi /etc/hostname
[root@node1 ~]# cat /etc/hostname
node1.lwz.cn
Host映射(3台机器)
vi /etc/hosts
[root@node1 ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.18.81 node1 node1.lwz.cn
192.168.18.82 node2 node2.lwz.cn
192.168.18.83 node3 node3.lwz.cn
2、修改sshd_config 文件
编辑服务器的 /etc/ssh/sshd_config 文件,使用命令:vi /etc/ssh/sshd_config 。
去掉以下行的 “#” 注释:
# 是否允许以root用户身份登录,默认可以
PermitRootLogin yes
# 是否允许密码登陆,默认可以
PasswordAuthentication yes
# 是否允许公钥验证登陆,默认可以
PubkeyAuthentication yes
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
生成秘钥 执行命令:ssh-keygen -t rsa 无需指定口令密码,直接回车
[root@node1 ~]# ssh-keygen -t rsa
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:WVe7dNuPfctPBjuKZ4C1Yfcmn3q3990P0qpBaHOEnpg root@node1.lwz.cn
The key's randomart image is:
+---[RSA 2048]----+
| . |
| . . . |
| . o . o .|
| + *+... oo|
| E S+o+ .o..|
| ..+o ..o=.|
| ...+*.*|
| oo+==B|
| o++o =%|
+----[SHA256]-----+
[root@node1 ~]#
/root/.ssh下生成两个文件,在node2和node3也按照上述生成好公钥文件
id_rsa: 私钥
id_rsa.pub:公钥
3、将公钥导入到认证文件
cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
ssh root@node2 cat /root/.ssh/id_rsa.pub >> authorized_keys
ssh root@node3 cat /root/.ssh/id_rsa.pub >> authorized_keys
使用命令 cat authorized_keys 查看 authorized_keys 文件内容如下
[root@node1 ~]# cat authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDB5ZY01eVbNT8RfzLYQsrnZXe0ftnWMJHSiB4ru7T2 dFLSnKxuyPqAJCTVA55EA6axu3ZKS4kz0GsGCU5z63JYFuaJqGAfiHcDUlykMST/5btyZNSm75nJ5KLF X/SFxlMxoistRJUgdvRYtFthq8LzQYnMoloL0y9jFbU/BYYBekaHSkN2/ykSJzZE1P+xQ4Iv2nF9LTp+ dg075KmZar1cZ8HTEFKOxsHNQjF6vkSuz6g90JSbTfurxhPBIfDSvSSmKLysW7uYX30xK53Pg/vQduyT bIOOEpZFfg2aQmAkhkb6jfUefs3YD35zISd/h+TXeNlv4C6WJYtxtd6B+Vnt root@node2.lwz.cn
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDB5ZY01eVbNT8RfzLYQsrnZXe0ftnWMJHSiB4ru7T2 dFLSnKxuyPqAJCTVA55EA6axu3ZKS4kz0GsGCU5z63JYFuaJqGAfiHcDUlykMST/5btyZNSm75nJ5KLF X/SFxlMxoistRJUgdvRYtFthq8LzQYnMoloL0y9jFbU/BYYBekaHSkN2/ykSJzZE1P+xQ4Iv2nF9LTp+ dg075KmZar1cZ8HTEFKOxsHNQjF6vkSuz6g90JSbTfurxhPBIfDSvSSmKLysW7uYX30xK53Pg/vQduyT bIOOEpZFfg2aQmAkhkb6jfUefs3YD35zISd/h+TXeNlv4C6WJYtxtd6B+Vnt root@node2.lwz.cn
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDalvwFgE9Fy5zZqDUFkD3VBftwTGjFvcZ+lIgI/WaH PXx3pJrmBihsJb/Mtlmrz+ETPaAUmngapdlr70R7wk2eLinUhJBGYelVVj84Z9zP3+/RXDctz5jl0gsk NtrbnQ9FJi2ww9Ub6gJ4Po28bIRpj5fYt3eaCmkLb33uxwWFynvyfx+dHyMDo2Y46sDkmO3+MQH0QoBM Xy0vpp20nYYxChHIhvJedAVpSNZubWah2kJ4lbEtv3MlLYRntBskXaX0VIuWncDBxOHnAQIEdBZM4YVx bMXUd28z4KsyoriEHTLW4CGK3qsHpoxOZ612J4T1O7rv8/9jZddkFTHhy7mP root@node3.lwz.cn
[root@node1 ~]#
4、设置文件访问权限
chmod 700 /root/.ssh
chmod 600 /root/.ssh/authorized_keys
执行完以上设置之后 node1 就能够免密码登录本机了,使用命令:ssh root@node1 。
[root@node1 ~]# ssh root@node1
The authenticity of host 'node1 (192.168.18.81)' can't be established.
ECDSA key fingerprint is SHA256:8j/ypbyyGyOl7nx7Dakktww9DAEInhbidoTeUtAS4/Y.
ECDSA key fingerprint is MD5:ef:0f:85:7f:fb:ed:f0:50:98:46:2a:fe:1b:4c:4b:b2.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'node1,192.168.18.81' (ECDSA) to the list of known hosts.
Last login: Mon Dec 25 22:02:01 2023 from 192.168.18.69
[root@node1 ~]#
[root@node1 .ssh]# cat known_hosts
node2,192.168.18.82 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBJD+YKrMBXxAwnrHP8ZYKdfa3HDYLCSIZZRKw7bkuFs12HD9djVqHTZLRIqzBXjeUlGIPDs1yLIyZXmfpQ0Vn6o=
node3,192.168.18.83 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBKYVqc3kVjvGjRo3tREGLitf24XjHixAQfJQPXG68Iq48OcMFjmJqJgWsffzDcLQ9XHXa+isMEKUYGHKhfoPcvo=
node1,192.168.18.81 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBL2Kg6DWt9LRQirJM9kHM/LDGx11TDwH9Bt7ad+eu9Z0wmYIY8RT6gFoqDqMXihFk820XSOnCt8VEWZVcO5Lk+w=
至此,主机 node1 的 SSH 免密码登录就算配置完成了,接下来配置 node2 。
5、将认证文件复制到其他主机
执行以下命令将生成的 authorized_keys、known_hosts两个文件从 node1 复制到 node2和node3 。
# scp [要传输的本地文件] [远程主机用户名]@远程主机ip或主机名:[文件要传输到的目标位置]
scp /root/.ssh/authorized_keys root@node2:/root/.ssh/authorized_keys
scp /root/.ssh/known_hosts root@node2:/root/.ssh/known_hosts
scp /root/.ssh/authorized_keys root@node3:/root/.ssh/authorized_keys
scp /root/.ssh/known_hosts root@node3:/root/.ssh/known_hosts
待复制完成以后,在node2和node3先使用以下命令设置文件访问权限。
chmod 700 /root/.ssh
chmod 600 /root/.ssh/authorized_keys
然后,执行 ssh root@node1 命令就能够使用node2的root账户免密码登录node1的root账户了。
7、
一个程序员最重要的能力是:写出高质量的代码!!
有道无术,术尚可求也,有术无道,止于术。
无论你是年轻还是年长,所有程序员都需要记住:时刻努力学习新技术,否则就会被时代抛弃!