7月11日学习笔记

1.Linux用户和组管理

1>创建用户

[root@001 ~]# useradd user0

[root@001 ~]# useradd user1

[root@001 ~]# ls /home/

lisi  user0  user1

[root@001 ~]# ls -a /home/user0/

.  ..  .bash_logout  .bash_profile  .bashrc

[root@001 ~]# ls /etc/passwd -l

-rw-r--r--. 1 root root 889 4月  24 18:19 /etc/passwd

[root@001 ~]# ls /etc/shadow -l

----------. 1 root root 711 4月  24 18:19 /etc/shadow

[root@001 ~]# ls /etc/group -l

-rw-r--r--. 1 root root 466 4月  24 18:19 /etc/group

[root@001 ~]# ls -l /etc/gshadow

----------. 1 root root 370 4月  24 18:19 /etc/gshadow

[root@001 ~]# ls -al /etc/skel/         -a全部显示

总用量 24

drwxr-xr-x.  2 root root   62 4月  11 2018 .

drwxr-xr-x. 76 root root 8192 7月  10 10:56 ..

-rw-r--r--.  1 root root   18 4月  11 2018 .bash_logout

-rw-r--r--.  1 root root  193 4月  11 2018 .bash_profile

-rw-r--r--.  1 root root  231 4月  11 2018 .bashrc

[root@001 ~]# ls -l /var/spool/mail/

总用量 0

-rw-rw----. 1 lisi mail 0 4月  24 18:19 lisi

[root@001 ~]# ls -al /home/

总用量 0

drwxr-xr-x.  3 root root  18 4月  24 18:19 .

dr-xr-xr-x. 18 root root 235 5月  30 09:07 ..

drwx------.  2 lisi lisi  62 4月  11 2018 lisi

2>用户信息查看

[root@001 ~]# vi /etc/passwd   //包含了系统用户信息。该文件的每一行都代表一个用户,并且每行由七个字段组成,这些字段通过冒号(:)分隔。

root:x:0:0:root:/root:/bin/bash

1.用户名:root

2.密码:存储在/etc/shadow中,这里是x

3.UID:0

4.GID:0

5.用户信息:root

6.家目录:/root

7.默认shell:/bin/bash

3>用户名

密码占位 真正的密码是在/etct/shadow中,shadow文件只有root才可以看到用户id 0超级用户 1-499 系统用户伪用户,500-65535 普通用户

初始组用户 添加用户默认添加同名组 /etc/group

用户说明,可有可无

用户家目录

用户登录后的权限 /bin/bash 可以执行可以执行所有权限 /sbin/nolog 伪用户无法登录

window要修改为管理员,就修改组

直接修改用户的uid就可以变成超级用户,但是不建议,因为超级用户只能是root

4>  /etc/shadow字段含义

包含用户账户的加密密码信息。该文件的每一行都对应一个用户账户,并且每行都有9个以冒号(:)分隔的字段。

1.用户名: 这是用户的登录名。

2.加密密码: 这是密码字段,其中包含用户密码的加密形式。

3.最后一次密码更改的时间: 这是表示1970年1月1日后密码最后一次被更改的时间,以天数表示。

4.密码最小时间期限: 这是密码不能被更改的最小时间(在这个时间内被认为是密码更改的天数)。

5.密码最大时间期限: 这是密码可以被更改的最大时间。

6.密码警告时间: 这是在密码过期前多少天开始警告用户。

7.密码过期时间: 这是密码过期后多少天账户被禁用。

8.账户关闭时间: 这是从1970年1月1日起账户被禁用的时间。

9.保留字段: 这是为将来的用途保留的字段。

影子文件(只能被root读取修改)

[root@001 ~]# vi /etc/shadow

   用户名称

   密码 sha512*!表示没有密码

   更新密码的时间 1970 11 时间错

   两次修改时间的间隔

   密码有效期

   密码修改到期前的警告天数

   密码过期后的宽限天 默认-1 为空永远不禁用

   密码失效时间

   保留 无意义

5>etc/group(存储有关用户组的信息。每行代表一个组)

[root@001 ~]# tail -2 /etc/group

user0:x:1001:        //组名:密码:GID:user_list(用户列表)

user1:x:1002:

[root@001 ~]# vi /etc/gshadow

root:::       // 组名:密码:组管理员列表:组成员列表

bin:::

daemon:::

......

6>更改用户密码

[root@001 ~]# passwd user0      //更改user0用户密码

更改用户 user0 的密码 。

新的 密码:

无效的密码: 密码是一个回文

重新输入新的 密码:

passwd:所有的身份验证令牌已经成功更新。

7>收集和验证管理用户和组的指令和参数

1.常用的用户管理命令包括添加用户账号(useradd),管理用户密码(passwd),修改用户账号(usermod),删除账户(userdel)等。
(1)添加用户账号-useradd命令
格式如下:

添加用户账号st

[root@001 ~]# useradd st

(2)管理用户密码-passwd命令

root用户添加用户账号,必须为用户设置密码才能使用。

格式如下:

passwd [选项] [用户名]

[root@001 ~]# passwd

