一,Vim编辑器三种模式

1、命令模式:在命令模式下,您可以执行Vim命令,例如复制、粘贴、搜索、替换等。

2、插入模式:在插入模式下,您可以插入文本。您可以在命令模式下输入“i”,以进入插入模式。

3、末行模式:在末行模式下,您可以执行命令,例如保存文件、退出编辑器等。您可以在命令模式下输入“:”,以进入末行模式。

二,vim相关操作

1. vim filename 打开或新建一个文件,并将光标置于第一行的首部

vim yunye

2. vim + filename 打开文件,并将光标置于最后一行的首部

vim + yunye

3. vim +n filename 打开文件,并将光标置于第 n 行的首部

vim +5 yunye

4.  进入文件输入gg,光标移动到首行。输入G光标移动到文件末行

5.  set nu 显示行号

6.  关键字查询“/关键字”

7.  :n1,n2 s/a1/a2/g 将文件中 n1 到 n2 行中所有 a1 都用 a2 替换

8.  保存退出文件

:wq 保存并退出 Vim 编辑器

:wq! 保存并强制退出 Vim 编辑器

:q 不保存就退出 Vim 编辑器

:q! 不保存,且强制退出 Vim 编辑器

:w 保存但是不退出 Vim 编辑器

:w! 强制保存文本

:w filename 另存到 filename 文件

x! 保存文本,并退出 Vim 编辑器

三, Linux中“用户”和“组”分别是什么?OS是如何识别每个用户的?操作系统保存用户和组的信息的方式主要有几种?

 linux中的用户:使用操作系统的人,在Linux系统中,每次登录系统都必须以一个用户的身份登录,并且登录后的权限也会根据用户身份来确定。 每一个进程在执        行时,也会有其用户,该用户也和进程所能控制的资源有关。

Linux系统中,一共有三种类型的用户组即:

1 . root用户:root用户是UID和GID都等于0的用户,在Linux系统中有最大的权限,相当于系统中的上帝;

2 . 系统用户:通常用于运行服务,但是此用户无家目录,也不能用于登录系统。例如,在yum安装apache、nginx等服务后,就会自动创建apache和nginx的用户和同名用                        户组。在CentOS6系统中,系统用户的UID范围是1-499,在CentOS7系统中,系统用户的ID是1-999。;

3 . 普通用户:普通用户只能由root用户创建,该用户拥有家目录,并且可以登录,该用户的权限由root分配。普通用户拥有指定的shell环境。

Linux中的用户组:具有相同系统权限的一组用户,可以赋予一组用户想要拥有的权限。

Linux用户和用户组的关系:每个用户都有自己的用户ID,称为UID,每个用户组也有自己的用户组ID,称为GID,UID和GID在Linux系统中是不可重复的。Linux系统就是通过UID和GID来对用户和组进行管理的,而对于管理员来说,往往会设置用户名和组名,这样使得用户和用户组的使用管理更人性化。

OS是识别每个用户: 基于ID的用户身份识别,在Linux系统下不同用户间的身份是靠它拥有一无二的ID来区分,ID是每个用户名称所对应的一个整数数字,这个数字也是用户权限的象征,ID值在一定范围内的用户它们就有相同的权限。

操作系统保存用户和组的信息的方式:

1,以文件的方式保存;

2,  以数据库方式保存;

3,  以ldap协议方式保存。

四,/etc/passwd,/etc/shadow,/etc/group,/etc/gshadow 中各个文件中详细字段,截图演示

1,/etc/passwd 存储用户基本信息

1.1   用户名:一串代表用户身份的字符串;

1.2  密码占位符:”x” 表示此用户设有密码,但这个不是真正的密码,只是用”x“来用作代替,真正的密码保存在 /etc/shadow 文件中;

1.3  UID:用户 ID,每个用户都有唯一的一个 UID,Linux 系统通过 UID 来识别不同的用户;

1.4  GID:全称“Group ID”,简称“组ID”,表示用户初始组的组 ID 号;

1.5   注释信息:没有什么重要的用途,只是用来解释这个用户的意义;

1.5   家目录:用户登录后有操作权限的访问目录,通常称为用户的主目录;

1.6   默认shell:可以把这个字段理解为用户登录之后所拥有的权限。如果这里使用的是 bash 命令解释器,就代表这个用户拥有权限范围内的所有权限。

2. /etc/shadow 存储用户的密码信息,又称为“影子文件”,只有 root 用户拥有读权限,其他用户没有任何权限。

2.1 用户名:同 /etc/passwd 文件的用户名有相同的含义;

2.2 用户密码:这里保存的是真正加密的密码。目前 Linux 的密码采用的是 SHA512 散列加密算法,原来采用的是 MD5 或 DES 加密算法. SHA512 散列加密算法的加密等级更高,也更加安全;

2.3 最近一次密码的修改时间:从1970年1月1号开始至上次修改密码时,中间所经过的天数;

2.4 密码最长使用期限:两次修改密码的最长时间间隔;在密码到期时必须要修改密码,99999表示不需要修改;

2.5 密码最短使用期限:表示用户必须经过多少天才能修改其口令;如果设置成0,则禁用此功能;

2.6 告警时间:提前多少天通知用户口令即将过期,默认提前7天;

2.7 帐号的非活动天数:口令过期后多久禁用此用户,也就是说系统不会再让此用户登录,也不会提示用户过期,而是完全禁用此用户账号;

2.8 账号过期时间:指定的时间到达,即锁定此账号(从1970年1月1号开始的天数),如果这个字段的值为空,表示此账号永久可用;

2.9 保留字段:一般为空,为Linux以后发展保留的字段。

3. /etc/group 存储组的用户信息

3.1 用户组名:用户组的名字;

3.2 组密码:”x” 表示此用户设有密码,但这个不是真正的密码,只是用”x“来用作代替,真正的密码保存在 /etc/shadow 文件中;

3.3 GID:全称“Group ID”,简称“组ID”,表示用户初始组的组 ID 号;

3.4 组内多个用户列表:每个群组包含的所有用户。需要注意的是,如果该用户组是这个用户的初始组,则该用户不会写入这个字段,可以这么理解,该字段显示的用户都是这个用户组的附加用户。

4. /etc/gshadow 存储组的密码信息

4.1 组名称:组的名称;

4.2 组密码:空或!表示没有密码;

4.3 组管理者:可以为空,如果有多个管理者用逗号隔开;

4.4 组成员:如果有多个成员,用逗号隔开;

从用户的角度来说,Linux中的组类型有两种:

1、私有组:也叫“基本组”,创建用户时如果不指明其基本组,则会默认创建与用户同名的基本组;

2、额外组:每个用户可以同时加入多个组,用户另外加入的组称为该用户的额外组(附加组)。

5. 创建下面的用户、组和组成员关系

1)创建名字为admin的组

2)用户xiaoming,使用admin作为附属组

3)用户xiaowang,使用admin作为附属组

4)用户xiaoguang,在系统上不能访问可交互的shell且不是admin成员,xiaoming/xiaowang/xiaoguang密码都是hello ,实现登录效果,并展示详细用户权限截图,附截图。

 


云野 » Linux基础

发表回复