Linu详尽基础命令和操作_第1页
Linu详尽基础命令和操作_第2页
Linu详尽基础命令和操作_第3页
Linu详尽基础命令和操作_第4页
Linu详尽基础命令和操作_第5页
已阅读5页,还剩84页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

安装Vmware和Linux系统

一、Vmware安装

1.下载Vmware

2.安装Vmware(下一步下一步就0K)

3.输入对应激活码:

~text

VM16激活许可证

ZF3R0MH曲2-M80TYr8Q¥GCAPK¥F

1.如果界面正常打开代表安装就OK

|@VMwareWorkstation

文件(D«SR(£)虎拟机(M)选项卡(I)®B1(H)©_i□口目

P在此处键入内携入尻投学

二Q我的计■机关于VMwareWorkstation16Pro/X

a□Mycat高可用架构

(□51

q产品信息7

[Q52产品:VMware®Worksweon16Pro

(□53

版本:16.1.2buid-17966i06

.19216&3.154

_(□55

“许可裱暂息

[QkubernetesOl-191

状毒:已许可

(□kubemetes02-192

吟kubemete$03-l93夷型:批量

(□192.1683.232ilffl:永不过胡

(□192.16&3.195E淞字服务

IQWindows10x64附加信息

D共享虚拟机(已弃用)

主机名称:LAPTOP-UEDI21UG

内像32636MB

王凯推作亭统廉本:Whdmvs10Pro,64-bt(Buid19O42.98S)10.0.19042

UI日志文件:C:\Uscrs\Admn5trator\AppData\LocaMemp\vmware-Admntstiator\vnware-tt-222O4,tog

Copypht©1998-2021VMware.Inc.保苗所有权利.

本产品爱美DB和国际版权及知识产权法保护•VMware产品获得hnp.ww/.vrmuare.con%^o?patentS-<n中列出的一项或

多项专利,

VMware是VMw^e,Inc.在美国和/或具fft法律落区的注资商标或高凝。

此处提到的他高根和名杵分别是K各自公司的同行。

I跄I

无法安装Vmware虚拟机

1、你的电脑不支持虚拟化或者是没有开启虚拟化

2、windowslO系统默认有一个虚拟机Hyper-V,把windows自带虚拟机给干掉

二、安装Linux系统

1.下载Linux

2.安装虚拟机网卡

“编辑-》虚拟网络编辑器”

修改宿主机Vmnet8网卡配置

Internet协议版本4(TCP/IPv4)屋性X

常规

如票网结支挎此功能.则可以获取白珈*派的IP设置.否则.你寿要从网

辂系统舌理身处获得适当的IP设置.

。与动装得IP地址(。)

⑥使用下面的IP地址⑸:f配置宿主机超发虚拟和地址

IPieiit(l):

子网掩痣(5:

默认网关(D):

自动五禹DNS服务=埴址(B)

⑥使用下面的DNS服务制地址(E):

首选DNS眼务器(P):

留用DNS展若IS(A):

口退出时验证设青

(L)漳级(V),

1.安装Linux系统

2.配置网卡信息,方便访问外网

vi/etc/sysconfig/network-scripts/ifcfg-ens32

未修改的

TYPE="Elhcrnel”

PROXYJIETHOD:“non。”

BROWSERJ3NLY;“no”

BOOTPROTO“dhcp”

DEFROUTE="yes”

IR¥4;FA-I认RE—FAT.AFA/'-

iPVGINIT:“yos”

IPV6_AUT0C0NF:“yes”

IPV6_DEFR0UTE:“yos”

IPV6_FAILURE_FATA*“no”

IPV6_ADDR_GENMODE=“stable-privacy”

NAME="ons32”

UUID="928523e£-3506-431d-b7ae-b25572be9630”

DEVICE="ons32”

ONBOOT="yes”

修改后的

坤即:"Etherne七乙

PROXY_METHOD="none”

BROWSER_ONLY="no”

BOOTPROT(4“sialic”•

DEFROUTE="yos”

明受阻人强臼卬触='、。”-

IPV6INIT="yes”

IPV6_DEFR0UTE="yes”

IPV6_FAILURE_FATAL="no”

邛¥6-ADBRrGEN_M0DE:"slabl—rivacy”

NAME:“ons32”

UUID="928523cf-3506-431d-b7ae-b25572be9630”

DEVICE:“ens32”

ONBOOT="yes”

IPADDRE92.168.110.12

GA¥EW*192.168.110.2

DNS1=8.8.8.8

DNS2=114.114.J44r444

1.测试网络是否ping通

・宿主机ping虚拟机

:\Users\Administrator>ping192.168.110.12

正在Ping192.168.110.12具有32字节的数据:

来自192.168.110.12的回复:字节=32时间<1msTTL=64

来自192.168.110.12的回复:字节=32时间=lmsTTL=64

来自192.168.110.12的回复:字节=32时间<lmsTTL=64

来自192.168.110.12的回复:学书=32时间=lmsTTL=64

192.168.110.12的Ping统计信息:

数据包:已发送4,已接收=4.丢失=0(0%丢失),

往返行程的估计时间(以毫秒为单位):

最短=0ms.最长=1ms.平均=0ms

•虚拟机ping宿主机

o查看宿主机IP

卜线局域网适配器WLAN:

连接特定的DNS后缀

本地链接IPv6地址.:fe80::19ce:2a8a:f303:6e61%13

IPv4地址:192.168.3.65

子网掩码:255.255.255.0

默认网关:192.168.3.1

oping宿主机

[root@iocalhostgerry]#ping192.168.3.65

PING192.168.3.65(192.168.3.65)56(84)bytesofdata.

64bytesfrom192.168.3.65:icmpseq=lttl=128ti(ne=0.337ms

64bytesfrom192.168.3.65:icmpseq=2ttl=128time»8.326ms

64bytesfrom192.168.3.65:icmp^seq=3ttl=128time=0.504ms

64bytesfrom192.168.3.65:icmpseq=»4ttl=1.28time=G.346ms

64bytesfrom192.168.3.65:icmpseq=5ttl=128time=0.338ms

Y

—192.168.3.65pingstatistics—

5packetstransmitted,5received,。七packetloss,time4。。3ms

rxtminzava/max/mdev=.0.320/0^369/0.504/。.fi&a_ms______________

Linux文件常用操作命令

一、Linux文件和目录简单操作

1.1查看文件

Is查看当前目录下的文件

如:

-a显示所有文件及目录(1s内定将文件名或目录名称开头为”的视为隐藏

档,不会列出)

-1除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出

-r将文件以相反次序显示(原定依英文字母次序)-t将文件依建立时间之先后

次序列出

-A同-a,老师(父目录)

-F在列出的文件名称后加一符号;例如可执行档则加“*”,目录则加“/”

-R若目录下有文件,则以下之文件亦皆依序列出

1.2创建文件

touch+文件路径/文件名创建普通文件

(文件路径:可以是相对路径也可以是绝对路径)

mkdir+目录路径/目录名创建目录文件

1.3删除文件

删除普通文件:rm+文件路径/文件名

删除目录文件

1、删除空目录rmdir+目录路径/目录名

rm-r+目录路径/目录名(-r是rm的参数)

2、删除非空目录

rm-r+目录路径/目录名

1.4文件复制与重命名

文件复制粘贴

语法:cp[options]source…directory

-a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的

所有内容。其作用等于dpR参数组合。

-d:复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。

-f:覆盖已经存在的目标文件而不给出提示。

-i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,

回答“y”时目标文件将被覆盖。

-P:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。

-r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文

件。

-1:不复制文件,只是生成链接文件。

1.5文件移动

语法:mv[options]source…directory

-i:若指定目录已有同名文件,则先询问是否覆盖旧文件;

-f:在mv操作要覆盖某已有的目标文件时不给任何指示;

二、Linux压缩/解压文件操作

1.zip

压缩文件

ziptest,ziptest,jpgtest.png

#将test,jpg和test,png压缩成一个zip包

ziptest,zip*・jpg

#将所有.jpg的文件压缩成一个zip包

压缩目录

zip-rtest.ziptest

#将文件夹test压缩成一个zip包

解压缩

unziptest.zip

#将test,zip中的所有文件解压出来

#^'E/home目录下面的mydata.zip解压到mydatabak目录里面

unzipmydata.zip-dmydatabak

2.rar

centos默认没有安装rar,需要安装。

wgethttps://www.rarlab.com/rar/rar1inux-x64~6.0.2.tar.gz

tar-zxvfrarlinux-x64-6.0.2.tar.gz

cdrar

make

如果wget的地址失效,到rar官网下载

http://www・rarsoft.com/download,htm

raratest.rartest,jpgtest,png

#这条命令是将test,jpg和test,png压缩成一个rar包

raratest,rar*・jpg

#这条命令是将所有.jpg的文件压缩成一个rar包

raratest,rartest

#这条命令是将文件夹test压缩成一个rar包

解压缩

unraretest,rar

#这条命令是将test,rar中的所有文件解压出来

unraretest,rar-w解压的指定目录

3.tar

打包文件

tar-cvffile,tar目录

#将目录打包成file,tar

解包

tarxvfxxx.tar

4.tar.gz

压缩文件

tar-zcvfxxx.tar.gz目录

#将目录添加到xxx.tar.gz

参数说吵

-Z:表示gz压缩

-C:建立新的存档

-X:从存档展开文件

-V:详细显示处理的文件;

-f:指定存档或设备

解压缩

tar-zxvfxxx.tar.gz

5.xz

压缩文件

xz-Z要压缩的文件

#如果要保留被压缩的文件加上参数-k,如果要设置压缩率加入参数-0到-

9调节压缩率。如果不设置,默认压缩等级是6.

解压缩

xz-d要解压的文件

#-k参数保留被解压缩的文件

6.tar.xz

创建tar.xz文件

#1.创建xxx.tar文件

tarcvfxxx.tarxxx/

#2.将xxx.tar压缩成为xxx.tar.xz

xz-zxxx.tar

解压tar.xz文件

#1.将xxx.tar.xz解压成xxx.tar

xz-dxxx.tar.xz

#2.再用tarxvfxxx.tar来解包

tarxvfxxx.tar

7.bz2

解压1:bzip2-dFileName.bz2

解压2:bunzip2FileName.bz2

压缩:bzip2-zFileName

.tar.bz2

解压:tarjxvfFileName.tar.bz2

压缩:tarjcvfFileName.tar.bz2DirName

8.bz

解压1:bzip2-dFileName.bz

解压2:bunzip2FileName.bz

压缩:未知

,tar.bz

解压:tarjxvfFileName.tar.bz

压缩:未知

9.Z

解压:uncompressFileName.Z

压缩:compressFileName

.tar.Z

解压:tarZxvfFileName.tar.Z

压缩:tarZcvfFileName.tar.ZDirName

三、Linux的权限控制

3.1.基础知识

Linux作为一种多用户的操作系统(服务器系统),允许多个用户同时登陆到系

统上,并响应每个用户的请求。

任何需要使用操作系统的用户,都需要一个系统账号,账号分为:**管理员账

号与普通用户账号。**

在Linux中,操作系统**根据UID来判断用!根据UID来判断用户!**而不是

用户名!**只要id为0就是管理员,哪怕有多个id为0的账号**

系统在新建账号时,会根据账号类型,自动分配递增账号的UID与GID(用户

身份编号,组编号),也可自行分配。**通常情况下,应当保证UID与GID唯一

且不重复。**

3.1.1组的类别

在Linux中,每个用户必须有一个主组。当创建账号时,系统会自动创建一个

同名组作为该账户的主组。用户必须属于一个且只有一个主组。用户可以属于

零个或者多个附加组。

3.1.2用户与组的配置文件

在Linux中,**万物皆文件**,所以用户与组也以配置文件的形式保存在系统

中,以下为用户和组的主要配置文件详解:

/etc/passwd:用户及其属性信息(名称、UID、主组ID等)

-/etc/group:组及其属性信息

-/etc/shadow:用户密码及其相关属性

-/etc/gshadow:组密码及其相关属性

passwd文件格式如下图:

依次含义为:

・登录用户名

・密码

・UID

・GID

•全名或注释

・用户主目录

・用户默认使用shell

group文件格式如下图:

[root@node02~]#cat/etc/group

root:x:0:

bin:x:l:

daemon:x:2:

sys:x:3:

adm:x:4:

tty:x:5:

disk:x:6:

依次含义为:

・群组名称

•群组密码(通常不需要设定,密码被记录在/etc/gshadow)

・GID:群组ID

・附加组(以,来分割,该账户没有附加组所以为空)

shadow文件格式如下图:

sarah:$6$ZwGNKTtO$i31E8.EpmX6nIMR6R9k8kx3i/Zt8HpiUiiiuzxl.Si

I.d/M7eGaRAJ81:17902:0:99999:7:::

依次含义为:

・登录用户名

・密码(通常使用shad512加密)

・从1970年1月1日起计算到现在为止密码最近一次被更改的时间

・密码再过几天就可以被修改(0表示随时可改)

・密码几天后必须变更(99999表示永不过期)

•密码过期前多久提示用户

・密码过期多久后账户将被锁定

・多少天后账户将失效(从1970-1-1算起)

gshadow文件格式如下图:

Father:

依次含义为:

・群组名称

・群组密码

・组管理员列表

・当前用户的附加组

3.2.用户账号管理

在Linux,管理员在默认情况下为root账户,UID=0o普通用户UID默认范围

为1-65535。在centos6中,新建用户,默认系统用户的UID范围为1499。

普通用户为500+。在centos7中,系统用户范围为1-999。普通用户为

1000+o**对系统的操作权限由用户决定。**

通常对用户账号的操作分为添加,修改,删除。

3.2.1添加账户

通过:useradd命令,来添加用户语法如下:

useradd[opentions]login

参数说明:

・-uUID自定义UID(默认系统递增)

--0配合-u选项,不检查UID的唯一性(不建议)

・-gGID:指明用户所属基本组,可为组名,也可以GID

•-ccomment指定一段注释性描述。

・-d目录指定用户主目录,如果此目录不存在,则同时使用-m选项,可

以创建主目录。

・-g用户组指定用户所属的用户组。

・-G用户组,用户组指定用户所属的附加组。

・-sShell文件指定用户的登录Shell。

・-u用户号指定用户的用户号,如果同时有-o选项,则可以重复使用其

他用户的标识号。

实例1

#useradd-d/usr/ddzddz

创建了一个用户ddz,并将他的家目录设置到/user/ddz

实例2

groupadd组名添加用户组

-g:添加组时指定组ID

groupmod组名修改用户组信息

-n:修改组名

-g:修改组ID

groupde1组名删除组

*如果一个组下有用户,那么这个组是无法删除的。

#useradd-s/sbin/bash-groot-Gmage,wangddz

此命令新建了一个用户ddz,设置该用户使用的shell为/sbin/bash,设置他的

主组属于group用户组,设置附加组为mage和wang。(**当设置组时,要保证

组已经存在,否则请先创建该组**)

小技巧:

・增加用户账号就是在/etc/passwd文件中为新用户增加一条记录,同时

系统会**自动更新**其他系统文件如/etc/shadow,/etc/group等。

・通常情况创建账户,账户ID会按照最大的值递增,但是递增的值必须在

最大范围内。

・在部署软件时,通常会需要使用账户,所以需要指定UID,来部署所有

的账号都用同一个UID,来方便管理。

•newusers[passwd格式文件]用于批量创建账户,只需要每一列账户信

息格式,按照passwd中书写,之后上传到Linux中替换即可。

•chpasswd批量修改用户口令。将文件格式写为:user:passwd。每行一

个,之后倒入linux即可。

•创建账户的默认值设定位于:/etc/default/useradd文件中,该文件

记录了创建用户账户时的默认信息,可通过修改该文件来修改创建账户

时的信息。

3.2.2删除帐号

如果一个用户的账号不再使用,可以从系统中删除。删除用户账号就是要将

/etc/passwd等系统文件中的该用户记录删除,必要时还删除用户的主目录。

通常在运维工作中,一般使用让账号失效,果然修改账户名的方式,来便捷的

操作账号。

删除一个已有的用户账号使用userdel命令,其格式如下:

userdel选项用户名

常用的选项是-r,它的作用是把用户的主目录一起删除。

例如:

#userdel-rsam

此命令删除用户sam在系统文件中(主要是/etc/passwd,/etc/shadow,

/etc/group等)的记录,同时删除用户的主目录。

删除账号需要该账户没有人在使用,才能删除成功。请使用命令删除,不要去

手动改文件。

3.2.3修改帐号

修改用户账号就是根据实际情况更改用户的有关属性,如用户号、主目录、用

户组、登录Shell等。

修改已有用户的信息使用usermod命令,其格式如下:

usermod选项用户名

常用的选项包括-c,-d,-m,-g,-G,-s,-u以及-o等,这些选项的意义与

useradd命令中的选项一样,可以为用户指定新的资源值。

另外,有些系统可以使用选项:-1新用户名

这个选项指定一个新的账号,即将原来的用户名改为新的用户名。

例如:

#usermod-s/bin/ksh-d/home/z-gdevelopersam

此命令将用户sam的登录Shell修改为ksh,主目录改为/home/z,用户组改为

developero

3.2.4查询账号口令

id[opentions][User]

相关参数:

•一u:显示UID

•-g:显示GID

•-G:显亨用户所属的组ID

•-n:显示名称

3.2.5用户口令的管理

用户管理的一项重要内容是用户口令的管理。用户账号刚创建时没有口令,但

是被系统锁定,无法使用(在passwd文件中,密码列显示为!!或者!表示用

户被锁定,是无法登陆的),必须为其指定口令后才可以使用,即使是指定空

口令。

指定和修改用户口令的Shell命令是passwd。超级用户可以为自己和其他用户

指定口令,普通用户只能用它修改自己的口令。命令的格式为:

passwd选项用户名

可使用的选项:

・-1锁定口令,即禁用账号。

•-u口令解锁。

•-d使账号无口令。

・-f强迫用户下次登录时修改口令。

如果默认用户名,则修改当前用户的口令。

例如,假设当前用户是sam,则下面的命令修改该用户自己的口令:

$passwd

Oldpassword:******

Newpassword:*******

Re-enternewpassword:*******

如果是超级用户,可以用下列形式指定任何用户的口令:

#passwdsam

Newpassword:*******

Re-enternewpassword:*******

普通用户修改自己的口令时,passwd命令会先询问原口令,验证后再要求用户

输入两遍新口令,如果两次输入的口令一致,则将这个口令指定给用户;而超

级用户为用户指定口令时,就不需要知道原口令。

为了系统安全起见,用户应该选择比较复杂的口令,例如最好使用8位长的口

令,口令中包含有大写、小写字母和数字,并且应该与姓名、生日等不相同。

为用户指定空口令时,执行下列形式的命令:

#passwd-dsam

此命令将用户sam的口令删除,这样用户sam下一次登录时,系统就不再询问

口令。

passwd命令还可以用-1(lock)选项锁定某一用户,使其不能登录,例如:

#passwd-1sam

利用组来简化授权操作,当对整个组授权时,整个组下的账号权限都会进行修

其他:用户相关的其他指令

chfn[USER]修改用户的备注文档

chsh[Shell]修改用户的指定shell

3.用户组

3.3.用户组的管理

每个用户都有一个用户组,**系统可以对一个用户组中的所有用户进行集中管

理**。不同Linux系统对用户组的规定有所不同,如Linux下的用户属于与它

同名的用户组,这个用户组在创建用户时同时创建。

用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上

就是对/etc/group文件的更新。

3.3.1增加组

1、增加一个新的用户组使用groupadd命令。其格式如下:

groupadd选项用户组

可以使用的选项有:

・g-GID指定新用户组的组标识号(GID)。

・-。一般与飞选项同时使用,表示新用户组的GID可以与系统已有用户

组的GID相同。

--r创建系统组

实例1:

#groupaddgroup1

此命令向系统中增加了一个新组group1,新组的组标识号是在当前已有的最大

组标识号的基础上加lo

实例2:

#groupadd-g101group2

此命令向系统中增加了一个新组group2,同时指定新组的组标识号是101o

3.3.2删除组

2、如果要删除一个已有的用户组,使用groupdel命令,其格式如下:

groupde1用户组

例如:

#groupdelgroup1

此命令从系统中删除组groupl。**要想删除组,要确保该组不是主组,才能把

这个组删掉。**

3.3.3修改组

3、修改用户组的属性使用groupmod命令。其语法如下:

groupmod选项用户组

常用的选项有:

・-gGID为用户组指定新的组标识号。

・-。与飞选项同时使用,用户组的新GID可以与系统已有用户组的GID

相同。

•-n新用户组将用户组的名字改为新名字

实例1:

#groupmod-g102group2

此命令将组group2的组标识号修改为102o

实例2:

#groupmod-g10000-ngroup3group2

此命令将组group2的标识号改为10000,组名修改为group3o

3.3.4切换组(临时切换主组)

4、如果一个用户同时属于多个用户组,那么用户可以在用户组之间切换,以便

具有其他用户组的权限。

用户可以在登录后,使用命令newgrp切换到其他用户组,这个命令的参数就是

目的用户组。例如:

$newgrproot

这条命令将当前用户切换到root用户组,前提条件是root用户组确实是该用

户的主组或附加组。类似于用户账号的管理,用户组的管理也可以通过集成的

系统管理工具来完成。

3.5更改查看组成员

5、可以通过以下命令,来更改和查看组中的成员

#groupmems[opentions][action]

参数如下:

・-g更改为指定组(只有root可以使用)

--a指定用户加入组

・-d从组中删除该用户

・-p从组中清楚所有成员

・-1显示组成员列表

实例1

$groupmems-1-groot

此命令表示查看root组中存在的成员。

实例2

$groupmems-aFather-groot

此命令表示将Father用户加入root组中。

小技巧:

・一个用户可以加入不同的组,但是有且只有一个主组。

・一个用户的权限为他所属的多个组的累加权限。假设user账户附加组

group1=writegroup2=read,那么user就拥有write+read权

限。

・组和用户的关系是多对多一个用户可以有多个组,一个组也可以有多个

用户。

•在windows中,只有管理员才允许对用户组进行操作,但在Linux中,

只要有组的口令,就可以让账号进入组。

・root组的权限与普通组权限大致相同!!账号并不是加入root组就能

获得用户权限!

3.4文件的权限控制

3.4.1文件权限与归属

在Linux系统中,每个文件都有归属的所有者和所有组,并且规定了文件的所

有者、所有组以及其他人对文件所拥有的读(r)、写(w)、执行(x)等权

限。对于一般文件来说,权限比较容易理解:“可读”表示能够读取文件的实

际内容;“可写”表示能够编辑、新增、修改、删除文件的实际内容;“可执

行”则表示能够运行一个脚本程序。但是,对于目录文件来说,理解其权限设

置来就不那么容易了。很多资深Linux用户其实也没有真正搞明白。对目录文

件来说,“可读”表示能够读取目录内的文件列表;“可写”表示能够在目录

内新增、删除、重命名文件;而“可执行”则表示能够进入该目录。可以参考

表格5-5,帮助同学们理解当文件和目录被设置rwx权限后,能够被执行的命

令的区别:

表5-5读写执行权限对于文件与目录可执行命令的区别

文件1

读取(r)cat

写入(w)vim

执行(X),/script

文件的读、写、执行权限英文全称分别是read、write、execute,可以简写为

r、w、x,亦可分别用数字4、2、1来表示,文件所有者,所属组及其他用户权

限之间无关联,如表5-6所示。

表5-6文件权限的字符与数字表示

权限项读写执行读写执彳

1

字符表示rWXrWX

数字表示421421

权限分配文件所属者文件所属组

文件权限的数字法表示基于字符(rwx)的权限计算而来,其目的是简化权限的

表示方式。例如,若某个文件的权限为**7**则代表可读、可写、可执行

(4+2+1);若权限为6则代表可读、可写(4+2)。我们来看这样一个例子。

现在有这样一个文件,其所有者拥有可读、可写、可执行的权限,其文件所属

组拥有可读、可写的权限;而且其他人只有可读的权限。那么,这个文件的权

限就是rwxrw-r-,数字法表示即为764。不过大家千万别再将这三个数字相

加,计算出7+6+4=17的结果,这是小学的数学加减法,不是Linux系统的权限

数字表示法,三者之间没有互通关系。

以rw-r-x-w-权限为例进行讲解,要想转换成数字法,首先要进行各个位之上

的数字替代,如图5T所示。

rw-

1

图5T字符与数字权限转换示意图

减号是占位符,代表这里没有权限,数字法用0表示,也就是说rw-转换后是

420,r-x转换后是401,-w-转换后是020,三组数字之间每组数字进行相加后

得出652便是转换后的数字法权限。

而数字法转回到字符权限相比来说就有些难度了,以652权限为例进行讲解。

首先数字6是由4+2得到的,不可能是4+1+1,因为每个权限只能占一位,所

以数字5则是4+1得到的,2便是本身,没有权限即是空值0,可以按照表5-6

所示的格式填写进去后得到420401020这样一串数字。有了这些信息就好办

了,如图5-2所示,把他们都转换回来。

图5-2数字与字符权限转换示意图

心中牢记一一文件的所有者、所有组和其他人权限之间无关联,不要写成

rrwwx—的样子,一定要把rwx权限位对应到正确的位置,写成rw-r-x-w-。

Linux系统的文件权限相当复杂,但是用途很广泛,建议大家把它彻底搞清楚

之后再学习下一节的内容。现在来练习一下。请各位读者分别计算数字表示法

764、652、153、731所对应的字符表示法,然后再把rwxrw-r-、rw-w-wx,

rw-r-r-转换成数字表示法。

下面我们利用上文讲解的知识,一起分析图5-3中所示的文件信息。

[root@localhostIs-Iinstall.log

-rw-r-r-1rootroot3429804-0200:2

文件类型访问权限siniSn

图5-3通过Is命令查看到的文件属性信息

在图5-3中,包含了文件的类型、访问权限、所有者(属主)、所属组(属

组)、占用的磁盘大小、最后修改时间和文件名称等信息。通过分析可知,该

文件的类型为普通文件,所有者权限为可读、可写(rw-),所属组权限为可读

(r-),除此以外的其他人也只有可读权限(r-),文件的磁盘占用大小是

34298字节,最近一次的修改时间为4月2日的凌晨23分,文件的名称为

install,logo

其中排在权限前面的减号(-)是文件类型,新手经常会把它跟无权限混淆。尽

管在Linux系统中一切都是文件,但是不同的文件由于作用不同,因此类型也

不尽相同,有一点点像Windows系统的后缀名。常见的文件类型包括有:普通

文件(-)、目录文件(d)、链接文件(1)、管道文件(p)、块设备文件

(b)以及字符设备文件(c)。

普通文件的范围特别广泛,比如纯文本信息、服务配置信息、日志信息以及

Shell脚本等等都包含在内,所以几乎在每个目录下都能看到普通文件(-)和

目录文件(d)的身影。块设备文件(b)和字符设备文件(c)一般是指硬件设

备,比如鼠标、键盘、光驱、硬盘等等都是设备文件,主要集中在/dev/目录中

最为常见,不过其实很少会对鼠标键盘进行硬件级别的管理吧~

3.4.2文件的特殊权限

在复杂多变的生产环境中,单纯设置文件的rwx权限无法满足我们对安全和灵

活性的需求,因此便有了SUID、SGID与SBIT的特殊权限位。这是一种对文件

权限进行设置的特殊功能,可以与一般权限同时使用,以弥补一般权限不能实

现的功能。

下面具体解释这3个特殊权限位的功能以及用法。

1.SUID

SUID是一种对二进制程序进行设置的特殊权限,能够让二进制程序的执行者临

时拥有属主的权限(仅对拥有执行权限的二进制程序有效)。例如,所有用户

都可以执行passwd命令来修改自己的用户密码,而用户密码保存在

/etc/shadow文件中。仔细查看这个文件就会发现它的默认权限是000,也就是

说除了root管理员以外,所有用户都没有查看或编辑该文件的权限。但是,在

使用passwd命令时如果加上SUID特殊权限位,就可让普通用户临时获得程序

所有者的身份,把变更的密码信息写入到shadow文件中。这很像在古装剧中见

到的手持尚方宝剑的钦差大臣,他手持的尚方宝剑代表的是皇上的权威,因此

可以惩戒贪官,但这并不意味着他永久成为了皇上。因此这只是一种有条件

的、临时的特殊权限授权方法。

查看passwd命令属性时发现所有者的权限由rwx变成了rws,其中x改变成s

就意味着该文件被赋予了SUID权限。另外有读者会好奇,那么如果原本的权限

是rw-呢?如果原先权限位上没有x执行权限,那么被赋予特殊权限后将变成

大写的So

[root@linuxprobeIs-1/etc/shadow

■.1rootroot1312Jul2105:08/etc/shadow

[root@linuxprobeIs-1/bin/passwd

-rwsr-xr-x.1rootroot34512Aug132018/bin/passwd

醒目的红色提醒告诫着用户一定要小心这个权限,因为一旦某个命令文件被设

置上了SUID权限,那么就意味着凡是执行的人都可以临时获取到更高的权限,

千万不要设置到vim、cat>rm等命令上面!!!

2.SGID

SGID特殊权限有两种应用场景,当对二进制程序进行设置时,能够让执行者临

时获取到文件所有组的权限;而对目录进行设置时,则是让目录内新创建的文

件自动继承该目录原有用户组的名称。

第一种功能是参考SUID而设计的,不同点在于执行程序的用户获取的不再是文

件所有者的临时权限,而是获取到文件所属组的权限。举例来说,在早期的

Linux系统中,/dev/kmem是一个字符设备文件,用于存储内核程序要访问的数

据,权限为:

cr-r1rootsystem2,1Feb112017kmem

大家看出问题了吗?除了root管理员或属于system组成员外,所有用户都没

有读取该文件的权限。由于在平时我们需要查看系统的进程状态,为了能够获

取到进程的状态信息,可在用于查看系统进程状态的ps命令文件上增加SGID

特殊权限位。查看ps命令文件的属性信息:

-r-xr-**s**r-x1binsystem59346Feb112017ps

这样一来,由于ps命令被增加了SGID特殊权限位,所以当用户执行该命令

时,也就临时获取到了system用户组的权限,从而顺利地读取到了设备文件。

前文提到,每个文件都有其归属的所有者和所属组,当创建或传送一个文件

后,这个文件就会自动归属于执行这个操作的用户(即该用户是文件的所有

者)。如果现在需要在一个部门内设置共享目录,让部门内的所有人员都能够

读取目录中的内容,那么就可以创建部门共享目录后,在该目录上设置SGID特

殊权限位。这样,部门内的任何人员在里面创建的任何文件都会归属于该目录

的所属组,而不再是自己的基本用户组。此时,用到的就是SGID的第二个功

能,即在某个目录中创建的文件自动继承该目录的用户组(只可以对目录进行

设置)。

[root@linuxprobecd/tmp

[root@linuxprobetmp]#mkdirtestdir

[root@linuxprobetmp]#Is-aidtestdir

drwxr-xr-x.2rootroot6Oct2723:44testdir

[root@linuxprobetmp]#chmod-R777testdir

[root@linuxprobetmp]#chmod-Rg+stestdir

[root@linuxprobetmp]#Is-aidtestdir

drwxrwsrwx.2rootroot6Oct2723:44testdir

在使用上述命令设置好目录的777权限(确保普通用户可以向其中写入文

件),并为该目录设置了SGID特殊权限位后,就可以切换至一个普通用户,然

后尝试在该目录中创建文件,并查看新创建的文件是否会继承新创建的文件所

在的目录的所属组名称:

[root@linuxprobetmp]#su-1inuxprobe

[1inuxprobe@linuxprobe[$cd/tmp/testdir

[1inuxprobe@linuxprobetestdir]$echo"”>test

[1inuxprobe@linuxprobetestdir]$Is-altest

-rw-rw-r一一.11inuxproberoot15Oct2723:47test

除了上面提到的SGID的这两个功能,再介绍两个与本小节内容相关的命令:

chmod和chowrio

chmod命令用于设置文件的一般权限及特殊权限,英文全称为:"change

mode",语法格式为:"chmod[参数]文件名”。

这是一个与日常设置文件权限强相关的命令,例如要把一个文件的权限设置成

其所有者可读可写可执行、所属组可读可写、其他人没有任何权限,则

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论