用户管理以及权限管理、MySQL9.0的安装

一、用户管理

/etc/passwd

root:x:0:0:root:/root:/bin/bash 分为七个部分,每个部分的含义如下:

  1. 用户名 (root)
  2. 密码占位符 (x),真正的密码是在/etc/shadow中,shadow文件只有root才可以看到
  3. 用户ID (0) 超级用户0,1-499为系统用户伪用户,500-65535为普通用户
  4. 组ID (0) 初始组用户,添加用户默认添加同名组/etc/group
  5. 用户描述 (root) 可有可无
  6. 主目录 (/root) 用户家目录
  7. 登录shell (/bin/bash) 用户登录后的权限,/bin/bash可以执行执行所有权限 /sbin/nolog伪用户无法登录

/etc/shadow

/etc/shadow 只能被root读取修改

如下:

  1. 用户名 (root)
  2. 加密后的密码 *!表示没有密码($6$XEJjY09hiOF68lLR$SHhG77CQdlz7vXeetpcEkxFMWlF.F17l7I6n9FsS.wYEauphTobd6Nl6wA4Skoo6IEjt1PZeNyKlNsvK41jln.)
  3. 最后一次更改密码的日期 (::) 更新密码的时间 1970 1 1 时间戳
  4. 两次修改时间的间隔(0)
  5. 密码有效期限 (99999)
  6. 密码警告期限 (7) 密码到期警告天数
  7. 密码过期后的宽限天,默认-1
  8. 密码失效期限 (::)
  9. 账号禁用日期 (::)

/etc/group

  1. 组名
  2. 组密码位
  3. gid
  4. 附加组

/etc/gshadow

/etc/gshadow 文件包含组密码信息,只能被 root 用户读取和修改。

  1. 组名
  2. 加密后的组密码 (``)
  3. 组管理员 (root)
  4. 组成员列表

/etc/skel/

/etc/skel 目录包含新用户账户的默认文件和目录。通常情况下,这些文件会被复制到每个新用户的主目录中。家目录的模板

  1. .bashrc 用户的Bash shell配置文件
  2. .profile 用户的环境配置文件
  3. .bash_logout 用户注销时执行的脚本

/var/spool/mail/

/var/spool/mail 目录包含了用户的邮件文件。每个用户的邮件文件以其用户名命名,并包含了该用户的所有邮件。

  1. 用户名的邮件文件 (username) 保存该用户的所有邮件
  2. 邮件文件的权限 (rw-rw----) 只有用户和邮件系统可以读取和修改
  3. 邮件文件的大小和修改时间

/home/

/home 目录包含了每个用户的个人主目录。主目录是用户存储个人文件、配置和数据的地方。

  1. 用户名的目录 (username) 这是用户的个人主目录,每个用户都有一个唯一的目录
  2. 主目录的权限 (drwx------) 只有用户自己可以完全访问,其他人无权访问
  3. 主目录的大小和修改login.defs时间

/etc/login.defs

/etc/login.defs 文件是 Linux 系统中用于定义系统登录和账户管理相关的一些默认配置参数的文件。这个文件通常包含了关于用户账户的各种默认设置

PASS_MAX_DAYS:密码的最大有效期(天数)

PASS_MIN_DAYS:密码更改之间的最小天数。用户必须等待这么多天之后才能再次更改密码

PASS_MIN_LEN:密码的最小长度

PASS_WARN_AGE:密码过期前的警告天数

UID_MIN 和 UID_MAX:用户ID(UID)的最小值和最大值

GID_MIN 和 GID_MAX:组ID(GID)的最小值和最大值

CREATE_HOME:是否为新用户创建家目录。如果设置为yes,则系统会自动为新建的用户创建家目录

UMASK:用户的默认文件创建掩码(umask)。这个值决定了新创建的文件和目录的默认权限

INACTIVE:用户账户在被视为过期之前可以保持非活动状态的天数。如果用户在这么多天内没有登录,账户可能会被禁用或删除

/etc/default/useradd

  1. GROUP=100

设置新用户的默认组ID(GID)为100

  1. HOME=/home

设置新用户的家目录的默认位置

  1. INACTIVE=-1

这行尝试设置用户账户在被视为过期之前可以保持非活动状态的天数为 -1,这通常意味着账户永远不会因为非活动而被禁用。

/etc/login.defs 文件中,INACTIVE 选项用于此目的,但在这个上下文中,它看起来像是被用作一个自定义配置的一部分。

  1. EXPIRE=

设置用户账户的过期日期

  1. SHELL=/bin/bash

默认登录 shell 为 /bin/bash

  1. SKEL=/etc/skel

指出了新用户家目录的骨架目录的默认位置

  1. CREATE_MAIL_SPOOL=yes

新用户创建邮件队列(mail spool)

二、用户管理命令

手工删除用户

删除用户/etc/passwd信息

删除用户/etc/shadow信息

删除用户组/etc/group信息

删除用户组/etc/gshadow信息

删除家目录

删除用户的邮件文件

将以上信息删除之后可利用指令重新创建该用户

指令添加

  1. 创建用户

useradd 选项 用户名

-u 指定uid

-g 指定初始组

-G 指定附加组

-c 添加说明

-d 指定家目录

-s 指定shell解释器

  1. 设置密码

(1)交互式设置密码

[root@localhost ~]# passwd 用户名 更改用户 用户名 的密码 。 新的 密码: 无效的密码: 密码少于 8 个字符 重新输入新的 密码: passwd:所有的身份验证令牌已经成功更新。

(2)非交互式设置密码

