linux ---vim编辑&用户管理&权限

<0>.vim 编辑器

(1).普通模式:浏览文件,不可以编辑,只能浏览
(2)插入模式:对文件进行编辑

i 在光标所在位置插入	 I 在光标所在行行首插入
a 在光标下一位置插入        A 在光标所在行行尾插入
o 在光标所在行下一行插入     O 在光标所在行上一行插入
s 删除光标所在字符进行插入   S 删除光标所在行进行插入

(3)命令模式:临时更改vim的工作方式,对字符进行批量操作 p--->粘贴 u--->撤销 ctrl+r--->恢复撤销

 - 调整vim的文件设置
	:set nu     	---> 设置行号
	:set nonu       ---> 取消行号
	:set cursorline ---> 设置行线标识
	:set mouse=a    ---> 添加鼠标选择
注意:以上设置均为临时设置,永久生效需要修改vim配置文件/etc/vimrc

在这里插入图片描述
2).字符搜索
/关键字 n向下匹配 N向上匹配
在这里插入图片描述

3).字符的管理	
         (n)字母   (n)单词   (n)行   所有文件  结束 
字符的复制:y(n)l    y(n)w    y(n)y   yG     复制完成后按“P”粘贴
字符的删除:d(n)l    d(n)w    d(n)d   dG     ------
字符的剪切:c(n)l    c(n)w    c(n)c   cG     剪切之后vim会进入插入模式,要粘贴需要按[esc]退出插入模式,然后按p粘贴  
4).vim的可视化模式 ----> ----> I
	v	---> 字符可视化
	V 	---> 行可视化
	ctrl+v	---> 块可视化 (ctrl+v 批量选择字符; ctrl+v 选中要加入的字符所在的列 ;按大写的(I)键进入插入模式; 按[esc]结束)
5).字符的替换
:%s/要替换的字符/替换成的字符/g  g--->表示全局变量   eg::%s/westos/redhat/g 
:1,5s/westos/redhat/g       -----> 将1到5行的westos改变成redahat
:%s/原有字符/替换后字符	     -----> 只替换每一行中出现的第一个原有字符

在这里插入图片描述

		6).vim 的分屏功能
			ctrl+w s --->上下分屏 	ctrl+w v ---> 左右分屏 	ctrl+w c ---> 关闭光标所在的屏幕
			ctrl+w 上下左右 ---> 光标移动到指定屏幕	:sp file2 ---> 同时编辑当前文件和file2

在这里插入图片描述

7).在命令模式下光标的移动
gg ----> 光标移动到文件的第一行 ;  G  ---->  光标移动到文件的最后
8).vim的退出
 vimtutor--------> vim的手册 
:q  ---> 退出不保存,在文件内容没有改变时使用	        :wq  ---> 退出保存	
:q! ---> 强制退出不保存,在改变文件后不想保存时使用	:wq! ---> 强制退出保存,在对只读文件编辑时使用; 
	注意:所编辑的只读文件必须是当前用户的文件(root除外)    

<1>.图形编辑器gedit

crtl+n //新建窗口		ctrl+s //保存文件 	ctrl+o //打开文件 	
ctrl+x //剪切		ctrl+v //粘贴		ctrl+c //复制
对于giedit软件帮助的查看可以用yelp help:gedit

<2>.用户管理(id)

1查看当前用户 whoami
2系统中用户的查看

id     username ---> 查看指定用户的id所有信息  id -u  username ---> 查看用户的uid 	   
id -g  username ---> 查看用户的gid 	   id -G  username ---> 查看那用户的所有组id     
id -n  username ---> 显示名字而不是id数字
注意:-n 的使用必须和 -u|g|G 一起连接使用      eg:id -nu username

在这里插入图片描述

<3>.切换用户(su)

su  -  用户名称
	su  -  中“-”表示用户身份切换时同时切换当前用户环境
	su  -  执行高级用户切换到低级用户时不需要密码,低级用户切换到高级用户需要密码,平级用户切换也需要
	注意 : 每次su切换到其他用户操作完成之后退出,在切换到另外用户操作   退出--->exit | ctrl+d

在这里插入图片描述

<4>.用户在系统中的储存方式

