4.Linux一些概念

阅读: 评论:0

4.Linux一些概念

4.Linux一些概念

Linux一些概念

1.| - 管道符

管道符:|

作用:管道是一种通信机制,通常用于进程间的通信。它表现出来的形式将前面每一个进程的输出(stdout)直接作为下一个进程的输入(stdin)

# ls / | grep “y”
grep 指令用于“过滤”
grep 语法:grep 选项 文件路径/内容针对上面这个命令说明:
① 以管道作为分界线,前面的命令有个输出,后面需要先输入(缺少查找范围),然后再过滤,最后再输出,通俗的讲就是管道前面的输出就是后面指令的输入。
为了便于理解,上述的指令变相实现可以如下:
# ls / >  将ls /的结果保存到文件中
# grep “y”  使用grep指令搜索中的包含y的行
相当于执行两条命令
② grep 指令:主要用于过滤
语法:# grep [选项] “搜索关键词” 搜索范围

示例代码:获取/根目录下包含关键字"y"的文件信息

ls /| grep "y"

例如使用管道符将两个命令连接在一起

ls / | wc -l

这个命令的作用是列出根目录下的所有文件和文件夹,并计算有多少行(即有多少个文件和文件夹)

cat /etc/passwd | wc -l

这个命令的作用是显示 /etc/passwd 文件的内容,并计算该文件中的行数,也就是系统中的用户账户数量

2.xargs命令 – 给其他命令传参数的过滤器

xargs命令来自英文词组“extended arguments”的缩写,其功能是用于给其他命令传递参数的过滤器。xargs命令能够处理从标准输入或管道符输入的数据,并将其转换成命令参数,也可以将单行或多行输入的文本转换成其他格式

使用该命令的原因在于,很多命令不支持|来传递参数,所以要用到xargs来实现传参

例如

find /etc -name "*.conf" | ls -lfind /etc -name "*.conf" | xargs ls -l
两个命令都用管道符 | 将 find 和 ls 命令连接起来,但是它们的管道符后面的命令略有不同:find /etc -name "*.conf" | ls -l:这个命令的意图是在 /etc 目录下查找所有扩展名为 .conf 的文件,然后将结果作为参数传递给 ls -l 命令进行详细列出。但是,这个命令是有问题的,因为 ls 命令不适用于接收 find 命令的输出作为参数。find /etc -name "*.conf" | xargs ls -l:这个命令的作用与第一个命令类似,不同之处在于它使用了 xargs 命令来正确地将 find 命令的输出作为参数传递给 ls -l 命令进行列出。xargs 命令的作用是将标准输入转换为命令行参数,以便可以正确地执行命令。

xargs命令默认接收的信息中,空格是默认定界符,所以可以接收包含换行和空白的内容。

语法格式:xargs [参数] [文件名]

  • 多行变单行:cat 1 | xargs
  • 默认以空格为定界符,以多行形式输出文件内容,每行显示三段内容值:cat File | xargs -n 3

3.ifconfig命令 – 显示或设置网络设备参数信息

ifconfig命令来自英文词组“network interfaces configuring”的缩写,其功能是用于显示或设置网络设备参数信息

注意:通常不建议使用ifconfig命令配置网络设备的参数信息,因为一旦服务器重启,配置过的参数会自动失效,还是编写到配置文件中更稳妥。

语法格式:ifconfig [参数] [网卡名] [动作]

  • -a:显示所有网卡状态
  • -s:显示简短状态列表
  • -v:显示执行过程详细信息

常用动作:

  • add:设置网络设备的IP地址
  • del:删除网络设备的IP地址
  • up:启动指定的网络设备
  • down:关闭指定的网络设备

显示系统的网络设备信息:ifconfig

网卡配置文件


利用systemctl命令查看网卡状态

systemctl status network

systemctl stop network 关闭

systemctl start network 启动

systemctl restart network 重启

4.Linux权限

1.权限的基本概念

在多用户计算机系统的管理中,权限是指某个特定的用户具有特定的系统资源使用权利。

在Linux 中分别有读、写、执行权限

权限针对文件权限针对目录
读r表示可以查看文件内容;cat表示可以(ls)查看目录中存在的文件名称
写w表示可以更改文件的内容;vim 修改,保存退出表示是否可以删除目录中的子文件或者新建子目录(rm/touch/mkdir)
执行x表示是否可以开启文件当中记录的程序,一般指二进制文件(.sh) => 绿色表示是否可以进入目录中(cd)

注:一般给予目录读权限时,也将会给其执行权限,属于“套餐”组合

可读权限 read => r(简写),可写权限 write => w(简写),可执行权限 excute => x(简写)

