首页 > 代码库 > 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

依次显示file1file2的内容

 

命令:cat file1file2 > file3

file1file2的内容结合起来重定向>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仅能存在一个!因为不可能同时压缩与解压缩。

 

 

【辅助选项】

-z :是否同时具有gzip的属性?即是否需要用gzip压缩或解压?一般格式为xx.tar.gzxx.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网卡设置ip192.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  包名

 

4rpm -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

DebDebian Linux提供的一个包管理器,它与RPM十分类似,相应软件后缀为.deb。但Debian的包管理器dpkg只出现在Debina Linuxubuntu中。它的优点是不用被严格的依赖性检查所困扰,缺点是只在Debian Linux发行版中才能见到这个包管理工具。非debian,ubuntu系统不推荐使用deb软件包,因为要解决软件包依赖问题,安装也比较麻烦。

(1)安装直接使用:           #dpkg    -i     package_file.deb 

(2)卸载使用 :                  #dpkg    -r    package_name 

7.4  APT

       APTUbuntu 软件包管理系统的高级界面,Ubuntu 是基于Debian的,APT由几个名字以“apt-”打头的程序组成。apt-getapt-cacheapt-cdrom是处理软件包的命令行工具。

(1) 安装指定包:#sudo    apt-get   install package

(2) 删除指定包:#sudo    apt-get   remove package

8      源码包安装

源代码一般以file.tar.gzfile.tar.bz2file.src.rpm 打包;file.tar.gzfile.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可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供andornot等逻辑语句来帮助你去掉无用的信息。

 

监视指定网络接口的数据包

root@kali:~# tcpdump -i eth0

 

监视指定主机的数据包

root@kali:~#tcpdump host 210.27.48.1


本文出自 “老鹰a” 博客,请务必保留此出处http://laoyinga.blog.51cto.com/11487316/1878479

Linux安全基础知识