加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

day61:Linux:权限管理&rpm软件包管理&yum工具

发布时间:2020-12-20 09:58:14 所属栏目:Python 来源:网络整理
导读:目录 1.权限管理 2.rpm软件包管理 3.yum工具(联网) 权限管理 1.什么是权限? 权限主要用来 约束用户能对系统所做的操作 2.为什么要使用权限? 因为系统中不可能只存在一个root用户,一定会有多个用户,为了保护 每个登陆用户的隐私和工作环境 ,所以就有了权限

目录

1.权限管理

2.rpm软件包管理

3.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组拥有读写权限

其他人 只读权限

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.变更一个文件属主和属组:chown

[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.如果不调整权限,前台会提示写入成功,但实际会失败

[root@oldboy-pythonedu ~] tail -f /var/log/httpd/error_log

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

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进程

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.调整/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/

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软件包管理

1.什么是rpm?

redhat package mananger 红帽包管理工具,xxx.rpm? 主要用来安装软件包.

  1.rpm包 可以通过rpm工具 yum工具管理

  2.二进制包 解压即用

  3.源码包 编译 ---> 二进制可执行文件

rpm工具安装会牵扯到依赖关系:

A包 -> B包 --> C包

     ? --> D包 --> E包

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? --> F包
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ....................................

2.rpm相关操作

'''安装'''
[root@oldboy-pythonedu ~] rpm -ivh https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/vsftpd-3.0.2-27.el7.x86_64.rpm
        
卸载 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
        
查询结果 rpm -qa  | grep mongodb
mongodb-org-shell-3.0.0-1.el7.x86_64

升级版本 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

再次检查 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这个包所有的文件存储的路径

3.rpm的痛点

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

yum工具(联网)

1.什么是yum

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

2.什么是源,什么是仓库?

源: 存储在服务器中的一个repo文件,文件中存储的是仓库的地址

仓库: 一推软件包的集合,源如果指向这个仓库,那么服务器就可以直接获取该仓库中的软件包

3.如何配置源? | 仓库 ?

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

4.使用yum

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

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

?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读