• 03-权限管理 pm软件包管理yum工具


    一、什么是权限

    # 权限主要用来约束用户能对系统所做的操作

    二、为什么要使用权限

    # 因为系统中不可能只存在一个root用户,一定会有多个用户,
    # 为了保护每个登陆用户的隐私和工作环境,所以就有了权限。

    三、权限与用户之间的关系

    # 1.系统为每个文件定义了三种身份,  属主, 属组, 其他人
    # 2.每一种身份分别对应了三种权限, r 读  w 写  x 执行
    """
    [root@kxq-pythonedu ~]# ll useradd_2.sh 
    -rw-r-----. 1 adm root 618 9月  28 11:27 useradd_2.sh
    
    三个用户访问文件:
    adm:                 按照文件的所属主身份进行访问,而所属主定义的身份为  rw-  读写权限
    kxq(root):           按照文件的所属组身份进行访问,而所属组定义的身份为  r--  只有读权限 
    gougou:              按照文件的其他人身份进行访问,而其他人定义的身份为  ---  无权限
    """

    1、权限中的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--只读
    """

    2、为什么要修改权限

    """
    [root@kxq-pythonedu ~]# chmod 640 useradd_2.sh
    # 属主: rw-    读写执行   6
    # 属组: r-x        读和执行   5
    # 其他: r-x        读和执行   5
    [root@kxq-pythonedu ~]# chmod 755 useradd_2.sh             
    [root@kxq-pythonedu ~]# ll useradd_2.sh 
    -rwxr-xr-x. 1 adm root 618 9月  28 11:27 useradd_2.sh
    
    """

    3、变更一个文件属主和数组

    [root@kxq-pythonedu ~]# chown -R www.www web-demo/

    demo示例:

    1、安装php环境

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

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

    tail -f /var/log/httpd/error_log

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

    3.1、检查进程运行的用户身份是什么:  apache

    [root@kxq-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@kxq-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@kxq-pythonedu ~]# chown apache.apache /var/www/html/
    [root@kxq-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@kxq-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@kxq-pythonedu ~]# ll /var/www/html/2020-09-29/
    -rw-r--r--. 1 apache apache 438 9月  29 10:27 2_oldxu.txt

    四、rpm软件包管理

    1、什么是rpm

    # redhat package mananger 红帽包管理工具, xxx.rpm  主要用来安装软件包.
    """
    1.rpm包       可以通过rpm工具  yum工具管理
    2.二进制包    解压即用
    3.源码包     编译   ---> 二进制可执行文件
    
    rpm工具安装会牵扯到依赖关系: 
        A包  -> B包  -> C包
                    --> D包  --> E包
                            ---> F包
    """

    查询命令:

    """
    [root@kxq-pythonedu ~]# rpm -q httpd               #查询安装或者没有安装
    [root@kxq-pythonedu ~]# rpm -qa                    #显示系统中所有已安装的软件包
    [root@kxq-pythonedu ~]# rpm -qa | grep httpd       #查询所有系统已安装的软件包,过滤指定的包名
    [root@kxq-pythonedu ~]# rpm -qc httpd              #仅查看httpd这个包的配置在哪里
    [root@kxq-pythonedu ~]# rpm -ql httpd              #查看httpd这个包所有的文件存储的路径
    """

    痛点:   rpm工具还是无法解决依赖间关系, 所有就有了  yum工具.

    五、yum工具

    1、什么是yum

    # yum包管理工具,主要用安装软件, 通过互联网安装软件.并能解决依赖间关系.

    1、什么是源,什么是仓库

    """
    源:     存储在服务器中的一个repo文件, 文件中存储的是仓库的地址
    仓库:   一推软件包的集合,源如果指向这个仓库,那么服务器就可以直接获取该仓库中的软件包
    """

    2、如何配置源

    # wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

    3、使用yum

    3.1、安装

    # [root@kxq-pythonedu ~]# yum install samba -y 

    3.2、更新

    # [root@kxq-pythonedu ~]# yum update samba -y 

    3.3、卸载

    # [root@kxq-pythonedu ~]# yum remove samba -y 

    3.4、查询

    # 知道命令,但是不知道安装哪个软件包,  
    # 知道配置文件的路径,但是不知道是哪个软件包生成出来的.
    
    [root@kxq-pythonedu ~]# yum provides ifconfig
    [root@kxq-pythonedu ~]# yum provides /etc/my.cnf

    3.5、清理缓存

    # [root@kxq-pythonedu ~]# yum clean all        #清理所有的缓存
    # [root@kxq-pythonedu ~]# yum makecache        #生成缓存
    # [root@kxq-pythonedu ~]# yum repolist         #查看仓库中的软件包
  • 相关阅读:
    javascript设计模式——链式模式学习
    浏览器debug常用技巧
    前端到底要不要学后台
    坑爹的JS闭包,怎么去理解才是正确的
    如何更加简单的理解JS中的原型原型链概念
    前端那么多框架,我们到底学哪一个
    大前端之——数据交互
    随便写一点自己对前端的感受
    如何手动使用webpack搭建一个react项目
    浅谈 CSS 预处理器: 为什么要使用预处理器?
  • 原文地址:https://www.cnblogs.com/kongxiangqun/p/13809809.html
Copyright © 2020-2023  润新知