首页 > 代码库 > Linux安全基础知识
Linux安全基础知识
1 文件操作
1.1 创建文件夹(目录)mkdir
命令:mkdir
例子:root@kali:~# mkdir testfile
创建testfile目录(文件夹)
1.2 删除文件夹(目录)rmdir
命令:rmdir
例子:root@kali:~# rmdir testfile
删除testfile目录(文件夹)。
注意:这个命令只能用来删除空目录,如果目录下面有子文件则会失败。
1.3 删除文件夹(目录)rm
命令:rm
例子:root@kali:~# rm -rf testfile/
删除testfile文件夹(目录),包括目录下面的子文件一并删除
说明:
-r表示把目录和目录下的文件一起删除。
-f表示这个删除操作可以不经确认强制删除。
1.4 创建文件touch
命令:touch
例子:root@kali:~# touch testfile.txt
创建testfile.txt文件
1.5 删除文件rm
命令:rm
例子:root@kali:~# rm -rf testfile.txt
删除testfile.txt文件夹。
1.6 移动目录mv
命令:mv
移动文件例子:
root@kali:~# mv p.txt /
把当前目录下的p.txt文件移动到根目录下。
移动目录(文件夹例子)
root@kali:~# mv testfile/ /
把testfile目录移动到根目录下。
1.7 文件及文件内容查找
1.7.1 命令find(文件查找)
使用命令:find / –name passwd
作用:在根目录下查找passwd文件
使用命令:find . –name passwd
作用:在当前目录下查找passwd文件。
1.8 命令grep(文件内容查找)
使用命令:grep mysql /etc/passwd
作用:在passwd文件中查找mysql内容。
使用命令:grep –r mysql /etc/
作用:在etc目录下及其子文件查找mysql内容。
1.9 复制文件和文件夹cp
命令:cp
文件例子:root@kali:~# cp /p.txt /root/p.txt
把p.txt文件复制到/root/目录并且命名为p.txt
目录例子:root@kali:~# cp -r /testfile /root/backfile
把testfile目录复制到root目录下,并且命名为backfile
1.10 改变文件权限chmod
使用命令:chmod
例子:Chmod 777 file
1.11 显示文件和目录ls命令
1.11.1 命令ls -a
Linux系统上的文件以.开头的文件被系统视为隐藏文件,仅用ls命令时看不到他们的。而用 “ls –a”,除了显示一般文件名外,连隐藏文件也会显示出来。
1.11.2 命令ls –l
这个命令是用长格式显示文件内容,可以查看详细的文件资料。
1.11.3 命令ls -F
在列出的文件(目录)名称后加一符号,例如可执行文件加“*”,目录则加“/”。
1.12 查看文件头信息(head)
1.12.1 命令(head)
使用命令:head manifest.txt
作用:显示manifest.txt文件头10行的内容。
1.12.2 命令(head –n 数值)
使用命令:head –n 20 manifest.txt
作用:显示manifest.txt文件头20行的内容。
1.13 查看文件尾部信息(tail)
1.13.1 命令tail
使用命令:tail manifest.txt
作用:显示manifest.txt文件最后10行的内容。
1.13.2 命令(tail –n 数值)
使用命令:tail –n 20 manifest.txt
作用:显示manifest.txt文件最后20行的内容。
1.13.3 命令(tail -f)
使用命令:tail –f manifest.txt
作用:显示manifest.txt文件最后10行的内容。如果有新增内容,自动刷新显示新增内容。
1.14 cat命令
命令:cat file1
显示file1这个文件的内容
命令:cat file1file2
依次显示file1,file2的内容
命令:cat file1file2 > file3
把file1和file2的内容结合起来重定向>到file3文件中。
1.15 more命令
more是显示一般文本文件内容的指令,如果一个文本文件太长超过了一个屏幕的画面,用cat来看实在是不理想,就可以用more
命令:more file1
1.16 pwd命令
命令:pwd
显示当前工作路径。
2 用户及用户组管理命令
创建用户命令:useradd 用户名
创建密码命令:passwd 用户名
删除用户命令:Userdel 用户名
创建用户组:groupadd
删除用户组:groupdel
3 进程及任务管理命令
3.1 ps命令
ps命令是最基本同时也是非常强大的进程查看命令。使用该命令可以查看有哪些进程正在运行以及运行的状态,进程是否结束,进程有没有僵死,哪些进程占用了过多的资源等等。
1、查看所有进程
2、查看NTP进程
ps【选项】说明:
-e 显示所有进程
-f 全格式显示
3.2 top命令
top命令和ps命令基本作用是相同的,显示系统当前进程和其他状况。但是top是一个动态显示过程,即可通过用户按交互命令来不断刷新当前状态。
Top交互命令:
<空格> 立即刷新显示
h或者? 显示帮助画面给出一些简短的命令总结说明
m 切换显示内存信息
t 切换显示进程和CPU状态的信息
c 切换显示命令名称和完整命令行
M 根据驻留内存大小进行排序
P 根据CPU使用百分比大小进行排序
q 退出。
3.3 kill命令
命令:kill 进程名
4 df磁盘使用率
5 文件解压缩tar命令
语法:tar 【主选项+辅选项】文件或目录
使用该命令时,主选项是必须要有的,它告诉tar要做什么事,辅选项是辅助使用的,可以选用。
【主选项】
c 创建新的档案文件。相当于打包。
X 从档案文件中释放文件。相当于拆包。
t 列出档案文件的内容,查看已经备份了哪些文件。
特别注意,在参数的下达中,c/x/t仅能存在一个!因为不可能同时压缩与解压缩。
【辅助选项】
-z :是否同时具有gzip的属性?即是否需要用gzip压缩或解压?一般格式为xx.tar.gz或xx.tgz
-j:是否同时具有bzip2的属性?即是否需要使用bzip2压缩或解压?一般格式为xx.tar.bz2
-v:压缩的过程中显示文件!
-f:使用档名
5.1 范例一(打包)
使用命令:
tar –cvf /home/test.tar /etc ---------->仅打包,不压缩
tar –zcvf /home/test.tar.gz /etc ---------->打包后,以gzip压缩
tar –jcvf /home/test.tar.gz /etc ---------->打包后,以bzip2压缩
5.2 范例二(查看打包里内容)
使用命令:
tar –ztvf /home/test.tar.gz ---------->查看test.tar.gz文件内有哪些文件。
5.3 范例三(解压缩)
使用命令:
tar -zxvf /home/test.tar.gz ---------->解压test.tar.gz文件到当前工作目录
6 网络配置
6.1 命令ifconfig
6.1.1 设置网卡IP地址
使用命令:ifconfig eth0 192.168.0.1 netmask 255.0.0.0
作用:将eth0网卡设置ip为192.168.0.1,掩码为255.0.0.0
6.1.2 网卡关闭/启用
使用命令:ifconfig eth0 down
作用:暂时关闭网卡
使用命令:ifconfig etho up
作用:启用网卡
6.2 命令route
6.2.1 添加一条路由
使用命令:route add –net 192.168.0.0 netmask 255.0.0.0 dev eth0
6.2.2 添加一条缺省路由
使用命令:route add 0.0.0.0 gw 网关地址
6.2.3 删除缺省路由
使用命令:route del 0.0.0.0 gw 网关地址
7 软件包管理工具
几乎所有的Linux发行版本都使用某种形式的软件包管理安装、更新和卸载软件。与直接从源代码安装相比:
1软件包管理易于安装和卸载;
2易于更新已安装的软件包;
3易于保护配置文件;
4易于跟踪已安装文件。
下面介绍几种常见的包管理器:
7.1 RPM
RPM全称是Red Hat PackageManager(Red Hat包管理器),
rpm包就类似于windows上的exe文件,各种文件已经编译好,并打了包,如果有图形化界面,也可以实现双击安装。若使用命令行,则下面使用下面命令:
(1)安装RPM包软件:#rpm -ivh包名(安装一个包)
(2)卸载软件: #rpm -e 软件名
(3)未编译的rpm包安装,就是后缀为.src.rpm的,使用下面命令:
#rpm -rebuild src.rpm
#rpm -ivh 包名
(4)rpm -Uvh file.rpm #[升级一个rpm]—upgrade
注:
参数解释:
-i, --install install package(s)
-v, --verbose provide more detailedoutput
-h, --hash print hash marks as packageinstalls (good with -v)
-e, --erase erase (uninstall)package
-U, --upgrade=<packagefile>+ upgrade package(s)
(1)、软件名和软件包名是两个概念,软件名通常是文件名中位于版本号前面的字符串。例如apache-devel-3.1.12-i386.rpm这个包,其对应的是包名,那相应的软件名为apache-devel。
(2)、当然,这些参数可以同时采用。更多的内容可以参考
使用帮助列表:#rpm -- help
系统功能说明:#man rpm
7.2 Yum
(1) 安装指定安装包:#yuminstall package_name(如yum –y install httpd)
(2) 删除软件包: #yum remove package_name(如 yum removehttpd)
7.3 Deb
Deb是Debian Linux提供的一个包管理器,它与RPM十分类似,相应软件后缀为.deb。但Debian的包管理器dpkg只出现在Debina Linux、ubuntu中。它的优点是不用被严格的依赖性检查所困扰,缺点是只在Debian Linux发行版中才能见到这个包管理工具。非debian,ubuntu系统不推荐使用deb软件包,因为要解决软件包依赖问题,安装也比较麻烦。
(1)安装直接使用: #dpkg -i package_file.deb
(2)卸载使用 : #dpkg -r package_name
7.4 APT
APT是Ubuntu 软件包管理系统的高级界面,Ubuntu 是基于Debian的,APT由几个名字以“apt-”打头的程序组成。apt-get、apt-cache和apt-cdrom是处理软件包的命令行工具。
(1) 安装指定包:#sudo apt-get install package
(2) 删除指定包:#sudo apt-get remove package
8 源码包安装
源代码一般以file.tar.gzfile.tar.bz2或file.src.rpm 打包;file.tar.gz和file.tar.bz2格式的解包命令如下;
安装方法:
[root@localhost fcitx]# tar -xvffcitx-3.2-050827.tar.bz2
[root@localhost fcitx]#cd fcitx
#指定把程序安装在/opt/fcitx目录下。
[root@localhost fcitx]# ./configure --prefix=/opt/fcitx
[root@localhost fcitx]# make
[root@localhost fcitx]# make install
调用fcitx ,应该是
[beinan@localhost ~]#./opt/fcitx/bin/fcitx
如果您想要让fcitx 只要执行fcitx ,就能调用,请配置环境变量,或者在/usr/bin 中做一个fcitx 的链接;
[root@localhost beinan]# ln -s /opt/fcitx/bin/fcitx /usr/bin/fcitx
9 管道
管道命令操作符是:”|”,它仅能处理经由前面一个指令传出的正确输出信息,也就是 standard output 的信息,对于 stdandard
error 信息没有直接处理能力。然后,传递给下一个命令,作为标准的输入 standard input.
10 重定向
10.1 标准的输出控制
语法:命令 > 文件将命令的执行结果送至指定的文件中
例如:
#把ls –l的结果输出到te.txt文件中。
ls –l > te.txt
$ ls > ls_result
$ ls -l 》 ls_result
上面这两个命令分别将 ls 命令的结果输出重定向到 ls_result 文件中和追加到 ls_result 文件中,而不是输出到屏幕上。">"就是输出(标准输出和标准错误输出)重定向的代表符号,连续两个 ">" 符号,即 "》" 则表示不清除原来的而追加输出。
10.2 标准输入控制
语法:命令 < 文件将文件作为命令的输入
例如:
mail -s “mail test” test@ahlinux.com <file1
将文件file1 当做信件的内容,主题名称为mail test,送给收信人。
11 启动/关闭程序
11.1 查看程序状态
root@kali:~# service ssh status
11.2 启动程序
root@kali:~# service ssh start
11.3 关闭程序
root@kali:~# service ssh stop
11.4 重启程序
root@kali:~# service ssh restart
12 挂载外设
12.1 U盘挂载
使用fdisk –l命令查看系统有的盘符。
插入u盘后再使用fdisk –l命令查看U盘的目录。U盘目录在/dev/sdb1。
创建一个目录用来挂载U盘,创建usbfile目录用来挂载。
使用mount命令进行挂载
进入usbfile目录下查看内容,可以看到U盘的内容,说明已经挂载成功了。
12.2 卸载操作
使用命令:umount 挂载点目录
使用‘umount /root/usbfile’命令卸载挂载点
卸载的时候报设备被占用,此时通过fuser命令查看占用的进程
通过k杀掉这个进程,使用命令“fuser -mk /root/usbfile”
然后在使用umount卸载命令(“root@kali:~# umount /root/usbfile”),就可以成功卸载了。
此时在同“root@kali:~# ls /root/usbfile/”命令查看是否有文件,没有任何文件了说明卸载成功了。
13 Linux下使用Tcpdump抓包
用简单的话来定义tcpdump,就是:dump thetraffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。 tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。
监视指定网络接口的数据包
root@kali:~# tcpdump -i eth0
监视指定主机的数据包
root@kali:~#tcpdump host 210.27.48.1
本文出自 “老鹰a” 博客,请务必保留此出处http://laoyinga.blog.51cto.com/11487316/1878479
Linux安全基础知识