Linux运维基础学习-第三章

Linux运维基础学习-第三章


linux权限、磁盘、文件系统、进程

目录

3.1Linux用户权限

3.1.1用户与用户组文件

3.1.2添加切换删除用户组

3.1.3添加切换修改属性用户

3.2文件属性

3.3chmod、chown

3.3.1 chown

3.3.2chmod

3.4磁盘管理


3.1Linux用户权限

3.1.1用户与用户组文件

超级用户  普通用户  虚拟用户(伪用户,不能登录系统)

1.配置文件:/etc/passwd

字段含义:

用户名 密码 UID GID 注释性描述 主目录 默认shell

2.用户影子文件:/etc/shadow

字段含义:

       用户名 加密口令 最后一次修改时间 最小时间间隔 最大时间间隔 警告时间       不活动时间 失效时间 保留字段

3.用户组配置文件:/etc/group

4./etc/login.defs

       定义创建用户的默认设置(密码属性)

PASS_MAX_DAYS   99999    #密码最长过期时间

PASS_MIN_DAYS   0        #密码最短过期时间

PASS_MIN_LEN    5        #密码最小长度

PASS_WARN_AGE   7        #密码过期提前提醒时间

UID_MIN                   500    #uid最小值

UID_MAX                 60000    #uid最大值

GID_MIN                   500    #gid最小值

GID_MAX                 60000    #gid最小值

CREATE_HOME     yes    #是否同时建立家目录

UMASK           077    #创建后用户的权限掩码

USERGROUPS_ENAB yes    #创建用户时是否同时创建相同用户名的组

ENCRYPT_METHOD SHA512    #密码加密方式为SHA512

5./etc/default/useradd

useradd -D

GROUP=100    如果useradd没有指定组,并且/etc/login.defs中的USERGROUPS_ENAB为no或者useradd使用了-N选项时,此时该参数生效。创建用户时使用此组ID。

HOME=/home  主目录放在什么目录下

INACTIVE=-1   帐号是否过期

EXPIRE=        帐号终止日期

SHELL=/bin/bash 默认使用哪个shell

SKEL=/etc/skel  模板目录,骨架目录

CREATE_MAIL_SPOOL=yes  是否创建邮箱文件

6./etc/skel/

定义了新用户在主目录下的默认文件


3.1.2添加切换删除用户组

1.groupadd

groupadd 【-g -o】 gid group

2.newgrp

       newgrp <用户组>

       用于多个用户组间进行切换

3.groupdel

groupdel [群组名称]

3.1.3添加切换修改属性用户

1.useradd

useradd [-d home] [-s shell] [-c comment] [-m [-k template]] [-f inactive] [-e expire ] [-p passwd] [-r] name

主要参数:

-c:加上备注文字,备注文字保存在passwd的备注栏中。

  -d:指定用户登入时的主目录,替换系统默认值/home/<用户名>

  -D:变更预设值。

  -e:指定账号的失效日期,日期格式为MM/DD/YY,例如06/30/12。缺省表示永久有效。

  -f:指定在密码过期后多少天即关闭该账号。如果为0账号立即被停用;如果为-1则账号一直可用。默认值为-1.

  -g:指定用户所属的群组。值可以使组名也可以是GID。用户组必须已经存在的,期默认值为100,即users。

  -G:指定用户所属的附加群组。

  -m:自动建立用户的登入目录。

  -M:不要自动建立用户的登入目录。

  -n:取消建立以用户名称为名的群组。

  -r:建立系统账号。

  -s:指定用户登入后所使用的shell。默认值为/bin/bash。

  -u:指定用户ID号。该值在系统中必须是唯一的。0~499默认是保留给系统用户账号使用的,所以该值必须大于499。

2.usermod

usermod [-LU][-c <备注>][-d <登入目录>][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-l <帐号名称>][-s <shell>][-u <uid>][用户帐号]

参数说明:

 

-c<备注>  修改用户帐号的备注文字。

-d登入目录>  修改用户登入时的目录。

-e<有效期限>  修改帐号的有效期限。

-f<缓冲天数>  修改在密码过期后多少天即关闭该帐号。

-g<群组>  修改用户所属的群组。

-G<群组>  修改用户所属的附加群组。

-l<帐号名称>  修改用户帐号名称。

-L  锁定用户密码,使密码无效。

-s<shell>  修改用户登入后所使用的shell。

-u<uid>  修改用户ID。

-U  解除密码锁定。

3.userdel

user [-r] [用户账号]

-r不仅删除用户且删除用户的目录及文件


3.2文件属性