2.为什么要设置权限

  1. 服务器中的数据价值
  2. 员工的工作职责和分工不同
  3. 应对自外部的攻击(挂马)
  4. 内部管理的需要

3.Linux用户身份类别

Linux 系统一般将文件权限分为3 类:

**read(读)**r

**write(写)**w

**execute(执行)**x

谁对文件有读,写,执行的权限呢? 答:针对以下UGO三大类用户

4.Linux中文件的所有者UGO

user(属主)U

文件创建者 拥有者 表示一个账户 对这个文件的权限

group(属组) G

文件所属的用户组 某个组对这个文件有的权限

other(其他用户) O

除了上面之外的其他用户 对这个文件有的权限

UGO A all

root用户(超级管理员)默认拥有所有权限

5.普通权限管理

ls 查看文件属性

ls -l 或者 ll 使用ll命令查看文件权限

6.文件类型+权限解析

Linux一共有7种文件类型,分别如下: -:普通文件 d:目录文件 l: 软链接(类似Windows的快捷方式)

(下面四种是特殊文件)

b:block,块设备文件(例如硬盘、光驱等)

p:管道文件

c:字符设备文件(例如猫(上网猫)等串口设备)

s:套接口文件/数据接口文件(例如启动一个MySql服务器时会产生一个mysql.sock文件)

7.文件或文件夹权限设置(字母)

基本语法:ch = change mod简单理解权限

ch只是增加或减少文件的权限 不能改变所有者 只能改变所有者现有的权限

要给文件或目录设置权限 操作者要么是root要么是文件或目录的所有者

 # chmod [选项] 权限设置 文件或目录的名称选项说明:-R :递归设置,针对文件夹(目录)

设置权限的时候,重点看三方面

第一个:确认要给哪个身份设置权限,u、g、o、ugo(a)

第二个:确认是添加权限(+)、删除权限(-)还是赋予权限(=)

第三个:确认给这个用户针对这个文件或文件夹设置什么样的权限,r、w、x

案例:给文件的拥有者,增加一个可执行权限

chmod u+

案例:把文件的拥有者的可执行权限去除

chmod 

案例:为中的所属组内用户赋予rw权限

chmod g=

案例:给shop目录及其内部的文件统一添加w可写权限

chmod -R ugo+w shop
或者
chomd -R a+w shop

案例:给shop目录设置权限,要求拥有者rwx,组内用户r-x,其他用户r-x

chmod -R u=rwx,g=r-x,o=r-x shop

同时设置多个身份权限的时候 每个身份权限用英文逗号隔开

chmod g+x,o+x

在设置权限的时候如果有两个部分权限一样 我们可以:

chmod u=rwx,g=rwx
等价于 
chmod ug=rwx

8.文件或文件夹权限设置(数字)

经常会在网上看到类似于chmod 这样的命令,这种形式称之为数字形式权限

文件权限与数字的对应关系,我们会发现没有7这个数字

权限对应数字意义
r4可读
w2可写
x1可执行
-0没有权限

在chmod +数字中 :

第一个数字,代表文件拥有者权限

第二个数字,代表文件所属组内用户权限

第三个数字,代表其他用户权限

rwx = 4 + 2 + 1 = 7

rw = 4 + 2 = 6

rx = 4 + 1 = 5

案例:给设置权限,文件的拥有者rwx,组内用户rw,其他用户r

 rwx = 7rw = 6r = 4chmod 

案例:给shop文件夹设置777权限

chmod -R 777 shop

在设置权限时候,要确保权限的合理性

例如该命令chmod -R 731 shop

7 = 4 + 2 + 1 = rwx3 = 2 + 1 = wx1 = x

问题在权限731中的3权限,3表示写+执行权限,但是写又必须需要能打开之后才可以写,因此必须需要具备可读权限,因此此权限设置不合理

一般情况下,单独出现2、3的权限数字一般都是有问题的权限

另外在生产环境中,一般不允许出现777权限

5.属主与属组设置

1.什么是属主与属组

属主:所属的用户,文档所有者,这是一个账户,这是一个人

属组:所属的用户组,这是一个组

2.文件拥有者与所属组的查看

 # ls -l或# ll

3.了解文件的拥有者与文件所属组来源

在Linux操作系统中,每个文件都是由Linux系统用户创建的

在Linux操作系统中,每个用户都具有一个用户名称以及一个主组的概念

4.利用chown改变文件或目录的用户和用户组

chown命令来自英文词组“change owner”的缩写,其功能是用于改变文件或目录的用户和用户组信息

语法格式:chown [参数] 所属主:所属组 文件名

用法1:将文件的属主修改为其他用户

chown 将文件1.txt属主 修改为 zhangsan

用法2:同时修改文件的属主 属组

chown zhangsan:

5.利用chgrp更改文件所属用户组

chgrp命令来自英文词组”change group“的缩写,其功能是用于更改文件所属用户组。如仅需要修改文件所属用户组身份信息,则可以使用chgrp命令更快地完成

语法格式:chgrp [参数] 目录名

用法1:更改目录及其下所有文件的所属用户组为新的指定身份信息 chgrp -R Hrdir

用法2:修改文件的属组 chgrp

一般来说 chown和chgrp命令,只有root用户才可以使用,普通用户没有权限修改别人的文件所有者,也没有权限将自己文件的所有者修改为别人。

6.Linux特殊权限

1.设置位S(针对二进制文件)

设置位S的作用

为了让一般使用者临时具有该文件所属主/组的执行权限。

例如:/usr/bin/passwd在执行它的时候需要去修改/etc/passwd和/etc/shadow等文件,这些文件除了root外,其他用户都没有写权限,但是又为了能让普通用户修改自己的密码,该怎么办呢?

whereis命令,主要功能就是查询某个命令所在的路径,基本语法 => whereis passwd

it普通账号 => 执行/usr/bin/passwd => 修改/etc/shadow文件(存放用户的密码)

/etc/shadow文件比较特殊,其权限为— — —(000),除root外,其他人都没有权限

通过chmod命令修改s权限

chmod u-s/u+s /usr/bin/passwd

0755 最前面的0表示不使用任何特殊权限 用数字来代表特殊权限 可以使用 4表示s位

普通用户测试

去除S位权限

 chmod u-s /usr/bin/passwd 或者chmod 0755 /usr/bin/passwd

添加S位权限

 chmod u+s /usr/bin/passwd或者chmod 4755 /usr/bin/passwd

2.沾滞位T(针对文件夹)

chmod -R o+t 文件夹的名称
或
chmod -R 1777 文件夹的名称

主要功能:只允许文件的创建者和root用户删除文件(防止误删除权限位)

案例:/tmp文件夹,拥有最高权限777,比如it创建了一个文件在此目录,user用户可以对其进行删除操作,这种显然不太合适

7 = r + w + x = 可读、可写、可执行

移除粘滞位

 # chmod -R o-t /tmp或# chmod -R 0777 /tmp

添加粘滞位

 # chmod -R o+t /tmp或# chmod -R 1777 /tmp

7.ACL访问控制

ACL,是 Access Control List(访问控制列表)的缩写,在 Linux 系统中, ACL 可实现对单一用户设定访问文件的权限。

扩展:ACL权限可以针对某个用户,也可以针对某个组。ACL优势就是让权限控制更加的精准。

获取某个文件的ACL权限

getfacl 文件或目录名称

给某个文件设置ACL权限

setfacl 给文件针对某个用户 设置acl权限

语法格式:setfacl [参数] 文件或目录名

  • -m 修改acl策略

  • -x 去掉某个用户或者某个组的权限

  • -b 删除所有acl策略

  • -R 递归 通常用于目录中

mask 定义除other以及所有者外最大的权限

给单个用户单独增加权限 setfacl -m u:user:rwx file

给单个组单独增加权限 setfacl -m g:groupname:rwx file

去掉某个用户的权限:setfacl -x u:user file

去掉某个组的权限:setfacl -x g:groupname file

删除所有acl策略:setfacl -b file

8.umask - 管理权限掩码

umask命令来自英文词组“user file-creation mode mask”的缩写,其功能是用于管理权限掩码。umask中文常被译为文件掩码,权限掩码是由3个八进制的数字所组成,将现有的存取权限减掉权限掩码后,即可获得建立文件时预设的权限

例如当前Linux系统默认对于普通文件的存取权限为666,若将umask设定为022,则最终建立文件时权限为644。

语法格式:umask [参数] [权限掩码]

  • -p:输出的权限掩码可直接作为指令来执行
  • -S:使用文字来表示权限掩码

文件 666

目录 777

root umask值

目录文件
最大默认权限777 rwxrwxrwx666 rw-rw-rw-
umask022 ----w–w-022 ----w–w-
初始权限755 rwxr-xr-x644 rw-r–r–

普通用户umask值

目录文件
最大默认权限777 rwxrwxrwx666 rw-rw-rw-
umask002 -------w-002 -------w-
初始权限775 rwxrwxr-x664 rw-rw-r–

当umask 011 创建文件默认权限应该是 655 实际运行时会变成666

666 —> rw-rw-rw-

011 —> -----x–x

相减得

666 —> rw-rw-rw-

这个特殊情况只出现于文件

修改umask值

临时修改:umask umask值 umask 044

永久修改:

本文发布于:2024-03-14 14:03:06,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/1710823598149706.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:概念   Linux
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23