echo 密码 |passwd --stdin 用户名

  1. 删除用户

userdel [-r] 用户名

-r 删除用户的同时删除家目录

  1. 创建组

groupadd [选项] 组名

  1. 成员加入组以及删除组内用户

gpasswd -a 用户名 组名 //成员加入组

gpasswd -d 用户名 组名 //删除组内用户

  1. 删除组

groupdel 组名

三、权限管理

1. 文件访问者的分类

Linux中的文件访问者分为三类:

所有者:文件的创建者或拥有者,拥有对文件的完全控制权

所属组:与文件相关联的用户组,该组的所有成员都具有一定的权限来访问文件

其他用户:既不是文件的所有者也不是文件的所属组成员的用户,他们的权限受到文件权限设置的限制

2. 文件权限的表示方法

字符表示法:使用r(读)、w(写)、x(执行)和-(无权限)来表示权限

八进制数值表示法:使用数字4(读)、2(写)、1(执行)和0(无权限)来表示权限。权限值是通过将相应的数字相加得到的

3. 权限管理命令

chmod:用于修改文件或目录的权限

chown:用于修改文件或目录的所有者

chgrp:用于修改文件或目录的所属组

umask:用于设置用户创建新文件或目录时的默认权限掩码。umask的值决定了哪些权限将被从默认权限中移除

4. acl 访问控制列表,可以单独为某账户或者组定义权限

setfacl -m user:xyz:rw 123 //通过acl给xyz账户添加对123文件的rw权限

setfacl -m group:xyz:rw 123 //通过acl给xyz组添加对123的rw权限

setfacl -x group:xyz 123 //删除123文件的xyz组的acl权限

setfacl -b 123 //删除123文件的所有acl权限

setfacl -m user:xyz:--- 123 //通过acl给xyz账户删除所有权限

5. 特殊权限

(1)set uid 某用户执行了拥有该权限的文件时,自动拥有该文件属主的权限

chmod u+s /usr/bin/vim //对vim程序添加set uid权限,这样以来,即使是普通用户使用这个程序,也被视为root,因为这个程序的属主是root

(2)set gid 在有该权限的目录下创建的文件自动属于此目录的属组

chmod g+s 123 //对123目录添加set gid权限

(3)粘滞位(t权限) 拥有该权限的目录,用户之间不能随意在该目录下删除

其他人文件,即使这个目录本身有w权限

chmod o+t 123 //对123目录添加t权限

四、MySQL9.0的安装​​​​​

四、MySQL9.0的安装

  1. mysql官网获取MySQL(MySQL :: Download MySQL Community Server)的tar包
  2. 确定需要使用的链接

wget <https://dev.mysql.com/get/Downloads/MySQL-9.0/mysql-9.0.0-1.el7.x86_64.rpm-bundle.tar>
  1. 解压
tar -xf mysql-9.0.0-1.el7.x86_64.rpm-bundle.tar 
  1. 安装环境,以及所需依赖包

依赖包: yum install -y libaio yum install -y net-tools

按照下面顺序安装 rpm -ivh mysql-community-common-8.0.31-1.el7.x86_64.rpm

rpm -ivh mysql-community-client-plugins-8.0.31-1.el7.x86_64.rpm

rpm -ivh mysql-community-libs-8.0.31-1.el7.x86_64.rpm

rpm -ivh mysql-community-client-8.0.31-1.el7.x86_64.rpm

rpm -ivh mysql-community-icu-data-files-8.0.31-1.el7.x86_64.rpm

rpm -ivh mysql-community-server-8.0.31-1.el7.x86_64.rpm

  1. 配置/etc/my.cnf

vim /etc/my.cnf

在[mysqld]组下添加如下配置

lower_case_table_names=1

  1. 启动服务

systemctl start mysqld.service

  1. 查看默认生成的密码

cat /var/log/mysqld.log | grep password

Docker 是一种容器化技术,可以通过容器快速部署应用程序和服务。安装 MySQL 9.0.1 可以通过 Docker 容器进行,以下是基本步骤: 1. 确保你的系统上已经安装了 Docker。如果没有安装,可以访问 Docker 官方网站下载安装包并安装。 2. 打开终端或命令提示符。 3. 拉取 MySQL 9.0.1 的官方镜像(如果官方镜像可用,但官方可能未提供此特定版本)。如果没有官方镜像,可能需要寻找其他第三方镜像或者从源代码构建镜像: ``` docker pull mysql ``` 4. 运行 MySQL 容器实例。在运行容器时,可以设置环境变量,比如设置 root 用户的密码等。例如,运行 MySQL 9.0.1 容器并设置密码为 'yourpassword' 的命令如下: ``` docker run --name mysql9 -e MYSQL_ROOT_PASSWORD=yourpassword -d mysql ``` 注意:上述命令中的 mysql 镜像可能不是 9.0.1 版本,因为 Docker Hub 上的官方 MySQL 镜像通常不会精确到小版本号。如果你需要特定的小版本,可能需要指定标签(tag),如 `docker run --name mysql9 -e MYSQL_ROOT_PASSWORD=yourpassword -d mysql:9.0.1`。 5. 如果需要进入容器内部进行操作,可以使用以下命令: ``` docker exec -it mysql9 bash ``` 或者使用 MySQL 客户端连接到容器内的 MySQL 服务: ``` mysql -h 127.0.0.1 -P 3306 -u root -p ``` 输入密码后即可登录 MySQL。 6. 完成操作后,如果需要停止 MySQL 容器,可以使用以下命令: ``` docker stop mysql9 ``` 如果需要重新启动容器: ``` docker start mysql9 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值