Linux/Unix 的文件调用权限分为三级 : 文件所有者(Owner)、用户组(Group)、其它用户(Other Users

https://www.runoob.com/wp-content/uploads/2014/08/file-permissions-rwx.jpg

只有文件所有者和超级用户可以修改文件或目录的权限。可以使用绝对模式(八进制数字模式),符号模式指定文件的权限。

https://www.runoob.com/wp-content/uploads/2014/08/rwx-standard-unix-permission-bits.png

3.3chmod、chown

3.3.1 chown

chown 【-R】用户名 文件或目录

chown 【-R】用户名:用户组 文件或目录

改变文件或目录的用户和用户组

3.3.2chmod

chmod [who] [+ - =] [mode] 文件名

u 表示该文件的拥有者,g 表示与该文件的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。

+ 表示增加权限、- 表示取消权限、= 表示唯一设定权限。

r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行。

其他参数说明:

-c : 若该文件权限确实已经更改,才显示其更改动作

-f : 若该文件权限无法被更改也不要显示错误讯息

-v : 显示权限变更的详细资料

-R : 对目前目录下的所有文件与子目录进行相同的权限变更(即以递归的方式逐个变更)

--help : 显示辅助说明

--version : 显示版本

 

 


3.4磁盘管理

磁盘的分区大致可以分为三类,分别为主分区、扩展分区和逻辑分区等等

Linux系统中,每个磁盘中有一部分叫做MBR主引导记录

MBR:

大小512字节,分为三部分

主引导程序:446字节

硬盘分区表:64字节

分区结束标记(硬盘有效位):2字节

分区表DPT需要特别注意

DPT的大小是64字节,每个主分区要占用16字节,扩展分区也要占用16个字节的主分区空间,所以每个磁盘上最多只能建立四个主分区

为了突破这最多四个主分区的限制,Linux系统引入了扩展分区的概念。即管理员可以把其中一个主分区设置为扩展分区(注意只能够使用一个扩展分区)来进行扩充。而在扩充分区下,又可以建立多个逻辑分区。也就是说,扩展分区是无法直接使用的,必须在细分成逻辑分区才可以用来存储数据。通常情况下,逻辑分区的起始位置及结束位置记录在每个逻辑分区的第一个扇区,这也叫做扩展分区表。在扩展分区下,系统管理员可以根据实际情况建立多个逻辑分区,将一个扩展分区划割成多个区域来使用

https://img-blog.csdnimg.cn/20181227185314655

在上图中,四个主分区记录区仅使用其中两个,P2通过扩展分区,分配出五个逻辑分区。

扩展分配的目的是使用额外的磁区来记录分割信息,扩展分配本身并不能被拿来格式化。

其在Linux系统中文件名如下:

P1: /dev/hda1

P2: /dev/hda2

L1: /dev/hda5

L2: /dev/hda6

L3: /dev/hda7

L4: /dev/hda8

L5: /dev/hda9

其中没有出现/dev/hda3与/dev/hda4,是因为前面四个数字保留给主分区/扩展分区使用

3.4.1磁盘的表示方法

1.主设备号+次设备号+磁盘分区编号

IDE硬盘:hd[a-z]x

scsi硬盘: sd[a-z]x

2.主设备号+[0-n],y

IDE硬盘:hd[0-n],y

scsi硬盘: sd[0-n],y

3.4.2磁盘分区工具fdisk和parted 区别

1.fdisk

(1)fdisk命令只支持msdos,分区的时候只支持小容量硬盘(<=2T),但是如果不需要分区的话,那么整块sdb硬盘,类型为msdos,那么他的大小是可以大于2T的。

(2)fdisk命令不支持gpt,所以当使用fdisk命令给gpt类型硬盘分区是会出现告警

(3)当使用parted命令给一个5T的硬盘分好三个分区之后,在使用fdisk命令查看,会不兼容(parted打印的分区有三个,而fdisk命令打印的分区只有一个)


格式: fdisk   [-l]  [-b SSZ] [-u] device

选项:

-l 查询指定设备

-b SSZ 将指定的分区大小输出到标准输出,单位为区块

-u 一般与-l配个使用,显示结果将用扇区数目取代柱面数目

#自动分区脚本
fdisk /dev/vdb << EOF
n
p
1


wq
EOF

mkfs.xfs  /dev/vdb1
[ ! –d  /data] && mkdir /data
cat  >>  /etc/fstab  << EOF 
/dev/vdb1  /data  xfs defaults 0 0 
EOF
mount –a

fdisk -m

命令说明
a设置可引导标记
b编辑 bsd 磁盘标签
c设置 DOS 操作系统兼容标记
d删除一个分区
l显示已知的文件系统类型。82 为 Linux swap 分区,83 为 Linux 分区
m显示帮助菜单
n新建分区
o建立空白 DOS 分区表
p显示分区列表
q不保存退出
s新建空白 SUN 磁盘标签
t改变一个分区的系统 ID
u改变显示记录单位
v验证分区表
w保存退出
x附加功能(仅专家)

2、parted:

(1)支持msdos和gpt,可以支持大硬盘,也支持小硬盘。

(2)区分parted命令给msdos类型和gpt类型硬盘分区的不同:

与支持最大卷为2TB并且每个磁盘最多有4个主分区(或3个主分区,1个扩展分区)的MBR磁盘分区样式相比,GPT磁盘分区样式支持最大卷128EB并且每磁盘的分区数没有上限,只受到操作系统限制。另外,GPT分区磁盘有备份分区表来提高分区数据结构的完整性。

https://img-blog.csdn.net/20180717133748378?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ZyZWUwNTA0NjM=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70

下面是parted给msdos类型硬盘分区

下面是parted给gpt类型硬盘分区:

3、msdos

支持小于2T的硬盘,不支持大于2T的硬盘

有主分区,扩展分区,逻辑分区

如果使用fdisk命令给一个大于2T的msdos类型硬盘分区,只能给2T的部分分区,超过2T的部分不能使用,也就浪费了。

4、gpt

支持大小容量的硬盘

不区分主分区,扩展分区,逻辑分区,也没有4个分区数量的限制


3.5NFS(网络文件系统)

可以透过网络,让不同的机器、不同的操作系统、可以彼此分享个别的档案 (share files)

3.5.1安装

查询

[root@localhost ~]# rpm -qa | grep rpcbind
rpcbind-0.2.0-42.el7.x86_64
[root@localhost ~]# rpm -qa | grep nfs
nfs-utils-1.3.0-0.48.el7.x86_64
libnfsidmap-0.25-17.el7.x86_64
nfs4-acl-tools-0.3.3-15.el7.x86_64

安装 

 yum -y install nfs-utils rpcbind

3.5.2 NFS server 端设置

1.配置文件

/etc/exports

 参数 说明

(1) Ro 该主机对该共享目录有只读权限

(2) Rw 该主机对该共享目录有读写权限

(3) Root_squash 客户机用root用户访问该共享文件夹时,将root用户映射成匿名用户

(4) No_root_squash 客户机用root访问该共享文件夹时,不映射root用户

(5) All_squash 客户机上的任何用户访问该共享目录时都映射成匿名用户

(6) Anonuid 将客户机上的用户映射成指定的本地用户ID的用户

(7) Anongid 将客户机上的用户映射成属于指定的本地用户组ID

(8) Sync 资料同步写入到内存与硬盘中

(9) Async 资料会先暂存于内存中,而非直接写入硬盘

(10) Insecure 允许从这台机器过来的非授权访问
 
(11) subtree_check 如果共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认)

