VIM文件编辑器
相比图形界面编辑器,命令行编辑器的优势是可以通过任何shell、字符终端或SSH连接来使用,不需要图形界面。 Vim文本编辑器,具有使用简单、功能强大、是Linux众多发行版的默认文本编辑器等特点。 ?
VIM新建文件
- 使用VIM新建一个文件,文件名为sangfo
- vim sangfor
进入文件编辑界面后,顶部闪烁的表示当前光标所在处,最下面显示的是当前文件名,
而中间这些波浪号仅仅是填充,区分上面两者
VIM的模式?
- 命令模式:当VIM开始文件编辑时,默认进入该模式。
- 在命令模式下,通常操作
- 上下左右移动光标
- 删除某个字符、行、多行
- 复制粘贴
- 删除某个字符、行、多行
- 复制粘贴
- 在命令模式下按i,进入输入模式
- 在输入模式下按ESC键,进入命令模式
输入模式主要完成单个字符的修改,
除了上面提的到i,还有其它按键也可以从命令模式进入输入模式,并且略有不同。
- ?底行模式:执行功能性操作,如保存、退出、查找、替换等
- 在命令模式下按:进入底行模式
- 在底行模式下按ESC返回命令模式
- 底行模式:执行功能性操作,如保存、退出、查找、替换等
Linux用户及权限管理 ?
Linux用户管理
- 管理用户,即root用户,root用户是在安装操作系统时,由系统自动创建,具有Linux的所有权限。通常root用户是黑客在本机的终极目标。
- 一般用户,即我们前面安装系统时创建的sangfor。可以在操作系统上访问程序,如vim,数据库,WEB浏览器。可以创建保存文件到自己的HOME目录。无法修改系统配置文件
- 服务用户,用于apache、邮件、打印服务等系统服务。这些服务用户与Linux系统用户进行交互,通常不需要我们人为的去更改。
- 通常我们对Linux的操作过程是:使用普通用户登录进行查看,而需要修改Linux时,切换为root用户或使用root的权限进行操作
Linux用户管理文件
- 用户管理文件--/etc/passwd文件
- 包含每个用户的基本信息。通过VIM打开该文件,发现里面是用户的基本信息
- ?/etc/passwd共有7列,以:隔开,依次解析如下:
- username:代表用户名,可以包含数字 – . _,但不能-开头,不能大于32个字符
- password:用户口令,可以是x*或字母数字的随机合。
- x表示实际口令指向/etc/shadow,
- *表示禁用的用户
- 字母数字随机表示加密后的口令
- UserID:用户的数字ID,root默认是0,普通用户默认从1000开始
- GroupID:用户所属的组ID,默认情况下,Linux会给每个用户新建一个用户组,与数字ID匹配
- /etc/passwd依次解析如下:
- Userinfo:类似于用户的备注信息,可以任意输入
- Home Directory:用户的家目录,即登录后,用户默认所处的目录,默认在/home/用户名
- Login Shell:表示用户登录的SHELL
- 默认可登录用户为/bin/bash,也可以自己定义一些其它的shell
- 无法登录的服务用户,默认为/sbin/nologin,表示无法登录
- /etc/group文件:在Linux中每个用户都被分配到一个组名与用户名相同的组中
- /etc/group文件,共有四列,依次解释如下:
- Groupname:每个用户都有与用户名相同的组,也是组的唯一名称
- Password:通常是x,表示指向/etc/shadow文件,也可是字母数字的随机组合
- Group lD:同userlD,如果要创建一个特殊的组,表示管理员权限,建议分配一个独立的GID,避免GID滥用
- Group members:表示组内成员。
- /etc/shadow文件:是/etc/passwd文件的补充。包含8列信息依次如下:
- Username:用户名
- Password:加密后的口令,对应在/etc/password第二列需要是x
- Password history :口令的最后修改日期,在1970年1月1日之后的天数
- mindays:用户必须保持该口令的最小天数
- maxdays:口令的使用最长天数,在此之后必须更改口令
- warndays:口令过期前,提供警告的天数
- inactive:口令过期后仍然可使用口令的天数,在此期间会提示修改口令
- disable:禁用账户后,在1970年1月1日之后的天数
Linux新增用户
- -u:指定uid-
- g:指定GID
- -d:指定用户家目录
- -c:输入备注信息
- -M:表示不建立家目录
- -s:自定义shell程序,不使用默认的/bin/bash
- -e : YYYY-MM-DD格式,输入用户的过期日期
- 我们也可以通过直接编辑/etc/passwd文件来添加用户确保以下几点:
- 添加用户的主目录,并确保你想添加的用户和用户组有目录所有目录所有权
- 确保编辑文件的格式正确
- 确保用户有与其名称对应的私有组
Linux删除用户
- -r :—并删除用户的家目录
Linux新增、删除用户组
- groupadd
- groupadd -g GID groupname
- 注意: groupadd如果不加-g指定GID,那系统会默认从1000后开始分配。
- groupdel groupname直接删除用户组删除时,如果组中有用户的“主要组”是此组,则不能删除,需要先删除用户
?Linux将用户添加到组
- 将现有用户添加到辅助组,请使用带有-G选项
- usermod -G groupname username
- 将用户添加到多个辅助组
- usermod -G groupname1, groupname2 username
- 我们必须使用-g改变用户的主要组
- usermod -g groupname username
- 使用id命令进行验证
- id username
?
Linux修改用户口令
- Linux用户创建完成以后,是默认没有密码的,只有设置好密码,才能登录对应用户。
- 设置密码的命令是
- passwd username
?Linux切换用户
- su username,切换为指定用户
- 当由root切换到普通用户时,不用输入密码
Linux以root运行命令
上面su命令必须要知道root的密码才行。而root密码是一个非常敏感的密码,为了保障root密码的安全,Linux系统设计了sudo这个命令,即用root的身份执行一个命令,而不是切换为root用户。使用sudo时需要输入当前用户自身的密码。普通用户如果要使用sudo,必须经过root的设置(允许)才行。sudo通过visudo工具来实现,Centos7默认已经安装有visudo。如果没有sudo命令,可以通过yum install sudo来安装。
?
- 在/etc/sudoers中找到如下行##
- 用户名? ?登录的主机? ?runas身份? 可以执行的命令
- ?使用root编辑/etc/sudoers文件
- 在/etc/sudoers中找到如下行
- %wheel:代表用户组
- 此行含义是允许wheel用户组的用户执行sudo中任何命令
?
- 可以将我们前面创建的sangfor用户加入wheel组,来用sudo执行任意命
- sangfor用户执行
- ?sudo ls /root? ? ? ? ? ? ? //输入密码后,提示没有sudo权限见红色部分
- ?Linux以root运行命令
- su root? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //切换为root用户,黄色部分
- usermod -G wheel sangfor? //将sangfor添加到wheel组,黄色部分
- su sangfor? ? ? ? ? ? ? ? ? ? ? ? ? ?//切换回sangfor用户,蓝色部分
- sudo ls /root? ? ? ? ? ? ? ? ? ? ? ? ?//使用sudo执行成功,绿色部分
拓展
虚拟机Linux忘记root密码重置
一、开机的时候按方向键,选择第一个选项。按e键进行编辑。
?二、进入grub界面
?
三、找到这一行,修改 ro 为 rw 。表示只读改为读写。并再写一行:init=/sysroot/bin/sh
修改完按 ctrl+x
?
?
?四、切换到原来的系统环境下面去,修改密码
# chroot /sysroot ????????????//进入系统环境里面
# passwd root?????????????????//修改密码,小方块说明乱码
#?LANG=en?????????????????????//修改语系变量
# passwd root ????????????????//再次执行修改root密码即可。
# touch /.autorelabel?????//selinux相关,不创建无法开机
重启
?
5,输入新密码,进入系统?
?
?Kali2021修改更新源
- ?#中科大
- deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
- deb-src http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
- #阿里云
- deb http://mirrors.aliyun.com/kali kali-rolling main non-free contrib
- deb-src http://mirrors.aliyun.com/kali kali-rolling main non-free contrib
1.输入用户名和密码进入系统
?2. 点击桌面右上角的终端图标打开终端
?3. 终端内输入?sudo vim /etc/apt/sources.list ?然后输入密码
4.第三行是Kali官方的更新源,所以要改成国内更新源,点i进入编辑模式 将第二行的更新源注释掉?
5. 在下方输入
- #中科大
- deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
- deb-src http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
- ?#阿里云
- deb http://mirrors.aliyun.com/kali kali-rolling main non-free contrib
- deb-src http://mirrors.aliyun.com/kali kali-rolling main non-free contrib
输入完成后 按Esc退出编辑模式 再按Shift+;输入 wq 保存退出
6.??获取更新 更新系统 卸载无用软件 重启系统 输入命令后回车 等待系统重启
sudo apt-get update && sudo apt-get dist-upgrade -y && sudo apt-get autoremove -y && reboot
7. 等待更新系统完成,再次开机,就是最新版的Kali系统?
Centos7更新阿里源
1.进入yum文件夹
? cd /etc/yum.repos.d/
2.下载阿里云源
?wget "http://mirrors.aliyun.com/repo/Centos-7.repo"
3.备份系统原来的repo文件
mv CentOS-Base.repo CentOS-Base.repo.bak? #此时已经不存在CentOS-Base.repo
4.修改Centos-7.repo 名称改为CentOS-Base.repo
mv?Centos-7.repo?CentOS-Base.repo
5执行yum源的更新命令
yum clean all
yum makecache
yum update
Yum 安装、卸载软件
1、显示已经安装的软件包
yum list installed
2、查找可以安装的软件包 (以 tomcat?为例)
yum list tomcat
?3、安装软件包 (以 tomcat 为例)
yum install tomcat
?4、卸载软件包 (以 firefox?为例)
yum remove firefox
5.5、列出软件包的依赖(以 tomcat 为例)
yum deplist tomcat
??6.-y 自动应答yes 在安装软件的时候,会有中断,让用户选择是否要继续我们可以用 -y 来应答所有的 yes , 比如我们安装 tomcat 的时候,用下面的命令,将安装任务一气呵成,不会中断。
yum -y install tomcat
7、info 显示软件包的描述信息和概要信息(以 tomcat 为例)
yum info tomcat
8、升级软件包 升级所有的软件包
yum update
升级某一个软件包 ,以升级 (tomcat )为例
yum update tomcat
检查可更新的程序
yum check-update
查看安装
rpm -qi firefox ?
常见的系统故障排除
上不了网不能上网可能是多方面的原因引起的,涉及到操作系统问题、网络问题、应用软件问题或硬件问题,解决起来需要有一个特定过程。
1.三步Ping法
应先了解用户或想想自己最近都进行了哪些操作,然后再采用三步Ping法,通常能揪出原凶。 第一步:首先进入命令行模式,通过“ping 127.0.0.1”来判断TCP/IP协议是否安装成功,不通则重新安装TCP/IP协议,如果通则进入下一步。 第二步:输入“ipconfig”获得本机IP地址及网关地址,通过“ping 本机IP地址”来判断网卡是否有问题,如果Ping不通,则需要重新安装网卡驱动,如果通则进入下一步。 第三步:通过前两步已经能够判断出本机网络协议和网卡工作正常,下面就要看问题是出在网线,还是出在远程服务器或路由器链路上了。执行“ping 网关IP地址”,如果不通则说明问题基本出在网线上,这时应该查看RJ45水晶头上是否有线扭断,或换根网线测试一下,如果通则说明从本机到服务器或路由器远程链路连接正常,问题出在服务器或路由器上的设置,与本机无关。
2.逐个击破法
(1)操作系统原因 常见的因系统设置导致网络不通的原因有如下三种: ①Windows 98没有用网络登录方式登录。 ②IP地址、DNS服务器和网关等网络参数设置有错误,IE无法浏览则还要进一步检查是否需要设置代理服务器。
(2)软件原因 可能因为安装一些软件导致无法访问网络,这种软件主要是网络代理软件,如果尝试以上方法不能解决问题,不妨查看一下安装软件列表中是否有这类软件,如果有则可以考虑卸载。
(3)硬件原因 第一步:查看网卡的指示灯是否处于闪烁或常亮状态,由于各种网卡指示灯状态显示方式并不相同,红灯或状态指示灯不亮并不一定代表有故障,有些网卡只有在发送数据包时指示灯才会闪亮(在早期ISA网卡上比较常见),所以只是单纯观察状态灯并不能确定问题出在硬件,需要进一步的测试。用Ping命令测试,如果在命令执行过程中指示灯也始终处于熄灭的状态,则可以初步判定是硬件问题。 第二步:检查网线,把网线接头从网卡和信息插座中拔出,插在测线器的两个插口中,打开测线器开关,如果看到左右各8个指示灯顺序闪亮,则表明网线通信正常,如果有某个指示灯不亮,则表明网线有问题,需要进行更换。 linux系统网络故障排除流程 1.ifconfig??查看ip是否有问题 2.ping 127.0.0.1??测试本地网络环路是否有问题 3.mii-tool eth0???查看网卡物理连接是否正常 4.ping 192.168.0.1??ping网关测试网络连接是否正常 5.tracepath 8.8.8.8??追踪dns 6.tracepath [网站域名] 追踪外连接是否正常 7.nslookup [网站域名]??查看网络连接路径 8.Telnet [网站域名] 80??查看网络连接端口 Linux下文件新建、移动(重命名)、复制粘贴、删除命令使用方法(touch,mv,cp,rm) 一、文件新建命令使用方法 1、新建文件夹:mkdir 目录名 ?2、新建文件:touch 文件名 ?
二、文件移动(剪切粘贴)、重命名命令使用方法 linux终端下没有单独的剪切、粘贴命令,只有移动文件/目录命令,最终效果就是剪贴粘贴,该命令也可以重命名文件或者目录? 1. cp??复制 ????命令格式:cp??源文件 ??目标文件 ???????????????????????-a:是指archive的意思,也说是指复制所有的目录 ???????????????????????-d:若源文件为连接文件(link file),则复制连接文件属性而非文件本身 ???????????????????????-f:强制(force),若有重复或其它疑问时,不会询问用户,而强制复制 ???????????????????????-i:若目标文件(destination)已存在,在覆盖时会先询问是否真的操作 ???????????????????????-l:建立硬连接(hard link)的连接文件,而非复制文件本身 ???????????????????????-p:与文件的属性一起复制,而非使用默认属性 ???????????????????????-r:递归复制,用于目录的复制操作 ??????????????????????-s:复制成符号连接文件(symbolic link),即“快捷方式”文件 ?
文件复制命令cp
命令格式:cp 源文件 目标文件 ?参数说明:
- -a:是指archive的意思,也说是指复制所有的目录?
- -d:若源文件为连接文件(link file),则复制连接文件属性而非文件本身?
- -f:强制(force),若有重复或其它疑问时,不会询问用户,而强制复制?
- -i:若目标文件(destination)已存在,在覆盖时会先询问是否真的操作?
- -l:建立硬连接(hard link)的连接文件,而非复制文件本身?
- -p:与文件的属性一起复制,而非使用默认属性?
- -r:递归复制,用于目录的复制操作?
- -s:复制成符号连接文件(symbolic link),即“快捷方式”文件?
- -u:若目标文件比源文件旧,更新目标文件?
如将/test1目录下的file1复制到/test3目录,并将文件名改为file2,可输入以下命令: cp /test1/file1 /test3/file2
文件移动命令mv
命令格式:mv [-fiv] source destination 参数说明: -f:force,强制直接移动而不询问? -i:若目标文件(destination)已经存在,就会询问是否覆盖? -u:若目标文件已经存在,且源文件比较新,才会更新?
如将/test1目录下的file1复制到/test3 目录,并将文件名改为file2,可输入以下命令: mv /test1/file1 /test3/file2
三、文件删除命令rm
命令格式:rm [fir] 文件或目录 参数说明: -f:强制删除 -i:交互模式,在删除前询问用户是否操作 -r:递归删除,常用在目录的删除
如删除/test目录下的file1文件,可以输入以下命令: rm -i /test/file1 rm -rf? ?
|