/etc/passwd    ---> 用户信息文件	root   :   x   : 0 : 0 :  root :/root:/bin/bash
				用户名称:用户密码:uid:gid:说明文字:家目录:默认shell
/etc/group     ---> 用户组信息 	mail:  x  : 12  :postfix
				组名:组密码:组id:组成员
/etc/shadow    ---> 认证信息文件  (共9列)
      用户名称:用户密码:用户密码最后一次被更改的时间:用户密码最短有效期:用户密码最长有效期:密码警告期限:用户非活跃天数:用户到期日:用户自定义列
/etc/gshadow   ---> 组认证信息
       是/etc/group的加密信息文件
/home/username ---> 用户的家目录

<5>.用户管理命令 (useradd;userdel;usermod;groupadd;groupdel)

用户和用户组的监控命令 ---> watch -n 'tail -n 3 /etc/passwd /etc/group;ls -l /home/'

1).用户的建立 ( useradd )
	useradd -u 8888       username  ---> 创建新用户并且指定用户的id--->8888
	useradd -g 21         username  ---> 创建新用户并且指定用户的初始组id--->21,“21”用户组必须是已经存在的
	useradd -G 21         username  ---> 创建新用户并且指定用户的附加组id--->21,“21”用户组必须是已经存在的
	useradd -c “hello”    username  ---> 创建新用户并且指定用户的说明
	useradd -d /home/lee  username  ---> 创建新用户并且指定用户的家目录
	useradd -s /sbin/nologin username ---> 创建新用户并且指定用户的默认shell ; /etc/shells记录了用户能使用shell的名字
	eg: useradd -u 2341 -g 21 -G 21 -c "xiao li zi" -d /home/lee -s /bin/bash xiao

在这里插入图片描述

2).用户的删除 ( userdel )
	userdel    username ---> 删除已经存在的用户但不删除用户的配置信息
	userdel -r username ---> 删除已经存在的用户并且删除用户的配置信息

在这里插入图片描述

3).更改用户信息  ( usermod )
	usermod  -l new_username   old_username  	更改用户的名称
	usermod  -u 7865           old_username		更改用户的uid
	usermod  -g 78		   old _username	更改用户的初始组
	usermod  -G 78 		   old _username	更改用户的附加组
	usermod  -aG 78            old _username	添加用户的附加组
	usermod  -G ""		   old_username		删除用户的所有附加组
	usermod  -c "li_zi"        old_username		指定用户的说明文字
	usermod  -md /home/lee	   old  _username	更改用户的家目录
	usermod  -s /sbin/nologin  old_username		更改用户的shell
	usermod  -L                old_username		冻结用户,将不能登陆成功
	usernod  -U                old_username		解锁用户,将可以登陆

在这里插入图片描述

4).用户组的建立 ( groupadd )
	groupadd  	      new_group_name  ---> 创建新用户组
	groupadd -g 344       new_group_name  ---> 创建新用户组并且指定用户组的组id--->344
5).用户组的删除  ( groupdel )
	groupdel  old_group_name     ---> 删除用户组

在这里插入图片描述

<6>.用户密码(passwd)

监控passwd密码信息 -----> watch -n 1 passwd -S student

命令	参数	用户名称
passwd	  	student	        ---> 更改用户密码
passwd	-S	student		---> 用户密码信息
passwd	-l	student		---> 锁定密码,普通用户不能登陆帐号,root用户可以切换过去
passwd	-u	student		---> 解锁密码,普通用户可以登陆帐号
passwd  -e	student		---> 用户密码最短有效期限为0;用户在登陆时会被强制要求修改密码
passwd	-n 1	student		---> 设定密码最短有效期为一天,一天之内不能更改密码
passwd	-x 30	student		---> 设定密码最长有效期为三十天,三十天之后必须更改密码
passwd	-w 3	student		---> 警告期-->密码在过期前两天有警告输出
passwd	-i 2	student		---> 设定用户非活跃天数-->密码在过期后仍可以登陆系统的天数
passwd	-d	student		---> 清除用户密码
chage   -E 2018-09-23(日期) username ----> 用户在2018-09-23日到期,到期之后用户将不能登陆
	注意: 普通用户改密码时必须知道当前永久原始密码; 密码不能个帐号名称相似; 
	      密码不能是纯数字;   密码不能是有序的字母和数字的组合

