linux软件安装和免密通讯用户组

安装pdsh

到pdsh官网下载Linux安装包

解压:tar -jxvf pdsh-2.29.tar.bz2

进到pdsh目录 运行 :./configure --with-ssh --with-rsh --with-mrsh --with-mqshell --with-qshell --with-dshgroups --with-machines=/etc/pdsh/machines --without-pam

然后编译 make

安装: makeinstall

清理临时文件: make clean

查看是否安装成功:pdsh -V

安装jdk1.8

解压jdk1.8

然后去环境变量 vi /etc/profile 添加下列文本

JAVA_HOME=/root/jdk1.8.0_231

JRE_HOME=$JAVA_HOME/jre

CLASS_PATH=.:$JAVA_HOME/lib:$JRE_HOME/lib

PATH=$JAVA_HOME/bin:$PATH

export PATH JAVA_HOME JRE_HOME CLASS_PATH

安装Redis

解压 tar xzf redis-6.0.8.tar.gz

然后进去这个目录执行:

        
        cd redis-6.0.8
        make

        然后进入:cd src 启动服务:./redis-server

yum 安装MySQL

先查看是否安装Repository和MySQL  要是安装了就卸载

然后去MySQL官方下载 yum Repository :wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

然后yum安装:rpm -ivh mysql-community-release-el7-5.noarch.rpm 、、、安装软件包

下面就是使用yum安装MySQL了

yum -y install mysql-server

检查MySQL是否安装成功:

rpm -qa | grep mysql

启动数据库:

systemctl start mysqld.service #启动

MySQL安装完之后,它的root用户的密码默认是空的,我们用root用户登录(或者输入MySQL就可以登录)。第一次登录不需要密码直接回车并修改密码

修改密码

use mysql;set password=password('密码');

授予远程连接权限

grant all privileges on *.* to 'root' @'%' identified by '密码';

刷新

flush privileges;

 关闭Linux系统防火墙

systemctl stop firewalld.service

开机禁用防火墙

systemctl disable firewalld

二免密通讯

操作过程和步骤(默认使用root用户):

  • 解决通过主机名互联互通的问题,分别设置两台主机的hostname名称。0.101主机为master,0.108主机为slave。通过hostnamectl命令修改hostname属性使永久生效。

在master所属IP对应的主机上执行:hostnamectl set-hostname master

在slave所属IP对应的主机上执行:hostnamectl set-hostname slave

设置两台主机中的hosts,均在/etc/hosts添加映射关系。其中192.168.0.101对应master,192.168.0.108对应slave。

  • 基于主机名通信,完成密钥生成与传递

在主机master上生成公钥和私钥:执行ssh-keygen -t rsa,即采用rsa加密,然后一路回车,就会按照默认选项生成的密钥保存在~/.ssh/id_rsa文件中,生成的公钥保存在~/.ssh/id_rsa.pub中。将主机master的公钥传输到主机slave中:使用scp ~/.ssh/id_rsa.pub root@slave:~/。(或者通过rz和sz命令来实现公钥传递亦可)

在主机slave中将公钥追加到授权列表authorized_keys当中。cat ~/id_rsa.pub >> ~/.ssh/authorized_keys。

  • 登陆验证密钥配置的准确性,由主机master端直接登陆slave端,查看是否可以无密码登陆。ssh root@slave。
  • 实现slave无密码登陆到master主机,与如上操作类似,互反一下操作即可

添加用户/分组/删除

1.概念介绍

1.1用户分类

Linux是多用户、多任务操作系统,按照用户角色划分:

  1. root用户:系统唯一,是真实的,可以登陆系统,可以操作系统任何文件和命令,拥有最高权限。
  2. 虚拟用户:这类用户也被称之为伪用户或假用户,与真实用户区分开来,这类用户不具有登陆系统的能力,但却是系统运行不可缺少的用户,比如bin、daemon、adm、ftp、ssh、mail等。这类用户都是系统自身拥有的,而非用户认为添加的,当然我们也可以添加虚拟用户。
  3. 普通真实用户:这类用户能登陆系统,但只能操作自己家目录的内容。权限有限,这类用户都是系统管理员自行添加的。本节内容用到的用户为普通用户,用来完成自身需求操作的系统使用账户。在/etc/passwd中可以看到各种账户的存在。

