RHCSA之路

第六天

系统中文件默认的权限值

**权限掩码:(权限过滤符) umask = 022 033

目录最高权限:777 755 744

文本文件的权限: 666 644 644

6 6 6

rw- rw- rw-

0 3 3 0 4 4 0 5 5

--- -wx -wx r-x r-x

rw- r-- r--

6 4 4

权限修改:chmod

chmod 权限 FILENAME(管理员可以更改所有用户创建文件的权限;但是普通用户只能更改自己创建的文件(文件的所属用户是当前用户))

字符形式: chmod u=rwx,g+wx,o-x a chmod ugo=rw FILENAME == chmod a=rw FILENAME

数值形式: chmod 644 FILENAME chmod 66 FILENAME 066

chown 更改文件所属用户 chown 所属用户名 FILENAME chown u1 a chown u2:u2 a chown :u4 a

chgrp 更改文件的所属组 chgrp 所属组(组名) FIELNAME

权限匹配规则:(没有扩展权限时)

标准定义: 安全上下文

通过发起者用户执行一个可执行文件(命令),匹配一个目标文件时,判断执行文件的发起者身份是否是目标文件的的所属用户,如果是直接匹配所属用户权限,如果不是开始匹配是否是文件所组的用户如果是直接匹配所属组权限,不是则直接匹配其他用户的权限。

(首先判断发起用户,是否是文件的所属用户,如果是直接匹配所属用户权限,如果不是开始匹配是否是文件所组的用户如果是直接匹配所属组权限,不是则直接匹配其他用户的权限。)

文件权限字符含义

d目录: r 查看(列出)目录下的文件信息 ls

w 能够在指定目录中创建文件 touch > >> vim nano mkdir mv cp (对于普通用户如果没有写权限,则不能删除该目录下的文件)

x 打开该目录 cd

-文本文件: r 查看该文件的内容

w 编辑文件内容

x 运行文本内容(命令文件)

​x [redhat@162 ~]$ cd /root-bash: cd: /root: Permission denied
作为redhat对于/root目录没有执行权限​[root@162 /]# ll /root  -d      redhat用户对于/root是其他用户,需要其他用户位加上执行权限
dr-xr-x---. 18 root root 4096 Feb 16 21:35 /root
[root@162 /]# chmod o+x /root[root@162 /]# su - redhat
​[redhat@162 ~]$ cd /root
[root@162 /]# touch file
[root@162 /]# ll
-rw-r--r--.   1 root root    0 Feb 16 22:03 file
[redhat@162 /]$ cat file

[redhat@162 /]$ echo this is red1  >file
-bash: file: Permission denied
[root@162 /]# chmod o+w file
[redhat@162 /]$ echo this is red1 > file
[redhat@162 /]$ cat file
this is red1

[redhat@162 /]$ ./file
-bash: ./file: Permission denied
[root@162 /]# chmod o+x file
[redhat@162 /]$ ./file
./file: line 1: this: command not found

特殊权限

chmod u+s,o+s,o+t FILENAME 是在文件对应的执行位显示,如果文件默认没有执行权限特殊权限大写标识,如果有特殊权限特殊权限字符小写标识。

chmod 7644 FILENAME 特殊权限是7(u+s=4,g+s=2.o+t=1) 644标准权限

u+s =4 所属用户的强制位(对于可执行文件的所属用户禁锢) ---1.对可执行文件设置有意义

g+s =2 所属组的强制位(对于可执行文件的所属组禁锢)(对目录文件设置--目录文件的所属组禁锢;表示任何用户创建文件的所属组都是当前目录的所属组)

o+t =1 sticky冒险位(对一个目录文件存在冒险位,用户只能删除自己文件不能删除别人的文件)

[root@162 /]# ll /usr/bin/touch 
-rwxr-xr-x. 1 root root 109776 Feb 14 03:07 /urs/bin/touch

[redhat@162 ~]$ touch red1    // 通过当前用户redhat,执行可执行文件touch,所以touch进程文件的所属用户就是当前用户,根据当前进程创建目标文件,所以目标文件的所属用户以及所属组和进程文件的所属用户和所属组一样。
[redhat@162 ~]$ ll red1
-rw-rw-r--. 1 redhat redhat 0 Feb 16 22:40 red1


root@162 /]# chmod u+s /usr/bin/touch 
[root@162 /]# ll /usr/bin/touch                    对可执行文件设置u+s
-rwsr-xr-x. 1 root root 109776 Feb 14 03:07 /usr/bin/touch

[redhat@162 ~]$ touch red2                  //通过当前用户redhat执行可执行文件touch,touch进程文件的所属用户取决于文件自身的用户root,所属组取决于发起者身份redhat的基本组,所以目标文件的所属用户是root:redhat
[redhat@162 ~]$ ll red2
-rw-rw-r--. 1 root redhat 0 Feb 16 22:46 red2

