Ubuntu删除服务
systemctl stop [servicename] systemctl disable [servicename] rm /etc/systemd/system/[servicename] rm /etc/systemd/system/[servicename] # and symlinks that might be related rm /usr/lib/systemd/system/[servicename] rm /usr/lib/systemd/system/[servicename] # and symlinks that might be related systemctl daemon-reload systemctl reset-failed
Ubuntu系统防火墙UFW常用操作
ubuntu系统自带了防火墙Uncomplicated Firewall,即ufw。
# 启用 ufw sudo ufw enable # 禁用 ufw sudo ufw disable # 重启 ufw sudo ufw reload # 查看状态 sudo ufw status # 重置UFW sudo ufw reset # 开启日志 sudo ufw logging on # 关闭日志 sudo ufw logging off # 查询日志 cat /var/log/ufw.log # 如果服务器启用了ipv6,但ufw没有启用对ipv6的支持,需要打开如下配置文件,修改并确认“IPV6=yes”后重启即可使ufw支持ipv6 sudo vi /etc/default/ufw IPV6=yes
一、开启设置的默认策略
在配置之前,先启用默认设置,默认策略将拒绝所有传入连接,允许所有传出链接,这样可按需打开指定的端口或允许指定的ip来连接服务器。
sudo ufw default deny incoming sudo ufw default allow outgoing
二、开放或禁止访问指定端口
1、开放访问指定端口的规则,基本格式为:sudo ufw allow \<port>/\<optional: protocol>
# a、如允许tcp和udp端口为80的数据包流入 允许通过80端口访问(不限协议) sudo ufw allow 80 # b、如允许tcp端口为80的数据包流入 允许80端口上的tcp协议访问 sudo ufw allow 80/tcp # c、如允许udp端口为80的数据包流入 允许80端口上的udp协议访问 sudo ufw allow 80/udp # d、开放一个范围端口 sudo ufw allow 7000:7200 # 开放端口(不限协议) sudo ufw allow 7000:7200/tcp # 开放端口的tcp协议 sudo ufw allow 7000:7200/udp # 开放端口的udp协议
2、禁止访问指定端口的规则,基本格式为:sudo ufw deny \<port>/\<optional: protocol>
# a、如不允许访问tcp和udp的80端口 禁止访问80端口(不限协议) sudo ufw deny 80 # b、如不允许访问tcp的80端口 拒绝80端口的tcp协议访问 sudo ufw deny 80/tcp # c、如不允许访问udp的80端口 拒绝80端口的udp协议访问 sudo ufw deny 80/udp # d、禁止一个范围端口,如7000-7200之间的端口全部关闭 拒绝访问的端口范围为7000~7200(不限协议) sudo ufw deny 7000:7200
3、当然也可以以服务名为来进行开放或禁止端口的操作,如
sudo ufw allow http # 允许http服务端口访问(即80端口) sudo ufw deny https # 拒绝https服务端口访问(即443端口)
三、允许或禁止ip或ip段的访问
1、允许/禁止指定的IP访问,规则格式为:sudo ufw [allow/deny] from \<ip address>
# a、如允许/禁止来自207.46.232.182数据包 sudo ufw allow from 208.208.208.208 # 允许 208.208.208.208 访问 sudo ufw deny from 208.208.208.208 # 拒绝 208.208.208.208 访问 # b、允许/禁止一个网段访问 sudo ufw allow from 192.168.1.0/24 # 允许 192.168.1.0/24 访问 sudo ufw deny from 192.168.1.0/24 # 禁止 192.168.1.0/24 访问
2、允许/禁止指定的端口和IP访问,规则格式为:sudo ufw [allow/deny] from \<target> to \<destination> port \<port number>
# a、如允许/禁止IP地址为192.168.0.4访问22端口 sudo ufw allow from 192.168.0.4 to any port 22 # 允许ip为192.168.0.4的访问22端口 sudo ufw deny from 192.168.0.4 to any port 22 # 拒绝ip为192.168.0.4的访问22端口
3、允许/禁止指定端口、IP、和协议访问,规则格式为:sudo ufw [allow/deny] from \<target> to \<destination> port \<port number> proto \<protocol name>
# a、如允许/禁止IP为192.168.0.4访问tcp:22 sudo ufw allow from 192.168.0.4 to any port 22 proto tcp # 允许ip为192.168.0.4的通过tcp协议访问22端口 sudo ufw deny from 192.168.0.4 to any port 22 proto tcp # 拒绝ip为192.168.0.4的通过tcp协议访问22端口 # b、你想阻止来自192.168.0.8和 192.168.0.9访问22端口,但是允许网段中其它的IP可以访问tcp:22,那么可以这样: sudo ufw deny from 192.168.0.8 to any port 22 # 拒绝 192.168.0.8连接22端口 sudo ufw deny from 192.168.0.9 to any port 22 # 拒绝 192.168.0.9连接22端口 sudo ufw allow from 192.168.0.0/24 to any port 22 proto tcp # 允许 192.168.0.0/24连接22端口
注意:先禁止,再允许,ufw会依次执行。
四、针对网卡设备规则设定,指定允许通过某个网卡的连接
如仅允许通过名为eth0的网卡来访问80端口
# 允许通过eth0来访问80端口 sudo ufw allow in on eth0 to any port 80 # 查看网卡设备名 ip addr
五、删除已存在的规则
- 通过规则编号进行删除已存在的规则,或插入规则到指定行
# 按编号进行列表 sudo ufw status numbered # 删除编号为3的规则 sudo ufw delete 3 # 在第3行插入规则 sudo ufw insert 3 allow from 208.208.208.208
- 第二种方法是通过指定实际规则来删除规则,如直接删除规则已存在的tcp协议的80端口
# 删除 deny 80/tcp 这条规则 sudo ufw delete deny 80/tcp # 删除 allow http 这条规则 sudo ufw delete allow http # 删除允许192.168.0.0/24访问22端口的规则 sudo ufw delete allow from 192.168.0.0/24 to any port 22
六、禁止ping
ufw默认允许 ping请求,若要拒绝ping ,则需要修改规则配置文件
sudo vi /etc/ufw/before.rules
规则文件中会看到如下关于ping的规则
# ok icmp codes -A ufw-before-input -p icmp --icmp-type destination-unreachable -j ACCEPT -A ufw-before-input -p icmp --icmp-type source-quench -j ACCEPT -A ufw-before-input -p icmp --icmp-type time-exceeded -j ACCEPT -A ufw-before-input -p icmp --icmp-type parameter-problem -j ACCEPT -A ufw-before-input -p icmp --icmp-type echo-request -j ACCEPT # 删除上面的规则,或是修改"ACCEPT" 为 "DROP",如下 # ok icmp codes -A ufw-before-input -p icmp --icmp-type destination-unreachable -j DROP -A ufw-before-input -p icmp --icmp-type source-quench -j DROP -A ufw-before-input -p icmp --icmp-type time-exceeded -j DROP -A ufw-before-input -p icmp --icmp-type parameter-problem -j DROP -A ufw-before-input -p icmp --icmp-type echo-request -j DROP
Ubuntu Dpkg
# 以下是一些 Dpkg 的普通用法: sudo dpkg -i # 安装一个 Debian 软件包,如你手动下载的文件。 sudo dpkg -c # 列出包的内容 sudo dpkg -I # 从Dpkg中提取包裹信息 sudo dpkg -r # 移除一个已安装的包裹 sudo dpkg -P # 完全清除一个已安装的包裹。和 remove 不同的是,remove 只是删掉数据和可执行文件,purge 另外还删除所有的配制文件 sudo dpkg -L # 列出 安装的所有文件清单。同时请看 dpkg -c 来检查一个 .deb 文件的内容 sudo dpkg -s # 显示已安装包裹的信息。同时请看 apt-cache 显示 Debian 存档中的包裹信息,以及 dpkg -I 来显示从一个 .deb 文件中提取的包裹信息 sudo dpkg-reconfigure # 重新配制一个已经安装的包裹,如果它使用的是 debconf (debconf 为包裹安装提供了一个统一的配制界面) du -sh # 查看文件夹占用大小