(12) no_subtree_check 和上面相对,不检查父目录权限

(13) wdelay 如果多个用户要写入NFS目录,则归组写入(默认)

(14 )no_wdelay 如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置。

(15) hide 在NFS共享目录中不共享其子目录

(16) no_hide 共享NFS目录的子目录

(17) secure NFS通过1024以下的安全TCP/IP端口发送

(18) insecure NFS通过1024以上的端口发送


sudo vi /etc/exports


/etc/exports文件的内容如下:

/tmp *(rw,sync,no_subtree_check,no_root_squash)

/data *(rw,sync,no_subtree_check,no_root_squash)

/logs *(rw,sync,no_subtree_check,no_root_squash)

/ user01(rw) user02(rw,no_root_squash) 表示共享服务器上的根目录(/)只有user01和user02两台主机可以访问,且有读写权限;user01主机用root用户身份访问时,将客户机的root用户映射成服务器上的匿名用户(root_squash,该参数为缺省参数),相当于在服务器使用nobody用户访问目录;user02主机用root用户身份访问该共享目录时,不映射root用户(no_root_squash),即相当于在服务器上用root身份访问该目录

  /root/share/ 192.168.1.2(rw,insecure,sync,all_squash) 表示共享服务器上的/root/share/目录只有192.168.1.2主机可以访问,且有读写权限;此主机用任何身份访问时,将客户机的用户都映射成服务器上的匿名用户(all_squash),相当于在服务器上用nobody用户访问该目录(若客户机要在该共享目录上保存文件(即写操作),则服务器上的nobody用户对该目录必须有写的权限)

  /home/ylw/ .test.com (rw,insecure,sync,all_squash) 表示共享/home/ylw/目录,.test.com域中所有的主机都可以访问该目录,且有读写权限

  /home/share/ .test.com (ro,sync,all_squash,anonuid=zh3,anongid=wa4) 表示共享目录/home/share/,*.test.com域中的所有主机都可以访问,但只有只读的权限,所有用户都映射成服务器上的uid为zh3、gid为wa4的用户


2、启动nfs和rpcbind服务、检测服务状态、已经设置服务开机启动

启动服务:

#service rpcbind start
#service nfs start  

检查启动状态:

#service rpcbind status  
#service nfs status 

3、检测服务器的nfs状态

# showmount -e  localhost     查看自己共享的服务  
Export list for hostname: 
/usr/local/static *

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值