第四天
上午(用户)
1、为什么需要其他用户:
不同级别人员使用不同级别的用户账号,更加安全
2、window要修改为管理员,就修改组
直接修改用户的uid就可以变成超级用户,但是不建议,因为超级用户只能是root
影子文件 /etc/shadow 只能被root读取修改
1、7个用户文件
2、文件介绍
(1)/etc/passwd
系统账户(程序运行需要的账户,linux需手动添加,一般解释器是/sbin/nologin)(uid:1-499)
普通用户(uid:500-65535)
所有账户有且必须只有一个初始组,但是可以有很多个附加组
1、用户名
768 ls /etc/passwd -l //三种用户都可以查看
769 ls /etc/shadow -l //只有root可以查看
770 ls /etc/group -l //三种用户都可以查看
771 ls -l /etc/gshadow //只有root可以查看
772 ls -al /etc/skel/ //三种用户都可以查看
773 ls -l /var/spool/mail/ //其他人不可见
774 ls -al /home/ //三种用户都可以查看
2、文件介绍
(1)/etc/passwd
系统账户(程序运行需要的账户,linux需手动添加,一般解释器是/sbin/nologin)(uid:1-499)
普通用户(uid:500-65535) 所有账户有且必须只有一个初始组,但是可以有很多个附加组
1、用户名
2、密码占位 真正的密码是在/etct/shadow中,shadow文件只有root才可以看到
3、用户id 0超级用户 1-499 系统用户伪用户, 500-65535 普通用户
4、初始组用户 添加用户默认添加同名组 /etc/group
5、用户说明,可有可无
6、用户家目录
7、用户登录后的权限 /bin/bash 可以执行可以执行所有权限 /sbin/nolog 伪用户无法登录
5、用户说明,可有可无
6、用户家目录
7、用户登录后的权限 /bin/bash 可以执行可以执行所有权限 /sbin/nolog 伪用户无法登录
(2)影子文件 /etc/shadow
md5相同密码加密一样,sha512不会因为两个密码相同而产生相同的加密串
linux:更新密码时间:1970-1-1(时间戳显示)
微软:更新密码时间:1900-1-1(时间戳显示)
b2b 企业对企业 b2c 企业对客户
感叹号(!)表示没有设置密码
1、用户名称
2、密码 sha512 * !表示没有密码
3、更新密码的时间 1970 1 1 时间错 ms1900 1两次修改时间的间隔
4、密码有效期
5、密码修改到期前的警告天数
6、密码过期后的宽限天 默认-1 为空永远不禁用密码失效时间
7、保留 无意义
(3)组文件/etc/group
可以设置组密码,但是现在一般不设置
指定gid后,如果再次添加一个用户,gid从指定gid后进行自增
1、组名
2、组密码位
3、gid
4、附加组(4)组密码文件/etc/gshadow
一般没有人使用
(5)家目录模板/etc/skel
用户的初始操作环境 .bash/profile .bashrc .gnome2
创建用户以后,其家目录里面会自动添加/etc/skel中的全部文件作为初始文件
测试:
创建一个用户并设置密码
查看自己的身份
Who am i
查看用户下文件
Ls -la
(6)邮件文件/var/spool/mail
用户之间相互发送邮件
3、账户分类
1、root
添加账户、修改密码、删除用户
2、普通用户 uid(500-65535)
3、系统账户uid (1-499)
4、root账户uid(0)4、用户管理命令
手工添加或指令添加
不建议指定-g,可以设置附加组
5、默认文件
[root@1 ~]# vim /etc/login.defs
[root@1 ~]# vim /etc/default/useradd
(1)用户管理相关命令
useradd 添加用户
userdel 删除用户
passwd 为用户设置密码
usermod 修改用户命令,可以通过usermod 来修改登录名、用户的家目录
(2)用户组管理相关命令
groupadd 添加用户组
groupdel 删除用户组
groupmod 修改用户组信息
groups 显示用户所属的用户组
newgrp 切换到相应用用户组
(3)用户管理相关命令选项
1、useradd选项:
-d 目录 指定用户主目录,(默认是在/home目录下创建和用户名一样的目录)
-g 用户组 指定用户所属的用户组(主组)
-G 用户组 指定用户所属的附加组(这些组必须事先已经增加过了或者是系统中已经存在)
-s Shell 指定用户的登录Shell
-u UID 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号
-c 描述 指定一段注释性描述
-m 使用者目录若不存在则自动建立(默认选项)
2、passwd选项:
-l :是Lock的意思,会将 /etc/shadow 第二栏最前面加上”!”使密码失效
-u :与-l相对,是Unlock的意思
-S :列出密码相关参数,即shadow文件的大部分信息
-n :后面接天数,shadow的第4字段,不可修改密码天数
-x :后面接天数,shadow的第5字段,多长时间内必须要修改密码
-w :后面接天数,shadow的第6字段,密码过期前的警告天数
-i :后面接日期,shadow 的第7字段,密码失效日期
[root@1 ~]# vim /etc/default/useradd
13、usermod选项:
-c :后面接账号的说明,即/etc/passwd第五栏的说明栏,可以加入一些账号的说明
-d :后面接账号的家目录,即修改/etc/passwd的第六栏
-e :后面接日期,格式是YYYY-MM-DD也就是在/etc/shadow内的第八栏
-f :后面接天数,修改shadow的第七栏
-g :后面接主群组,修改/etc/passwd的第四个字段,即是GID的字段
-G:后面接附加群组,修改这个使用者能够支持的群组,修改的是/etc/group
-a :与 -G 合用,可增加附加群组的支持而非设定
-l :后面接账号名称。修改账号名称,/etc/passwd的第一栏
-s :后面接Shell的文件,例如/bin/bash或/bin/csh等等
-u :后面接 UID 数字,修改用户的UID /etc/passwd第三栏
-L :暂时将用户的密码冻结,让他无法登入。其实就是在/etc/shadow的密码栏前面加上了“!”
-U:将/etc/shadow 密码栏的“!”去掉
4、userdel选项:
-f :强制删除,包括用户的一切相关内容,这个参数是危险的参数,不建议大家使用。详细说明看
MAN
-r :删除用户的家目录和用户的邮件池
(4)用户组管理相关命令选项
1、groupadd选项:
[root@1 ~]# groupadd -h //可查看相关选项与使用用法
-g gid :设置用户组,并指定相应的GID
-r :这个参数和我们的useradd -r (创建一个系统用户)是一样的道理 ,是创建系统工作组
2、groupmod选项:
[root@1 ~]# groupmod -h //可查看相关选项与使用用法
-g :修改既有的 GID 数字;
-n :修改既有的组名
3、groupdel无参数
4、gpasswd选项:
gpasswd //可查看相关选项与使用用法
-a : 增加用户到用户组中
-d :从用户组中删除用户
-r :删除用户组的密码
-M :设置用户组成员(多成员)
-A :设置用户组管理员(列表)
下午(角色、权限、mysql安装)
1、安装mysql8x以上的版本
(1)到官网下载rpm软件包https://dev.mysql.com/downloads
mysql-9.0.0-1.el7.x86_64.rpm-bundle.tar
(2)解压压缩
[root@1 mysql-2]# tar -xf mysql-9.0.0-1.el7.x86_64.rpm-bundle.tar
- 执行命令
[root@1 mysql-2]# rpm -ivh mysql-community-server-9.0.0-1.el7.x86_64.rpm
- 解决所有依赖关系
(5)修改配置文件
[root@1 mysql-2]# vim /etc/my.cnf //添加最后一行代码
(6)查看mysql默认密码
[root@1 mysql-2]# cat /var/log/mysqld.log | grep password
2024-07-11T09:42:47.593311Z 6 [Note] [MY-010454] [Server] A temporary password
is generated for root@localhost: dIbu;0Y1qfhH
(7)使用用户和密码登录mysql
[root@1 mysql-2]# mysql -hlocalhost -p'dIbu;0Y1qfhH'
2、角色、权限
(1)角色
Linux下的用户可以分为三类:超级用户、系统用户和普通用户。
第一类:root(超级管理员),UID为0,这个用户有极大的权限,可以直接无视很多的限制,包括
读写执行的权限。
第二类:系统用户,UID为1~499。一般是不会被登入的。
第三类就是普通用户,UID范围一般是500~65534。这类用户的权限会受到基本权限的限制,也会
受到来自管理员的限制。不过要注意nobody这个特殊的帐号,UID为65534,这个用户的权限会进一步
的受到限制,一般用于实现来宾帐号。
普通用户执行su指令可以切换为root用户,执行sudo指令则短暂提升权限,以root的身份执行sudo
后的指令
[root@1 mysql-2]# cat /var/log/mysqld.log | grep password
2024-07-11T09:42:47.593311Z 6 [Note] [MY-010454] [Server] A temporary password
is generated for root@localhost: dIbu;0Y1qfhH
[root@1 mysql-2]# mysql -hlocalhost -p'dIbu;0Y1qfhH'
1(2)权限
1、权限介绍
Linux系统上对文件的权限有着严格的控制,如果想对某个文件执行某种操作,必须具有对应的权限
方可执行成功。
Linux下文件的权限类型一般包括读,写,执行。对应字母为 r、w、x。
Linux下权限的对象有 拥有者 、所属组 、其它用户 三种。每个文件都可以针对三个对象,设置不同
的rwx(读写执行)权限。通常情况下,一个文件只能归属于一个用户和组, 如果其它的用户想有这个文件
的权限,则可以将该用户加入具备权限的群组,一个用户可以同时归属于多个组。
我们规定 数字 4 、2 和 1表示读、写、执行权限,即 r=4,w=2,x=1
linux中第一位标识文件类型
d :目录文件(文件夹)
- :普通文件
l :软链接(类似Windows的快捷方式)
b :块设备文件(例如硬盘、光驱等)
p :管道文件
c :字符设备文件(例如屏幕等串口设备)
s :套接口文
第2-10位的权限
读 :Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限
写 :Write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权
限
执行 :execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限
2、文件权限的设置
(1)chmod指令
功能:设置文件的访问权限
用法: chmod [参数] [权限] [文件]
只有文件的拥有者和root用户才能改变文件的权限
u :拥有者
g :所属组
o :其他用户
a :所有用户
(2)chown指令
功能:更改文件拥有者
用法: chown [用户名] [文件名]
拥有者和所属组一起修改,中间加冒号(:)(3)chgrp指令
功能:更改文件所属组
用法: chgrp [所属组名] [文件名]
3、默认权限
在linux中,文件的起始权限:
普通文件:0666(起始权限)
目录文件:0777(起始权限)
但实际上我们上面看到的文件权限不是这个值,普通文件的权限是0664,目录文件的权限是0775,这
是因为创建文件或目录时还要受umask的影响