Unit4 linux定向及通道;vim操作补充;用户操作补充

####################################################

                   一,定向及通道

####################################################

首先来看一条指令:

find /etc -name passwd

表示在/etc目录下查找名字是passwd的文件,得到结果

find: ‘/etc/pki/CA/private’: Permission denied  //无法找到,表示错误结果

find: ‘/etc/pki/rsyslog’: Permission denied

find: ‘/etc/dhcp’: Permission denied

/etc/passwd                  //表示找到的正确结果     

find: ‘/etc/lvm/archive’: Permission denied

find: ‘/etc/lvm/backup’: Permission denied

find: ‘/etc/lvm/cache’: Permission denied

find: ‘/etc/selinux/targeted/active’: Permission denied

find: ‘/etc/selinux/final’: Permission denied

/etc/pam.d/passwd

find: ‘/etc/polkit-1/rules.d’: Permission denied

find: ‘/etc/polkit-1/localauthority’: Permission denied

find: ‘/etc/grub.d’: Permission denied

find: ‘/etc/redhat-access-insights’: Permission denied

find: ‘/etc/libvirt’: Permission denied

find: ‘/etc/ipsec.d’: Permission denied

find: ‘/etc/audisp’: Permission denied

find: ‘/etc/audit’: Permission denied

find: ‘/etc/firewalld’: Permission denied

find: ‘/etc/sudoers.d’: Permission denied

find: ‘/etc/virt-who.d’: Permission denied

我们可以通过一些指令,对输出结果进行操作,改变find之类命令结果的表示方法,首先需要了解在linux系统中‘1’表示正确,‘2’表示错误。

1.重定向输出:覆盖文件之前的内容

正确输出

find /etc -name passed >file

find /etc -name passed 1>file

可以在结果中光显示错误的输出,而正确结果导入到file文件中,

find: ‘/etc/pki/CA/private’: Permission denied

find: ‘/etc/pki/rsyslog’: Permission denied

find: ‘/etc/dhcp’: Permission denied

find: ‘/etc/lvm/archive’: Permission denied

find: ‘/etc/lvm/backup’: Permission denied

find: ‘/etc/lvm/cache’: Permission denied

find: ‘/etc/selinux/targeted/active’: Permission denied

find: ‘/etc/selinux/final’: Permission denied

find: ‘/etc/polkit-1/rules.d’: Permission denied

find: ‘/etc/polkit-1/localauthority’: Permission denied

find: ‘/etc/grub.d’: Permission denied

find: ‘/etc/redhat-access-insights’: Permission denied

find: ‘/etc/libvirt’: Permission denied

find: ‘/etc/ipsec.d’: Permission denied

find: ‘/etc/audisp’: Permission denied

find: ‘/etc/audit’: Permission denied

find: ‘/etc/firewalld’: Permission denied

find: ‘/etc/sudoers.d’: Permission denied

find: ‘/etc/virt-who.d’: Permission denied

通过cat指令查看file内容:

[kiosk@foundation30 ~]$ cat file

/etc/passwd

/etc/pam.d/passwd

错误输出

find /etc -name passed 2>file

仅仅显示正确输出,而错误内容导入了file文件

[kiosk@foundation30 ~]$ find /etc -name passwd 2>file

/etc/passwd

/etc/pam.d/passwd

因为指令采用的是重定向,所以会将file原先的内容清空,随意这条指令下file的内容只有错误的输出,

[kiosk@foundation30 ~]$ cat file

find: ‘/etc/pki/CA/private’: Permission denied

find: ‘/etc/pki/rsyslog’: Permission denied

find: ‘/etc/dhcp’: Permission denied

find: ‘/etc/lvm/archive’: Permission denied

find: ‘/etc/lvm/backup’: Permission denied

find: ‘/etc/lvm/cache’: Permission denied

find: ‘/etc/selinux/targeted/active’: Permission denied

find: ‘/etc/selinux/final’: Permission denied

find: ‘/etc/polkit-1/rules.d’: Permission denied

find: ‘/etc/polkit-1/localauthority’: Permission denied

find: ‘/etc/grub.d’: Permission denied

find: ‘/etc/redhat-access-insights’: Permission denied

find: ‘/etc/libvirt’: Permission denied

find: ‘/etc/ipsec.d’: Permission denied

find: ‘/etc/audisp’: Permission denied

find: ‘/etc/audit’: Permission denied

find: ‘/etc/firewalld’: Permission denied

find: ‘/etc/sudoers.d’: Permission denied

find: ‘/etc/virt-who.d’: Permission denied

 

所有输出

find /etc -name passed &>file

表示正确和错误的输出都导入了file文件中,在终端中没有结果显示。

2.追加输出:

不会覆盖,将后续内容添加到文件的末尾

find /etc -name passwd 1>file

find /etc -name passwd 2>>file

cat file   //相当于file中同时加入所有输入

/etc/passwd

/etc/pam.d/passwd

find: ‘/etc/pki/CA/private’: Permission denied

find: ‘/etc/pki/rsyslog’: Permission denied

find: ‘/etc/dhcp’: Permission denied

find: ‘/etc/lvm/archive’: Permission denied

find: ‘/etc/lvm/backup’: Permission denied

find: ‘/etc/lvm/cache’: Permission denied

find: ‘/etc/selinux/targeted/active’: Permission denied

find: ‘/etc/selinux/final’: Permission denied

find: ‘/etc/polkit-1/rules.d’: Permission denied

find: ‘/etc/polkit-1/localauthority’: Permission denied

find: ‘/etc/grub.d’: Permission denied

find: ‘/etc/redhat-access-insights’: Permission denied

find: ‘/etc/libvirt’: Permission denied

find: ‘/etc/ipsec.d’: Permission denied

find: ‘/etc/audisp’: Permission denied

find: ‘/etc/audit’: Permission denied

find: ‘/etc/firewalld’: Permission denied

find: ‘/etc/sudoers.d’: Permission denied

find: ‘/etc/virt-who.d’: Permission denied

3.管道

表示前一个命令的输出作为后续命令的操作,管道命令只能通过正确的输出内容

tee file    //复制输出到指定位置

#########通过通道后将内容放入correct#########

[kiosk@foundation30 ~]$ find /etc -name passwd | tee correct  

find: ‘/etc/pki/CA/private’: Permission denied

find: ‘/etc/pki/rsyslog’: Permission denied

find: ‘/etc/dhcp’: Permission denied

find: ‘/etc/lvm/archive’: Permission denied

find: ‘/etc/lvm/backup’: Permission denied

find: ‘/etc/lvm/cache’: Permission denied

find: ‘/etc/selinux/targeted/active’: Permission denied

find: ‘/etc/selinux/final’: Permission denied

find: ‘/etc/polkit-1/rules.d’: Permission denied

find: ‘/etc/polkit-1/localauthority’: Permission denied

find: ‘/etc/grub.d’: Permission denied

find: ‘/etc/redhat-access-insights’: Permission denied

find: ‘/etc/libvirt’: Permission denied

find: ‘/etc/ipsec.d’: Permission denied

find: ‘/etc/audisp’: Permission denied

find: ‘/etc/audit’: Permission denied

find: ‘/etc/firewalld’: Permission denied

find: ‘/etc/sudoers.d’: Permission denied

find: ‘/etc/virt-who.d’: Permission denied

/etc/passwd

/etc/pam.d/passwd

[kiosk@foundation30 ~]$ cat correct   //correct文件中只有只有正确的输出

/etc/passwd

/etc/pam.d/passwd

################################################

                 二,vim操作补充

################################################

Vim可以是类似于word一样的文件编译页面,之前介绍过vim查看的基础操作,这次在vim中通过一些设定可以使我们编辑文件更加方便。

1.设定操作工具

临时配置:

在vim模式下,

:set nu  添加行号

:set nonu  取消行号

:set mouse=a 添加光标

:set cursor 添加下划线

Eg:

  1 /etc/passwd

  2 /etc/pam.d/passwd

  3 find: ‘/etc/pki/CA/private’: Permission denied

  4 find: ‘/etc/pki/rsyslog’: Permission denied

  5 find: ‘/etc/dhcp’: Permission denied

  6 find: ‘/etc/lvm/archive’: Permission denied

  7 find: ‘/etc/lvm/backup’: Permission denied

  8 find: ‘/etc/lvm/cache’: Permission denied

  9 find: ‘/etc/selinux/targeted/active’: Permission denied

 10 find: ‘/etc/selinux/final’: Permission denied

 11 find: ‘/etc/polkit-1/rules.d’: Permission denied

 12 find: ‘/etc/polkit-1/localauthority’: Permission denied

 13 find: ‘/etc/grub.d’: Permission denied

 14 find: ‘/etc/redhat-access-insights’: Permission denied

 15 find: ‘/etc/libvirt’: Permission denied

 16 find: ‘/etc/ipsec.d’: Permission denied

 17 find: ‘/etc/audisp’: Permission denied

 18 find: ‘/etc/audit’: Permission denied

 19 find: ‘/etc/firewalld’: Permission denied

 20 find: ‘/etc/sudoers.d’: Permission denied

 21 find: ‘/etc/virt-who.d’: Permission denied

~                                                                               

~                                                                               

:set nu    ##命令:加入行号

永久修改:

在/etc/vimrc文件中是vim的配置信息,在文件的最后加入指令就能永久改变配置

set nu  

set mouse=a

set cursor

 vim /etc/vimrc

更改之后就能显示行号,下划线还有移动光标的功能。

2.vim模式编辑操作

关键字的匹配

:/+关键字

n 向下匹配i

N向上匹配

光标的移动

在vim命令模式下

:+数字   移动到某一行

G       移动到最后一行

gg       移动到第一行

3.vim模式下字符的管理

字符复制,

yy 复制一行 

yl 复制一个字母

yw  复制一个单词

p 粘贴

u 撤销

而在复制的指令中加入数字可以选择复制个数,如

Vim passwd    ##打开passwd文件

使用y3l复制最后一行3个字母放到下一行,

字符的删除

dd  删除一行

dl  删除一个单词  

dw 删除一个单词

同样在字母之间加一个数字可以表示多量删除

字符的剪切

剪贴后会自动进入insert模式,需要按esc退出,才能进行粘贴。

cc剪切一行

cl

cw

批量修改

:%s/原有字符/替换后字符   只替换每一行中第一个字符

:%s/原有字符/替换后字符/g   替换所有字符

:1,5s/原有字符/替换后字符/g   替换一到五行的所有字符

Eg:

将2-25行所有的:替换为$

:2,25s/:/$/g

4.vim的可视化模式

在vim命令模式下按ctrl+v可以进入可视化模式,在这个模式下可以进行区域选择、批量添加、删除操作

注意按列区域选择

进入可是化模式后,用鼠标选择想要的列,然后ctrl+V进行选择,注意是大写的V

然后按i进入insert模式,输入要加入的字符,按两下esc就可以了。

Vim的分屏

ctrl+w 然后松手加上指令,

s 上下分屏

v 左右分屏

c 关闭光标所在屏幕

vim进入插入模式的不同命令

i   //在光标所在位置进入插入模式

I   //在光标所在行的行首

a   //所在字符下一个位置

A   //所在行行尾

o   //下一行

O   //上一行

s   //删除光标所在字符并进入插入模式

S   //删除光标所在行并进入插入模式

在退出vim模式有以下几种指令

先按下esc

:q     退出

:wq    保存退出

:q!    强制退出

:wq!   强制保存退出

####################################################

                      三,用户操作补充

####################################################

1.更改用户信息

usermod

-l    用户名

-u    uid

-g   初始组

-G   附加组 更改或增加

-aG  增加附加组

-c ‘。。’ rsy   用户说明

-d   家目录

-s   shell

-L   封号

-U   解封

其中,注意-aG表示增加一个附加组,即用户可以拥有多个附加组

首先打开一个观察窗口,

Watch -n 1 ‘tail -n 3 /etc/passwd /etc/group;ls -l /home’

Usermod -u 233 rsy

更改用户的uid为233

2.用户权力下放

一般非超级用户(root)不能使用一些命令,如useradd,这是超出他权限的操作,

[kiosk@foundation30 ~]$ useradd rsy

bash: /usr/sbin/useradd: Permission denied

而在系统中超级用户可以下放给普通用户不能执行的操作->普通用户

下放配置的文件:/etc/sudoers

方法

a.超级用户执行visudo进入编辑etc/sudoers模式

b.格式

rsy   hostname=(root)  NOPASSWD: /usr/sbin/useradd  

获得权限的用户  主机名称=(获得身份)   指令地址

Hostname指令可以得到自己的主集名称

而查看命令的地址可以使用:

which useradd

c.在完成修改后,运行

su - rsy

sudo useradd dabing

就可以在普通用户使用useradd命令,建立新的用户dabing

NOPASSWD:表示调用sudo命令是不需要密码

3.认证信息的控制

/etc/shadow文件中存放有用户的认证信息

这几项是:

用户名:密码:最后一次密码修改时间:最短有效期:最长有效期:警告期:非活跃期:帐号到期日期

修改认证信息:

Change -m 10 rsy   ##最短有效期

-W    ##警告期

-M    ##最长有效期

-I     ##非活跃天书

-E    ##到期日期   格式‘2019-01-01’

chage -d 0 student

登陆系统时需要重新设定密码,必须为8位

 

########修改root密码##############

1.启动系统

2.在启动阶段,按e键编辑启动引导

3.在linux16这一行删除该行ro之后的内容,并改为rw,添加rd.break

4.ctrl+x启动系统设定后的引导项目

5.

chroot /sysroot   ##切换到真实的系统环境

6.

passwd root     ##修改超级用户的密码

7.

touch  /.autolabel   ##重新扫描所有文件

8.再进行两次exit

猜你喜欢

转载自blog.csdn.net/weixin_41884844/article/details/85786278