1.2用户组

用户组:具有相同特征的用户的集合体。比如有时我们要让多个用户具有相同的权限,比如查看、修改某一文件或者执行某个命令,这时我们需要用户组,我们把用户都定义到同一用户组,我们通过修改文件或目录的权限,让用户组具有一定的操作权限,这样用户组下的所有用户对该文件或目录都具有相同的权限,这是我们通过定义组合修改文件的权限来实现的。

用户与组的对应关系:一对一、多对一、一对多。

2.常用命令

1) 创建用户

useradd tianliang //新建tianliang用户

passwd tianliang //给tianliang用户设置密码

2) 显示用户信息

id user //查看用户的uid、gid、groups属性

3) 创建用户组

groupadd tlgroup //新建tlgroup工作组

useradd -g tlgroup tianliang //新建tianliang用户并增加到tlgroup用户组。

其中-g所属组

4) 给已有的用户增加工作组

usermod -g tlgroup tianliang //修改用户的gid,即修改所属组

gpasswd -a tianliang tlgroup //将用户追加到组tlgroup中

usermod -G tlgroup tianliang //将用户追加到组tlgroup中,tlgroup为非主组

5) 删除用户账号

userdel tianliang //永久删除该用户,不清空其/home/tianliang目录

6) 彻底删除用户:是否删除该用户的家目录等相关文件来区分

userdel -r tianliang //删除tianliang用户及其家目录下的所有数据

7) 从用户组中删除用户

gpasswd -d tianliang tlgroup //从组tlgroup中删除掉tianliang用户

8) 删除用户组

groupdel tlgroup //删除组,但当该组是某个用户的主组的时候,不能删除

9) /etc/passwd文件解析

该文件存储的是操作系统用户信息,该文件为所有用户可见,包含7个字段信息,通过cat /etc/passwd查看如下:

 

用户名

密码(已经加密)

UID:用户标识符,CentOS操作系统自己使用

       UID=0是超级用户。

       UID=1~499是伪用户(与系统和程序服务相关)

       UID=500~60000为普通用户

GID:组标识,CentOS适用

       GID=0是超级组

       GID=1~499与系统和程序服务相关的组,如sshd等

       GID=500~60000为普通组,即自定义新增的组

用户全名或本地账号

开始目录-家目录

登陆使用的Shell,就是对登陆命令进行解析的工具

三.文件权限管理详解

1.权限介绍

Linux针对文件权限分为三组:用户,用户组,其他。我们使用命令ls -l或者ll,以列表的格式化形式,即可查看文件或者目录对应的权限信息。

文件列表信息的字符意义,文件权限共10个字符,其意义分别为:

  1. 第一个字符,文件类型
    1. d:表示文件目录
    2. -:表示文件
    3. |:表示链接文件
    4. b:表示设备文件里的可供存储的接口设备
    5. c:表示设备文件里面的串行端口设备,如键盘
  2. 第2~4个字符:用户权限
  3. 第5~7个字符:用户组权限
  4. 第8~10个字符,其他用户权限

对于文件权限可分为3种:

权限种类

描述

r

4

可读

w

2

可写

x

1

可执行

示例:

 

由上信息可以看出:

该文件属于用户test,属于用户组tlgroup

该文件对于用户权限为rw-,即为可读写权限

该文件对于用户组的权限为r--,即为可读权限

该文件对于其他的权限为r--,即为可读权限

shell脚本编码与可执行权限

1) 之前课程使用过的脚本,增强工具的安装脚本:./VBoxLinuxAddtions.run

2) shell脚本编写,实现shell脚本输出HelloWorld

新建start.sh,touch start.sh。编写shell源码:

#!/bin/bash

echo “HelloWorld!”

3) 给脚本赋值可执行权限,chmod 744 start.sh

 

 

