Linux教程

Linux07

本文主要是介绍Linux07,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

4、权限

某一个用户针对某一个文件的权限。

1、权限分为3个部分
	可读(r)
	可写(w)
	可执行(x)
	没有对应权限(-)

	执行脚本 == 运行脚本

2、权限位
	权限位主要分为三个部分,分别是属主、属组以及其他人
	rwx		: 属主
	r-x		: 属组
	r-x		: 其他人
	
	可读 可写 可执行

3、每一个权限拥有一个数字编号
	可读(r)			: 4
	可写(w)			: 2
	可执行(x)		    : 1
 	没有对应权限(-)   : 0
 	
 4、在添加权限的时候,可以将权限加起来
 
 	index     
 		属主 : 可读可写可执行
 		属组 :可读可写
 		其他人:没有任何权限
 		
 		rwxrw----  等价于  760
 		
 5、添加权限
 	chmod 
 		格式:
 			chmod [参数] [权限表达式] [操作对象]
 	
 	参数:
 		-R  : 递归增加权限
 	
 6、权限的归属
 	属主:u
 	属组:g
 	其他人:o

7、测试权限对于用户的意义
	1、普通用户是严格遵守权限的
	2、root用户是高于权限
	3、权限需要重新登才生效(su和su - 都可以)

8、测试权限对于目录的意义
	1、文件可读,路径的最小权限是必须拥有可执行权限。
	2、文件可写,路径的最小权限是必须拥有可执行权限。
	3、文件可执行,路径的最小权限是必须拥有可读可执行权限。

9、创建文件的默认权限,创建文件夹的默认权限是从哪里来的
	在Linux中,常用的文件的权限是666, 目录的权限是777。
	
	1、文件的权限是跟 umask 值相减,遇到奇数加一;遇到偶数则不变。
	2、文件夹的权限只要跟 umask 值相减即可。
	
	root : umask 022
	test09 : umask 002
	
	默认文件权限:644
	默认的文件夹权限:755
		
	&&   and
	||   or
	
	umask 123    
		644 
		654

	需求:
		要求把1个月之前修改过的日志文件删除。

案例:
	案例1:将index文件添加属主 : 可读可写可执行、属组 :可读可写、其他人:没有任何权限
		chmod 760 index

 	案例2:将baidu下的所有文件设置rwxr--r--
 		chmod -R  744  baidu/

 	案例3:将index这个文件的属组增加一个可执行权限。
 		chmod g+x index
 		chmod g+x,o-r index

5、系统用户信息

whoami	: 当前窗口登录的用户
who		:当前用户登录系统的终端

作业: 搭建yum私有仓库

搭建私有本地yum仓库:
	目标: 
	1. 能解决依赖
	2. 必须能够远程访问


	实施:
	1. 创建目录,充当仓库
	[root@localhost ~]# mkdir /yumrepo

	2. 下载软件,存放于yum仓库中
	[root@web01 ~]# cd /yumrepo/

	[root@web01 yumrepo]# mkdir Packages

   [root@web01 yumrepo]# cd Packages/

   [root@web01 Packages]# pwd
   /yumrepo/Packages

   [root@web01 Packages]# wget https://repo.huaweicloud.com/centos/7.9.2009/updates/x86_64/Packages/unzip-6.0-22.el7_9.x86_64.rpm

--2021-09-22 14:46:27--  https://repo.huaweicloud.com/centos/7.9.2009/updates/x86_64/Packages/unzip-6.0-22.el7_9.x86_64.rpm
Resolving repo.huaweicloud.com (repo.huaweicloud.com)... 119.188.235.88, 119.188.43.191, 119.188.42.191, ...
Connecting to repo.huaweicloud.com (repo.huaweicloud.com)|119.188.235.88|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 175540 (171K) [application/x-redhat-package-manager]
Saving to: ‘unzip-6.0-22.el7_9.x86_64.rpm’

100%[==================================================>] 175,540     --.-K/s   in 0.05s   

2021-09-22 14:46:28 (3.55 MB/s) - ‘unzip-6.0-22.el7_9.x86_64.rpm’ saved [175540/175540]

[root@web01 yumrepo]# ls
unzip-6.0-22.el7_9.x86_64.rpm


	知识存储:
	wget 下载的文件URL: 
	作用: 下载文件
	wget需要安装: [root@web01 ~]# yum install -y wget
	[root@web01 yumrepo]# wget https://repo.huaweicloud.com/centos/7.9.2009/updates/x86_64/Packages/unzip-6.0-22.el7_9.x86_64.rpm
	wget-1.14-18.el7_6.1.x86_64


	3. 建立依赖关系
		1. 安装建立依赖关系的命令
		[root@web01 Packages]# yum install yum-utils createrepo
		2. 建立yum源的依赖关系
		[root@web01 Packages]# createrepo /yumrepo
           Spawning worker 0 with 1 pkgs
           Workers Finished
           Saving Primary metadata
           Saving file lists metadata
           Saving other metadata
           Generating sqlite DBs
           Sqlite DBs complete