root@162 /]# chmod g+s /usr/bin/touch 
[root@162 /]# ll /usr/bin/touch                    对可执行文件设置u+s,g+s
-rwsr-sr-x. 1 root root 109776 Feb 14 03:07 /usr/bin/touch

[redhat@162 ~]$ touch red3                  //通过当前用户redhat执行可执行文件touch,touch进程文件的所属用户取决于文件自身的用户root,所属组取决于文件自身的所属组root,所以目标文件的所属用户是root:root
[redhat@162 ~]$ ll red3
-rw-rw-r--. 1 root redhat 0 Feb 16 22:46 red2
实际案例:
[root@162 /]# ll  /etc/shadow
----------. 1 root root 1812 Feb 16 03:21 /etc/shadow

为什么用户能够通过passwd修改密码命令对密码文件有写权限

[root@162 /]# ll /usr/bin/passwd
-rwsr-xr-x. 1 root root 34512 Aug 12  2018 /usr/bin/passwd

[redhat@162 ~]$ passwd       通过发起者身份redhat,运行passwd可执行文件,可执行文件进程的所属用户取决于文件自身用户root,通过root用户对密码文件进行操作。
g+s  对目录设置
[root@162 /]# chmod o+w /pub

[redhat@162 pub]$ touch aa
[redhat@162 pub]$ ll
total 0
-rw-rw-r--. 1 redhat redhat 0 Feb 17 01:12 aa

[root@162 /]# chmod g+s /pub     -目录所属组禁锢
[root@162 /]# ll -d /pub
drwxr-srwx. 2 root root 16 Feb 17 01:12 /pub

[redhat@162 pub]$ touch bb          --任何用户在该目录下创建的任意文件的所属组都和目录的所属组一样
[redhat@162 pub]$ ll
total 0
-rw-rw-r--. 1 redhat redhat 0 Feb 17 01:12 aa
-rw-rw-r--. 1 redhat root   0 Feb 17 01:13 bb
目录o+t 
[root@162 /]# mkdir /test 
[root@162 /]# ll -d /test
drwxr-xr-x. 2 root root 6 Feb 17 01:21 /test
[root@162 /]# chmod o+w /test

[u1@162 zuoye]$ cd /test
[u1@162 test]$ touch u1
[u1@162 test]$ touch u2
[u1@162 test]$ touch u3

[redhat@162 ~]$ cd /test
[redhat@162 test]$ touch red1
[redhat@162 test]$ touch red2
[redhat@162 test]$ touch red3

[root@162 test]# touch root1
[root@162 test]# touch root2
[root@162 test]# touch root3

[redhat@162 test]$ rm root1             ---对于当前目录没有特殊权限,但对当用户拥有写权限,所以用户可以删除任意用户创建的文件
rm: remove write-protected regular empty file 'root1'? y

[root@162 test]# chmod o+t  /test      --设置特殊权限
[root@162 test]# ll -d /test
drwxr-xrwt. 2 root root 98 Feb 17 01:25 /test

[redhat@162 test]$ rm red1

redhat@162 test]$ rm root2
rm: remove write-protected regular empty file 'root2'? y
rm: cannot remove 'root2': Operation not permitted      ---用户只能删除自己文件不能删除别人的文件
注:对于管理员,目录文件有特殊权限该用户也可以删除任何用户创建的文件

扩展权限:

getfacl   FILENAME   查看文件的权限列表

setfacl -m u:USERNAME:prem   FILENAME
                   g:GROUPNAME:prem  FILENAME

setfacl -x   u:USERNAME:   FILENAME    删除文件的一条扩展权限

setfacl -b   FILENAME  清空指定文件的扩展权限

应用场景(对于系统中的文件,只要求对某一个或者某一些用户对文件由不同的权限可以通过扩展权限来实现)

网络管理

三种网络模式

仅主机: 虚拟机都为仅主机模式,多台虚拟可以互ping; 物理机 --ping ---->虚拟机

nat: 虚拟机都为nat模式,多台虚拟可以互ping; 物理机 <-----ping ---->虚拟机 只要物理能访问外网虚拟机就能上网

桥接: 虚拟机都为桥接模式,多台虚拟可以互ping;物理机 <-----ping ---->虚拟机 (同一网段的地址);可以访问外网(当前主机的地址能不能访问外网)

网卡动态和静态地址配置

1.虚拟图形界面

2.nmtui 连接图形化界面进行配置(键盘)

3.nm-connection-editor 鼠标控制

4.网卡配置文件

