Linux-05-权限管理、rpm软件包管理、yum工具

一、权限管理

1.什么是权限?
权限主要用来约束用户能对系统所做的操作
2.为什么要使用权限?
因为系统中不可能只存在一个root用户,一定会有多个用户,为了保护每个登陆用户的隐私和工作环境,所以就有了权限。
3.权限与用户之间的关系?
(1)系统为每个文件定义了三种身份,  属主, 属组, 其他人
(2)每一种身份分别对应了三种权限, r 读  w 写  x 执行

[root@oldboy-pythonedu ~]# ll useradd_2.sh 
	-rw-r-----. 1 adm root 618 9月  28 11:27 useradd_2.sh

	三个用户访问文件:
	adm: 				按照文件的所属主身份进行访问,而所属主定义的身份为  rw-  读写权限
	oldboy(root):		按照文件的所属组身份进行访问,而所属组定义的身份为  r--  只有读权限 
	gougou:				按照文件的其他人身份进行访问,而其他人定义的身份为  ---  无权限
4.权限中的rwx是干什么的?
字母		   含义		对应权限
r(read)	   读取权限	 4
w(write)   写入权限	 2
x(execute) 执行权限	 1 
-(没有权限) 没有权限	 0
		
		
	644		rw-r--r--
	755		rwxr-xr-x
	
	文件示例: rwxrw-r-- alice hr file1.txt
	
		file1.txt文件属于alice所用于, 属于hr组成员拥有, alice拥有 rwx 读写执行   hr组拥有读写权限  其他人 只读权限 

	
	Q1: alice对file1文件拥有什么权限?    rwx 读写执行
	Q2: jack 对 file1.txt 文件有什么权限? 前提:jack 属于 hr 组     rw 读写
	Q3: tom 对 file1.txt 文件有什么权限?		 r--只读
5.为什么要修改权限?
进程运行需要一个用户,  而进程在完成上传的操作时, 需要调用对应的用户来执行,  能不能执行成功, 取决于该用户对该文件是否有权限
6.怎么修改权限? chmod
[root@oldboy-pythonedu ~]# chmod 640 useradd_2.sh
# 属主: rwx		读写执行   7
# 属组: r-x		读和执行   5
# 其他: r-x		读和执行   5
[root@oldboy-pythonedu ~]# chmod 755 useradd_2.sh 			
[root@oldboy-pythonedu ~]# ll useradd_2.sh 
-rwxr-xr-x. 1 adm root 618 9月  28 11:27 useradd_2.sh
7.变更一个文件属主和属组?
[root@oldboy-pythonedu ~]# chown -R www.www web-demo/
8.通过一个文件文件上传和下载的demo?

1.安装php环境:

[root@oldboy-pythonedu ~]# setenforce 0					#关闭selinux
[root@oldboy-pythonedu ~]# systemctl stop firewalld		#关闭firewalld防火墙
[root@oldboy-pythonedu ~]# yum install httpd php -y
[root@oldboy-pythonedu ~]# systemctl start httpd
[root@oldboy-pythonedu ~]# wget http://fj.xuliangwei.com/public/kaoshi.zip
[root@oldboy-pythonedu ~]# unzip kaoshi.zip -d /var/www/html/

2.如果不调整权限,前台会提示写入成功,但实际会失败

tail -f /var/log/httpd/error_log

3.变更写入目录的属主和属组 ( 不要修改为 777 )

3.1) 检查进程运行的用户身份是什么:  apache
	[root@oldboy-pythonedu ~]# ps -ef |grep httpd | head -2
	root      24130      1  0 10:13 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND		#Master进程
	apache    24132  24130  0 10:13 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND		#Worker进程
	
3.2) 检查进程要写入的目录是什么权限:
	[root@oldboy-pythonedu ~]# ll -d /var/www/html/
	drwxr-xr-x. 2 root root 77 9月  29 10:21 /var/www/html/

	总结:  写不进去的原因:
		进程会调用apache用户往 /var/www/html目录写, 而apache用户对/var/www/html目录仅拥有 读和执行,所以会失败.

3.3) 调整/var/www/html 属主和属组
	[root@oldboy-pythonedu ~]# chown apache.apache /var/www/html/
	[root@oldboy-pythonedu ~]# ll -d /var/www/html/
	drwxr-xr-x. 2 apache apache 77 9月  29 10:21 /var/www/html/