4) shell脚本执行

A、在当前路径下执行,cd到start.sh所在的目录中,执行./start.sh

 

B、还可以使用绝对路径执行,/root/tianliang/start.sh

 

  1. sh脚本直接调用执行

 

  1. source执行脚本,直接影响当前会话窗口

 

2.常用命令

  1. chmod

chmod更改文件、文件夹权限。权限设置分2种,分别可以使用数字和符号。语法:chmod [-R] 权限 文件/目录

选项与参数:-R递归的持续更改,连同子目录下的所有文件一起更改

数字修改法

使用ll input.txt查看文件原来权限,使用chmod 755 input.txt更改权限,修改后,使用ll input.txt再次查看文件权限。

 

符号修改法

使用ll input.txt查看原始权限,使用chmod u=rwx,g=rwx,o=rwx input.txt,修改后再次使用ll input.txt查看文件权限。

 

  1. chown

chown更改文件所有者。此命令是change owner的简称,不过要被改变的用户要在/etc/passwd文件内存在才行,否则会报错,一般为root用户调用较多。语法:chown [-R] 用户 文件/目录 或者 chown [-R] 用户:组名 文件/目录选项与参数:-R递归参数(recursive)的级联更改,连同子目录下的所有文件一起更改。

更改文件的用户名和所属组:chown test:test input.txt

更改文件夹的所属用户名:chown -R test data

更改文件夹所属的用户组:chown -R :test data

  1. chgrp

chgrp更改文件所属用户组。此命令是change group的简称,要求被改变的组名要在/etc/group文件内存在才行,否则会报错。

语法:chgrp [-R] 用户组 文件/目录

选项与参数:-R 递归的级联更改,连同子目录下的所有文件一起更改。

递归更改文件夹所属用户组:chgrp -R test data

四.系统常用服务与管理

1.常用服务

  1. 防火墙服务-开启与关停

service iptables restart/stop/status

Centos7.x: 修改为firewalld服务

Centos7.x: 将service服务修改为最新的systemctl命令

模板为:systemctl action service_name

如:systemctl status iptables

其它地方与上类同升级修改

  1. ssh服务-开启与关停

service sshd restart/stop

  1. httpd服务-开启与关停

service httpd restart/stop

  1. network服务-开启与关停

service network restart/stop

  1. 网络时间同步服务ntpd-开启与关停

service ntpd restart/stop

Centos7.x: 默认是需要安装才能使用的,并不是自带。

2.永久改变服务的状态-重启机器后依然后效

解决方法

chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行信息。切记chkconfig不是立即自动禁止或者激活一个服务,它只是简单的改变了符号连接。如果想及时生效,必须用service来start和stop。

使用语法

chkconfig [--add][--del][--list][系统服务] 或

chkconfig [--level<等级代号>] [系统服务] [on/off/reset]

参数用法

--add增加所指定的系统服务,让chkconfig指令得以管理它,并同时在系统启动的叙述文件内增加相关数据。

--del删除所指定的系统服务,不再由chkconfig指令管理,并同时在系统启动的叙述文件内删除相关数据。

--level<等级代号>:指定读系统服务要在哪一个执行等级中开启或关闭。

等级0:表示关机

等级1:单用户模式

等级2:无网络连接的多用户命令行模式

等级3:有网络连接的多用户命令行模式

等级4:不可用

等级5:带图形界面的多用户模式

等级6:重新启动

需要说明的是,level选项可以指定要查看的运行级不一定是当前的运行级。对于每个运行级,只能有一个启动脚本或者停止脚本。当切换运行级时,init不会重新启动已经启动的服务,也不会再次去停止已经停止的服务。

使用范例

chkconfig --list:列出所有的系统服务

chkconfig --add httpd:增加httpd服务

chkconfig --del httpd:删除httpd服务

chkconfig --level 2345 httpd on:设置httpd在运行级为2、3、4、5的情况下都是开启on的状态。

chkconfig --list mysqld:列出mysqld服务设置的情况

chkconfig mysqld on:设定mysqld在各运行级都为开启

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值