[root@162 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens160 
TYPE=Ethernet                       网卡类型 Ethernet真实网卡
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp                   网卡模式dhcp动态模式    none  静态模式
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens160                              网卡配置文件名
UUID=29a02f09-4754-4f2f-a91b-b0fd3cbf7987
DEVICE=ens160                            网卡设备名 
ONBOOT=no                              网卡开机后是否自动连接
IPV6_PRIVACY=no

注:RHEL7-    一个网卡设备可以对应多个网卡配置文件,但是当前网卡默认只能连接一个网卡配置

*5.nmcli 网络管理工具

nmcli   device    show           显示主机所有网络设备详细信息

​                             status        显示主机设备和会话(网卡配置文件)

​                            connect       将设备和指定会话文件链接
nmcli   connection    show

​									 modify

​                                     edit

​                                     add

​                                     delete

​                                       up

​                                        down
nmcli配置静态ip地址

[root@162 ~]# nmcli connection modify ens160 ipv4.method  manual  ipv4.addresses 192.168.220.111/24 ipv4.dns 114.114.114.114  ipv4.gateway 192.168.220.2 connection.autoconnect yes    
--修改ens160会话文件参数   网络模式=manual  ipv4.地址=   connection.autoconnect yes  设置网卡开机自动连接
[root@162 ~]# nmcli connection up ens160         ---激活ens160网卡配置

[root@162 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens160 
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens160
UUID=29a02f09-4754-4f2f-a91b-b0fd3cbf7987
DEVICE=ens160
ONBOOT=yes
DNS1=114.114.114.114
IPV6_PRIVACY=no
IPADDR=192.168.220.111
PREFIX=24
GATEWAY=192.168.220.2
[root@162 ~]# nmcli connection edit ens160     --进入编辑网卡配置文件

===| nmcli interactive connection editor |===

Editing existing '802-3-ethernet' connection: 'ens160'

Type 'help' or '?' for available commands.
Type 'print' to show all the connection properties.
Type 'describe [<setting>.<prop>]' for detailed property description.

You may edit the following settings: connection, 802-3-ethernet (ethernet), 802-1x, dcb, sriov, ethtool, match, ipv4, ipv6, tc, proxy
nmcli>                          tab
activate  describe  help      print     remove    set       
back      goto      nmcli     quit      save      verify    
nmcli> goto ipv4               进入iPv4模式
You may edit the following properties: method, dns, dns-search, dns-options, dns-priority, addresses, gateway, routes, route-metric, route-table, routing-rules, ignore-auto-routes, ignore-auto-dns, dhcp-client-id, dhcp-timeout, dhcp-send-hostname, dhcp-hostname, dhcp-fqdn, never-default, may-fail, dad-timeout
nmcli ipv4> 
activate  describe  help      print     remove    set       
back      goto      nmcli     quit      save      verify    
nmcli ipv4> set  method 
auto        disabled    link-local  manual      shared      
nmcli ipv4> set  method auto    将网络模式改为自动模式
Do you also want to clear 'ipv4.addresses'? [yes]: yes
nmcli ipv4> save
Error: connection verification failed: ipv4.gateway: gateway cannot be set if there are no addresses configured
You may try running 'verify fix' to fix errors.
nmcli ipv4> remove 
addresses           dhcp-send-hostname  dns-search          method              routing-rules
dad-timeout         dhcp-timeout        gateway             never-default       
dhcp-client-id      dns                 ignore-auto-dns     route-metric        
dhcp-fqdn           dns-options         ignore-auto-routes  routes              
dhcp-hostname       dns-priority        may-fail            route-table         
nmcli ipv4> remove ipv4.gateway  
nmcli ipv4> remove ipv4.dns
nmcli ipv4> save
Connection 'ens160' (29a02f09-4754-4f2f-a91b-b0fd3cbf7987) successfully updated.
nmcli ipv4> quit
[root@162 ~]# nmcli connection up ens160 

[root@162 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens160 
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens160
UUID=29a02f09-4754-4f2f-a91b-b0fd3cbf7987
DEVICE=ens160
ONBOOT=yes
IPV6_PRIVACY=no
[root@162 ~]# nmcli connection add type ethernet ifname ens160 con-name work
Connection 'work' (dcab47ad-1250-458f-ad64-7471f4bb41e0) successfully added.
[root@162 ~]# vim /etc/sysconfig/network-scripts/ifcfg-work 

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=work
UUID=dcab47ad-1250-458f-ad64-7471f4bb41e0
DEVICE=ens160
ONBOOT=yes
[root@162 ~]# nmcli connection modify work ipv4.method  manual  ipv4.addresses 192.168.220.111/24 ipv4.dns 114.114.114.114  ipv4.gateway 192.168.220.2 
[root@162 ~]# nmcli connection up work
root@162 ~]# nmcli connection delete work

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值