3.4) 最后验证程序是否能正常上传文件至/var/www/html/中
[root@oldboy-pythonedu ~]# ll /var/www/html/2020-09-29/ -d
drwxr-xr-x. 2 apache apache 25 9月  29 10:27 /var/www/html/2020-09-29/

[root@oldboy-pythonedu ~]# ll /var/www/html/2020-09-29/
-rw-r--r--. 1 apache apache 438 9月  29 10:27 2_oldxu.txt

二、rpm软件包管理

什么是rpm
	redhat package mananger 红帽包管理工具, xxx.rpm  主要用来安装软件包.
	
	1.rpm包   	可以通过rpm工具  yum工具管理
	2.二进制包	解压即用
	3.源码包	 编译   ---> 二进制可执行文件

	rpm工具安装会牵扯到依赖关系: 
		A包  -> B包  -> C包
					--> D包  --> E包
							---> F包
							....................................
							
	
	安装:
	[root@oldboy-pythonedu ~]# rpm -ivh https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/vsftpd-3.0.2-27.el7.x86_64.rpm
	
	卸载:
	[root@oldboy-pythonedu ~]# rpm -e vsftpd

	升级:  Uvh
	[root@oldboy-pythonedu ~]# rpm -ivh https://mirrors.aliyun.com/mongodb/yum/redhat/7/mongodb-org/3.0/x86_64/RPMS/mongodb-org-shell-3.0.0-1.el7.x86_64.rpm
	
	查询结果
	[root@oldboy-pythonedu ~]# rpm -qa  | grep mongodb
	mongodb-org-shell-3.0.0-1.el7.x86_64

	升级版本
	[root@oldboy-pythonedu ~]# rpm -Uvh https://mirrors.aliyun.com/mongodb/yum/redhat/7/mongodb-org/3.2/x86_64/RPMS/mongodb-org-shell-3.2.0-1.el7.x86_64.rpm

	再次检查
	[root@oldboy-pythonedu ~]# rpm -qa | grep mongodb
	mongodb-org-shell-3.2.0-1.el7.x86_64
	
	查询命令:
	[root@oldboy-pythonedu ~]# rpm -q httpd					#查询安装或者没有安装
	[root@oldboy-pythonedu ~]# rpm -qa						#显示系统中所有已安装的软件包
	[root@oldboy-pythonedu ~]# rpm -qa | grep httpd			#查询所有系统已安装的软件包,过滤指定的包名
	[root@oldboy-pythonedu ~]# rpm -qc httpd				#仅查看httpd这个包的配置在哪里
	[root@oldboy-pythonedu ~]# rpm -ql httpd				#查看httpd这个包所有的文件存储的路径
	
	
痛点:   rpm工具还是无法解决依赖间关系, 所有就有了  yum工具.

三、yum工具 ( 联网 )

3.1) 什么是yum
		rpm包管理工具,主要用安装软件, 通过互联网安装软件.    并能解决依赖间关系.
	
3.2) 什么是源,什么是仓库
	源: 	存储在服务器中的一个repo文件, 文件中存储的是仓库的地址
	仓库:   一推软件包的集合,源如果指向这个仓库,那么服务器就可以直接获取该仓库中的软件包

3.3) 如何配置源  | 仓库 ?
	wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

3.4) 使用yum
	安装 
		[root@oldboy-pythonedu ~]# yum install samba -y 
		
	更新
		[root@oldboy-pythonedu ~]# yum update samba -y 
		
	卸载
		[root@oldboy-pythonedu ~]# yum remove samba -y 
	
	查询
		知道命令,但是不知道安装哪个软件包,  
		知道配置文件的路径,但是不知道是哪个软件包生成出来的.
		
		[root@oldboy-pythonedu ~]# yum provides ifconfig
		[root@oldboy-pythonedu ~]# yum provides /etc/my.cnf

	清理缓存:
		[root@oldboy-pythonedu ~]# yum clean all		#清理所有的缓存
		[root@oldboy-pythonedu ~]# yum makecache		#生成缓存
		[root@oldboy-pythonedu ~]# yum repolist			#查看仓库中的软件包

猜你喜欢

转载自blog.csdn.net/qq_45957580/article/details/108985797