3. 检查
    [root@web01 yumrepo]# ll
    total 4
    drwxr-xr-x 2 root root   43 Sep 22 14:52 Packages
    drwxr-xr-x 2 root root 4096 Sep 22 14:57 repodata
    [root@web01 yumrepo]# ll repodata/
    total 28
    -rw-r--r-- 1 root root 2217 Sep 22 14:57 1936673c25d2ffafb050adc617630956e4b0fcf85e52b51cb589e8113b9475aa-primary.sqlite.bz2
    -rw-r--r-- 1 root root 1006 Sep 22 14:57 60f6eaba4a8dd3af7421594ac790c9a0fdc2fd05ed7cd7db4ddfc55705e3ed0e-primary.xml.gz
    -rw-r--r-- 1 root root  904 Sep 22 14:57 7f15ee27a00f1eba2fb1ee899c9589b62b5233ab6d30cc353fcf9005dda8a17b-other.xml.gz
    -rw-r--r-- 1 root root 1553 Sep 22 14:57 9379596abd36268ded4fcaf7172851a3156643d6518a9c9fd478b82fc16a3567-other.sqlite.bz2
    -rw-r--r-- 1 root root  898 Sep 22 14:57 9f09186d8a670234ea624c035f0bc93c79b37402d5ef42b426f8f6c494821ca3-filelists.sqlite.bz2
    -rw-r--r-- 1 root root  358 Sep 22 14:57 a058877d4003af7c222f86d1222fb5100e588fc98f3457d7d0ad78e74d9263c9-filelists.xml.gz
    -rw-r--r-- 1 root root 2966 Sep 22 14:57 repomd.xml

	4. 编写yum源
	[root@web01 yum.repos.d]# mkdir backup
	[root@web01 yum.repos.d]# mv * backup/
	[root@web01 yum.repos.d]# vim local.repo
		[local]
		name="本地源"
		baseurl=file:///yumrepo
		gpgcheck=0

	更新源:
    [root@web01 yum.repos.d]# yum clean all
    Loaded plugins: fastestmirror, langpacks
    Cleaning repos: local
    Cleaning up everything
    Cleaning up list of fastest mirrors
    [root@web01 yum.repos.d]# yum makecache
    Loaded plugins: fastestmirror, langpacks
    local                                                                | 2.9 kB  00:00:00     
    (1/3): local/filelists_db                                            |  898 B  00:00:00     
    (2/3): local/other_db                                                | 1.5 kB  00:00:00     
    (3/3): local/primary_db                                              | 2.2 kB  00:00:00     
    Determining fastest mirrors
    Metadata Cache Created


	5. 测试
	[root@web01 Packages]# yum install -y unzip
    Loaded plugins: fastestmirror, langpacks
    Loading mirror speeds from cached hostfile
    Resolving Dependencies
    --> Running transaction check
    ---> Package unzip.x86_64 0:6.0-16.el7 will be updated
    ---> Package unzip.x86_64 0:6.0-22.el7_9 will be an update
    --> Finished Dependency Resolution

    Dependencies Resolved

============================================================================================
 Package            Arch                Version                    Repository          Size
============================================================================================
Updating:
 unzip              x86_64              6.0-22.el7_9               local              171 k

Transaction Summary
============================================================================================
Upgrade  1 Package

Total download size: 171 k
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Updating   : unzip-6.0-22.el7_9.x86_64                                                1/2 
  Cleanup    : unzip-6.0-16.el7.x86_64                                                  2/2 
  Verifying  : unzip-6.0-22.el7_9.x86_64                                                1/2 
  Verifying  : unzip-6.0-16.el7.x86_64                                                  2/2 

Updated:
  unzip.x86_64 0:6.0-22.el7_9                                                               

Complete!

=============================================================================================

	6. 安装远程软件: 提供远程访问服务 --- 安装nginx
		1. 先将前面放到backup目录中的repo源进行恢复
		  [root@web01 yum.repos.d]# mv backup/CentOs-Base.repo   /etc/yum.repos.d/
            [root@web01 yum.repos.d]# mv backup/epel.repo   /etc/yum.repos.d/
            [root@web01 yum.repos.d]# ls
            backup  CentOs-Base.repo  epel.repo  local.repo

        2. 安装nginx远程服务软件
                [root@web01 yum.repos.d]# yum install -y nginx

        3. 修改nginx配置文件
                  [root@web01 yum.repos.d]# vim /etc/nginx/nginx.conf
                    1. 将目录索引的皮脂文件添加进来
                    2. 修改nginx的代理目录

        3. 启动nginx服务

			[root@web01 yum.repos.d]# systemctl start nginx
		
		4. 在浏览器上访问: 输入服务器的IP地址

                知识储备:
                nginx实现目录索引:
                    autoindex on;
                    autoindex_exact_size off;
                    autoindex_localtime on;
			
			
4. 修改local yum 源

        1. 隐藏base和epel源
            [root@web01 yum.repos.d]# mv CentOs-Base.repo backup/
            [root@web01 yum.repos.d]# mv epel.repo backup/
            [root@web01 yum.repos.d]# ls
            backup  local.repo

		2. 修改local,使其支持远程访问
			[root@web01 yum.repos.d]# vim local.repo 
			[local]
              name="本地源"
              baseurl=http://10.0.0.7
              gpgcheck=0

		3. 重新生成
            [root@web01 yum.repos.d]# yum clean all
            Loaded plugins: fastestmirror, langpacks
            Cleaning repos: local
            Cleaning up everything
            Cleaning up list of fastest mirrors
            [root@web01 yum.repos.d]# yum makecache
            Loaded plugins: fastestmirror, langpacks
            local                                                                | 2.9 kB  00:00:00     
            (1/3): local/filelists_db                                            |  898 B  00:00:00     
            (2/3): local/other_db                                                | 1.5 kB  00:00:00     
            (3/3): local/primary_db                                              | 2.2 kB  00:00:00     
            Determining fastest mirrors
            Metadata Cache Created

这篇关于Linux07的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!