更改用户root密码

新的密码:******

重新输入新密码:******

passwd:所有身份验证令牌已经更新

(3)修改用户账号-usermod命令
格式如下:

usermod [选项] 用户名

使用usermod命令锁定和解锁用户账号stu01

[root@001 ~]# usermod -L stu01

[root@001 ~]# usermod -U stu01

(4)删除用户账号-userdel命令
如果一个用户账号,可以删除该账号。
格式如下:

userdel [-r] 用户名

删除用户账号st

[root@localhost ~]# userdel -r st

2.管理用户组

(1)添加用户组-groupadd命令

格式如下:

groupadd [-g GID] 用户组名

添加用户组group01

[root@001 ~]# groupadd group01

(2)修改用户组属性-groupmod命令
格式如下:

groupmod [选项] 用户组名

将用户组group01的名称修改为group,同时将GID修改为2002

[root@001 ~]# groupmod -n group -g 2002 group01

(3)删除用户组-groupdel命令

删除用户组使用groupdel命令,格式如下:

groupdel 用户组名

(4)添加、删除组成员-gpasswd 命令

gpasswd [选项][用户名] 用户组名

将用户stu01添加到用户组group中

[root@001 ~]# gpasswd -a stu01 group

3.查看用户和用户组状态

(1)用户查看命令

常用用户查看命令如下:

id                 查看用户身份标识信息,如UID,GID和所属组

who,w          查看已登录到主机的用户信息

whoami        查看当前操作的用户名

groups         查看用户所属组

(2)用户切换命令

切换用户身份使用su命令

su [-] [用户名]

从root用户切换到普通用户deng,然后从普通用户切换到root用户。

[root@localhost ~]# su - deng

[deng@localhost ~]$ whoami

deng

[deng@localhost ~]$ su - root

密码:******

sudo命令

sudo命令是Unix和Linux操作系统中的一个命令,用于以超级用户的身份执行其他命令。"sudo"是"SuperUser Do"的缩写。

格式如下:

sudo [选项] 命令名

2.安装MySql

1>下载安装包

    (1)下载官方 Mysql 包,上传到服务器后解压

    (2)通过yum在线安装Mysql

找到对应linux的版本进行下载

[root@001 ~]# cat /etc/redhat-release
CentOS Linux release 7.8.2003 (Core)
下载和安装mysql源

下载地址:https://dev.mysql.com/downloads/repo/yum/ 或 http://repo.mysql.com
#使用wget下载mysql
wget http://repo.mysql.com/mysql80-community-release-el7.rpm
如果显示wget未找到命令,则需要先安装wget:
yum -y install wget,然后再次执行上面命令, 使用上面的命令就直接下载了安装用的Yum Repository,大概25KB的样子,然后就可以直接yum安装了。

通过yum安装方法,会直接添加mysql环境变量和启动服务

yum -y install mysql80-community-release-el7.rpm

安装MySQL服务器:community-server

yum -y install mysql-community-server

2>移动到/usr/local目录下

# 解压文件至/usr/local/目录
tar -zxvf mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz
# 重命名为 mysql
mv /usr/local/mysql-5.7.20-linux-glibc2.12-x86_64/ /usr/local/mysql

3>创建用户组

groupadd mysql     #创建用户组
# -r 参数表示 mysql 用户是系统用户,不可用于登录系统,创建用户 mysql 并将其添加到用户组 mysql 中
useradd -r -g mysql mysql

4>创建数据目录并赋予权限

mkdir -p /data/mysql #数据目录
chown mysql:mysql -R /data/mysql

5>修改配置文件

vim /etc/my.cnf

[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true

6>初始化数据库

参数: --basedir 为mysql解压目录,–datadir 为mysql数据存放目录。(注意安装路径是否一致)

cd /usr/local/mysql/bin/
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize
查看初始密码

cat /data/mysql/mysql.err
密码已经生成

注:在初始化数据库时可能报缺少xx动态库的错误
如:error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
解决方法:
第1步:查看是否安装了libaio,无返回则说明未安装,执行步骤2

rpm -qa|grep libaio
第2步:切换到root用户,使用命令yum install -y libaio进行安装

8>加入到系统服务并启动mysql

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
service mysql start

登录mysql,一定要开启服务后才能登陆

/usr/local/mysql/bin/mysql -u root -p

登录成功后会提示你重置密码

# 修改密码,SQL语句后面的分号不能丢
ALTER USER 'root'@'001' IDENTIFIED BY '1234';
FLUSH PRIVILEGES; #刷新 
退出 quit
重启服务 service mysql restart
再次登陆 /usr/local/mysql/bin/mysql -u root -p //输入刚修改的密码1234敲回车键
到此mysql已经安装完成了
在用工具连接mysql时提示:
MySQL 异常: "Host 'xxx' is not allowed to connect to this MySQL server"
解决:
登录mysql,刷新规则允许外部访问
host修改成%表示,所有主机都可以通过root用户访问数据库

use mysql #选择访问mysql库
update user set host = '%' where user = 'root'; #使root能再任何host访问
FLUSH PRIVILEGES; #刷新 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值