系统工具:
id, ps, ls, kill, find
1、id命令用于显示用户的ID,以及所有群组的ID
语法: id [-gGnru][--help][--version][用户名称]
2、ps命令用于显示当前进程(process)的状态
语法: ps [options] [--help] (ps的参数非常多,下面列几个常用的参数)
参数: -A 列出所有的行程 -w 显示加宽可以显示较多的资讯 -au 显示较详细资讯 -aux显示所有包含其他使用者的行程 au(x) 输出格式
USER:行程拥有者 PID: pid %CPU:占用的CPU使用率 %MEM:占用的记忆体使用率 VSZ:占用的虚拟记忆体大小 RSS:占用的记忆体大小
TTY:终端的次要装置号码 STAT: 该行程的状态 D:不可中断的静止 R:正在执行中 S:静止状态 T:暂停执行 Z:不存在但暂时无法消除
W: 没有足够的记忆体分页可分配 <: 高优先序的行程 N: 低优先序的行程 L: 有记忆体分页分配并锁在记忆体内 START: 行程开始时间
TIME: 执行的时间 COMMAND: 所执行的命令
3、ls命令用于显示指定工作目录下之内容(列出目前工作目录所含之文件及子目录)
语法: ls [-alrtAFR] [name...]
4、kill命令用于删除执行中的程序或工作。kill可将制定的信息送至程序。
语法: kill [-s <信息名称或编号>] [程序] 或 kill [-l <信息编号>]
实例 杀死进程 # kill 12345 强制杀死进程 # kill -KILL 123456 发送SIGHUP信号,可以使用一下信号 # kill -HUP pid 彻底杀死进程 # kill -9 123456 显示信号 # kill -l 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM 16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP 21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ 26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO 30) SIGPWR 31) SIGSYS 34) SIGRTMIN 35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3 38) SIGRTMIN+4 39) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+8 43) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13 48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12 53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7 58) SIGRTMAX-6 59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2 63) SIGRTMAX-1 64) SIGRTMAX 杀死指定用户所有进程 #kill -9 $(ps -ef | grep hnlinux) //方法一 过滤出hnlinux用户进程 #kill -u hnlinux //方法二
5、find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并将查找到的子目录与文件全部进行显示
语法: find path -option [-print] [-exec -ok command] {}
实例 将目前目录及其子目录下所有延伸档名是 c 的文件列出来。 # find . -name "*.c" 将目前目录其其下子目录中所有一般文件列出 # find . -type f 将目前目录及其子目录下所有最近 20 天内更新过的文件列出 # find . -ctime -20 查找/var/log目录中更改时间在7日以前的普通文件,并在删除之前询问它们: # find /var/log -type f -mtime +7 -ok rm {} ; 查找前目录中文件属主具有读、写权限,并且文件所属组的用户和其他用户具有读权限的文件: # find . -type f -perm 644 -exec ls -l {} ; 为了查找系统中所有文件长度为0的普通文件,并列出它们的完整路径: # find / -type f -size 0 -exec ls -l {} ;
rpm, apt, yum
2、apt
3、yum(Yellow dog Updater,Modifier)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器
语法: yum [options] [command] [package...]
options: 可选,选项包括-h(帮助), -y(当安装过程提示选择全部为“yes”), -q(不显示安装的过程)等等
command: 要进行的操作
package: 操作的对象
chmod, chown
1、Linux/Unix的文件调用权限分为三级:文件拥有者、群组、其他。利用 chmod命令可以藉以控制文件如何被他人利用
语法: chmod [-cfvR] [--help] [--version] mode file...
实例 将文件 file1.txt 设为所有人皆可读取 : chmod ugo+r file1.txt 将文件 file1.txt 设为所有人皆可读取 : chmod a+r file1.txt 将文件 file1.txt 与 file2.txt 设为该文件拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入 : chmod ug+w,o-w file1.txt file2.txt 将 ex1.py 设定为只有该文件拥有者可以执行 : chmod u+x ex1.py 将目前目录下的所有文件与子目录皆设为任何人可读取 : chmod -R a+r * 此外chmod也可以用数字来表示权限如 : chmod 777 file 语法为: chmod abc file 其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。 r=4,w=2,x=1 若要rwx属性则4+2+1=7; 若要rw-属性则4+2=6; 若要r-x属性则4+1=5。 chmod a=rwx file 和 chmod 777 file 效果相同 chmod ug=rwx,o=x file 和 chmod 771 file
2、Linux/Unix是多人多工操作系统,所有的文件皆有拥有者,利用chown命令将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID;组可以是组名或者组ID;文件是以空格分开的要改变权限的文件列表,支持统配符。。
一般来说,这个指令只有是由系统管理者(root)所使用,一般使用者没有权限可以改变别人的文件拥有者,也没有权限可以自己的文件拥有者改设为别人。只有系统管理者(root)才有这样的权限。
语法: chown [-cfhvR] [--help] [--version] user[:group] file...
参数 : user : 新的文件拥有者的使用者 ID group : 新的文件拥有者的使用者群体(group) -c : 若该文件拥有者确实已经更改,才显示其更改动作 -f : 若该文件拥有者无法被更改也不要显示错误讯息 -h : 只对于连结(link)进行变更,而非该 link 真正指向的文件 -v : 显示拥有者变更的详细资料 -R : 对目前目录下的所有文件与子目录进行相同的拥有者变更(即以递回的方式逐个变更) --help : 显示辅助说明 --version : 显示版本
grub-md5-crypt
Linux grub用grub-md5-crypt生成md5密码
1、cat命令用于连接文件并打印到标准输出设备上。
语法: cat [-AbeEnstTuv] [--help] [--version] filename
2、vi
vi基本可以分为三种状态:分别是命令行模式、插入模式和底行模式
1、awk是一种处理文本文件的语言,是一个强大的文本分析工具
语法: awk [选项参数] 'script' var=value file(s) 或 awk [选项参数] -f scriptfile var=value file(s)
选项参数说明: -F fs or --field-separator fs 指定输入文件折分隔符,fs是一个字符串或者是一个正则表达式,如-F:。 -v var=value or --asign var=value 赋值一个用户定义变量。 -f scripfile or --file scriptfile 从脚本文件中读取awk命令。 -mf nnn and -mr nnn 对nnn值设置内在限制,-mf选项限制分配给nnn的最大块数目;-mr选项限制记录的最大数目。这两个功能是Bell实验室版awk的扩展功能,在标准awk中不适用。 -W compact or --compat, -W traditional or --traditional 在兼容模式下运行awk。所以gawk的行为和标准的awk完全一样,所有的awk扩展都被忽略。 -W copyleft or --copyleft, -W copyright or --copyright 打印简短的版权信息。 -W help or --help, -W usage or --usage 打印全部awk选项和每个选项的简短说明。 -W lint or --lint 打印不能向传统unix平台移植的结构的警告。 -W lint-old or --lint-old 打印关于不能向传统unix平台移植的结构的警告。 -W posix 打开兼容模式。但有以下限制,不识别:/x、函数关键字、func、换码序列以及当fs是一个空格时,将新行作为一个域分隔符;操作符**和**=不能代替^和^=;fflush无效。 -W re-interval or --re-inerval 允许间隔正则表达式的使用,参考(grep中的Posix字符类),如括号表达式[[:alpha:]]。 -W source program-text or --source program-text 使用program-text作为源代码,可与-f命令混用。 -W version or --version 打印bug报告信息的版本。
2、sed命令使利用scrpt来处理文本文件。
语法: sed [-hnV] [-e<script>][-f <script文件>][文本文件]
3、xargs命令使给其他命令传递参数的一个过滤器,也是组合多个命令的一个工具,它擅长将标准输入数据转换成命令行参数。xargs能够处理管道或者stdin并将其转换成特定命令的命令参数。
aduit, inotify
1、aduit
2、inotify机制可用于监测文件或目录。
lasttr, chattr, lsof,curl, chkconfig
1、lsattr命令用来显示文件属性
语法: lsattr [-adlRvV] [文件或目录...]
2、chattr命令用于改变文件属性
语法: chattr [-RV] [-v<版本编号>][+/-/=<属性>][文件或目录]
3、lsof命令用于查看你进程打开的文件,打开文件的进程,进程打开的端口(TCP、UDP)。找回/恢复删除的文件,需要root用户执行
4、curl命令使一个利用URL规则在命令行下工作的文件传输工具。它支持文件的上传和下载,所以是综合传输工具,但习惯称curl为下载工具
5、chkconfig命令用于检查,设置系统的各种服务。
语法: chkconfig [--add][--del][--list][系统服务] 或 chkconfig [--level <等级代号>] [系统服务] [on/off/reset]
第三方工具:
Nessus是世界上最流行的漏洞扫描程序,提供完整的电脑漏洞扫描服务,并随时更新其漏洞数据库。
Netcat是网络工具中的瑞士军刀,它能通过TCP和UDP在网络中读写数据。通过与其他工具结合和重定向,也可以使用netcat命令。
Metasploit是一款开源的安全漏洞检测工具。它可以帮助用户识别安全问题,验证漏洞的缓解措施,并对某些软件进行安全评估,提供真正的安全风险情报。
Nmap(Network Mapper)是Linux下的网络扫描和嗅探工具包
基本功能有三个:(1)是扫描主机端口,嗅探所提供的网络服务
(2)是探测一组主机是否在线 (3)还可以推断主机所用的操作系统,到达主机经过的路由,系统已开放端口的软件版本
Hydra是著名黑客组织thc的一款开源的暴力密码破解工具,可以在线破解多种密码
Tcpwrapper是一个基于tcpd访问实现的访问控制工具,它能够访问大部分基于tcp的服务它的目的是对那些访问控制功能较弱的服务提供访问控制功能。