提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
分区是逻辑上的概念。Linux分区和Windows分区不同,Windows一个分区对应一个盘符,Linux一个分 区对应一个目录。
对Linux来说无论有几个分区,分给哪一目录使用,它归根结底就只有一个目录,是一个独立且唯一的文件结构,Linux中每个分区都是用来组成整个文件系统的一部分。
Linux采用了一种叫“挂载”的处理方法,它的整个文件系统中包含了一整套的文件和目录,使得一个分区和一个目录联系起来,当要载入一个分区时它的存储空间就在一个目录下获得并使用。
查询磁盘使用情况
df -lh(文件系统层的分层)
du -h /目录(每个文件和目录的磁盘使用)
linux下几乎把一切都看成文件,例如当一个新设备(比如USB,光盘)连上电脑后,把此设备挂载到一个文件夹下才能管理.使用挂载命令控制硬盘分区和挂载点
mount命令: mount -t文件系统类型-o选项参数device(设备)dir(挂载点)
umount命令: umount dir(挂载点)或者umount dev(所挂载的设备)
remount命令: 重新挂载分区或者目录,用法和umount是一样的
查看文件的属性权限以及文件所属的用户和组
命令: ls -l
linux对普通文件的权限说明
[r]可读;对文件有阅读的权限
[w]可写;对文件有修改内容的权限(删除文件自身受父目录权限的影响)·
[x]可执行;对文件表示具有执行文件的权限
Linux对目录的权限说明
[r]可读;表示具有浏览目录的权限
[w]可写;表示具有修改目录内文件的权限
[x]可执行;表示具有进入目录的执行权限
设置文件权限
Linux有两种设置文件权限的方式,一种是数字,一种是符号。
Linux文件的基本权限有是三种身份read/write/execute,每种身份都有对应的权限且都是r(可读)w(可写)x(可执行)
r(read)=4,w(可写)=2,x(可执行)=1
再用数字赋权限的时候叠加。
例如:
owner:rw=4+2=6,group=r=4,others=r=4
也就是定义-rw-r–r--权限命令为:
chmod 644 1.txt
更改文件属组
文件和目录的特殊权限:
SUID和SGID,设置了SUID和SGID的文件可以被其他不同组的用户继承改文件或者目录的属组权限。
例子:当一个执行文件被设置成了SUID权限,属于root用户,此时普通用户可以暂时取得root权限来执行该文件。SGID相同。
两者不同点:
SUID:对属主加权限只能针对文件
SGID:对属组加权限可以对文件和目录
命令:
chmod u+s filename(suid)
chmod g+s filename(sgid)
chmod 4777 filename(suid)针对属主
用户分为3类:
root(超级用户):啥都能干
普通用户:root创建的用户,一般只能操作自己的目录。
虚拟用户:程序运行等情况下创建的用户,无法登录和使用
用户组
具有相同特征的用户的集合。一个组可以包含多个用户,每个用户也可以属于不同的组。
用户组的目的方便管理员对用户进行集中管理。用户组也分为三类:系统组、私有组和标准组。
用户及用户组配置文件
/etc/passwd:记录操作系统用户及其属性信息
/etc/shadow: 记录所有用户的密码信息
/etc/group: 记录用户组及其属性的信息
/etc/gshadow:记录用户组及其相关属性的密码信息
UID和GID
概念:
利用id显示用户的UID和GID
0:当uid是0时,代表这个用户是管理员,当你想把某个用户设置成管理员时,直接修改uid就可以了。也就是说,系统中管理员用户不一定是root
1~499:系统默认保留用户,和其他用户没什么不一样的,只是一些服务默认用户
500~65535:手动创建的一般用户
其他命令
su 用户名:切换用户
whoami:显示当前用户名称
groups:显示当前用户所属组
sudo :临时使用root权限
service管理指令:
在Centos7.0以前:
Centos7.0后不再使用service,而是systemctl,systemctl [command] [unit]
系统自带的:netstat
系统外部工具:Nmap:端口扫描
VIM命令使用
开启iptables:
systemctl start iptables
关闭iptables:
systemctl stop iptables
查看iptables现有的规则:
iptables -L -n
开放22端口
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
禁用23端口
iptables -A INPUT -p tcp --dport 23 -j DROP
添加信任网络
iptables -A INPUT -p tcp -s 1.1.1.1 -j ACCEPT
删除某个信任ip
iptables -D INPUT -p tcp -s 1.1.1.1 -j ACCEPT
Linux日志大多是以明文存储,一般存储在/var/log目录中,linux系统主要有三个日志子系统:
连接时间日志,进程统计日志,错误日志。
linux中可以配置日志文件,需要修改日志文件syslog.conf的配置,通常是不用配置,除非特殊
使用人群。
日志文件介绍:
cp命令
参数:
-a: archive的意思,若要复制的文件为目录,则复制整个目录
-d:若源文件为连接文件(link file),则复制连接文件属性而非文件本身
-f:强制(force),若有重复或其它疑问时,不会询问用户,而强制复制
-i:若目标文件(destination)已存在,在覆盖时会先询问是否真的操作-:建立硬连接(hard link)的连接文件,而非复制文件本身
-p:与文件的属性—起复制,而非使用默认属性
-r:递归复制,用于目录的复制操作
-s:复制成符号连接文件(symbolic link),即“快捷方式”文件
-u:若目标文件比源文件旧,更新目标文件
mv命令
参数:
-f: force,强制直接移动而不询问
-i:若目标文件(destination)已经存在,就会询问是否覆盖
-u:若目标文件已经存在,且源文件比较新,才会更新
>/>>命令
>:输出重定向,会覆盖文件内容,要是没有那个文件会创建该文件在写入。(渗透过程中,拿到权限隐藏木马的时候除了写一个木马子程序之外,可以在其他位置写一个木马父程序,在子木马被删除时,及时在其它或者相同位置写入子木马)
>>:输出重定向,不会覆盖文件内容,而是追加到文件内容尾部。
ln命令
描述:创建链接文件
参数:
-i:交互模式,文件存在则提示用户是否覆盖。
-s:软链接(符号链接)。
-d:允许超级用户制作目录的硬链接。
-b:删除,覆盖以前建立的链接
软链接(符号链接): In -s source target
硬链接(实体链接): In source target
也就是说在调用ln命令之后它会在当前目录建立一个软/硬链接,我们就可以在当前目录访问其他目录下的文件。
有一个跟它很像的符号可以用来绕过渗透过程中对cat的过滤:nl
ps命令
描述:查看进程信息参数:
-A∶所有的进程均显示出来,与-e具有同样的效用;
-a :显示现行终端机下的所有进程,包括其他用户的进程;
-u∶以用户为主的进程状态;
x ︰通常与a这个参数一起使用,可列出较完整信息。
还有其他的一些命令就不一一说明
将脚本(木马)开机自启动这里具一个例子
1、赋予脚本可执行权限(/opt/script/shell.sh是你的脚本路径)chmod +x /opt/script/shell.sh
2、打开/etc/rc.d/rc.local或/etc/rc.local文件,在末尾增加如下内容su - user -c ‘/opt/script/shell.sh’
3、在centos7中,/etc/rc.d/rc.local的权限被降低了,所以需要执行如下命令赋予其可执行权限chmod +x /etc/rc.d/rc.local
其他对于木马的隐藏操作见下文。