在这里插入图片描述
在这里插入图片描述

<7>.文件权限

文件的监控: watch -n 1 ls -lR /mnt 监控目录/mnt里面的文件或者目录的变化,一秒更新一次

1).文件权限存在的意义
	系统最底层安全设定方式之一;   保证文件可以被相应的用户做相应的操作;linux中一切皆文件;
2).文件权限的查看
	ls  -l    file	查看文件的权限	ls  -ld   dir   查看目录的权限	
	ll        file  查看文件的权限	ll  -d    dir	查看目录的权限	

在这里插入图片描述

3).文件权限的读取
	d | rwxrwxr-x. | 4 | kiosk | kiosk | 32 | Sep 23 16:56 | linux
	- | rwxrwxr-x. | 1 | kiosk | kiosk |287 | Sep 21 18:43 | rht-view-desktop.desktop
	[1]    [2]  	[3]   [4]     [5]   [6]		[7]		[8]
	[1]:文件类型
		-: 空文件,或者空文本     d: 目录          l: 软链接     
		s:  socket套接字        b:block快设备    c:字符设备
	[2]:rwx | rwx | r-x.
	    (1)   (2)   (3)
		(1):[u]---> 文件拥有者对文件能做什么操作  (2):[g]---> 文件所属组对文件做什么操作  (3):[o]---> 其它人对文件做什么操作
	[3]:4
		 对文件:文件硬链接个数(文件内容被记录的次数)
		 对目录:目录中子目录的个数(不是文件)
	[4]:kiosk
		文件所有人
	[5]:kiosk
		文件所有组
	[6]:287	
		对文件:文件大小
		对目录:目录中字文件源数据大小
	[7]:Sep 23 16:56
		文件内容被修改的时间
	[8]:linux
		文件名称

<8>.如何修改文件的所有人个所有组 ( chown | chgrp )

文件的监控: watch -n 1 ls -lR /mnt

chown       user         file|dir      更改文件或者目录的所有人
chown 	    user.group   file|dir      更改文件或者目录的所有人和文件所在组
chown  -R   user.group   dir  	       递归更改目录的所有人和文件所在组
chgrp       group 	 file|dir      更改文件或者目录的文件所在组
chgrp  -R   group	 dir           递归更改目录的文件所在组

在这里插入图片描述

<9>.如何修改文件的权限

文件的监控: watch -n 1 ls -lR /mnt

1).对权限的理解
	r : 对文件---> 是否可以查看文件中的内容-->cat
	    对目录---> 是否可以查看目录中有什么子文件或子目录-->ls
	w : 对文件---> 是否可以改变文件里面记录的字符-->vim; gedit
	    对目录---> 是否可以对目录中子目录或者子文件源数据进行更改-->touch;mkdir;rm
	x : 对文件---> 是否可以通过文件名称调用文件内记录的程序
	    对目录---> 是否可以进入目录-->cd
2).更改方式
chmod [-R] <u|g|o><+|-|=><r|w|x> file|dir	
chmod u-x file1			--->file1拥有者去掉x权限
chmod g+w file1			--->file1拥有组添加w权限
chmod u-x,g+w file1		--->file1拥有者去掉x权,file1拥有组添加w权限
chmod ugo-r file2		--->file2的用户组其他人去掉r权限
chmod ug+x,o-r file3		--->file3用户和组添加x权限,其他人去掉r权限
chmod ug+x,o+wx file3		--->file3用户和组添加x权限,其他人加上wx权限
chmod u=rwx,o=rw- file3		--->file3用户拥有rwx权限,其他人拥有rw-权限

在这里插入图片描述

3).数字方式修改该文件权限(chmod)
	在linux中	r=4	w=2	x=1
文件权限数字表示方式	rw-|r--|r--
 			 u   g   o
	u=rw-=4+2+0=6	g=r--=4+0+0=4	o=r--=4+0+0=4
	所以文件权限表示为644
文件中权限用数字表示
	7=rwx	6=rw-	5=r-x	4=r--	3=-wx	2=-w-	1=--x	0=---
	chmod	修改后权限值	file
	chmod	777	file

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/hzyuhz/article/details/82865366