一、搜索软件包、安装、卸载软件

# Ubuntu里面的命令是:
apt-cache search 软件包名
# 显示软件包的详细信息
apt-cache show 软件包名
apt-get update:更新安装列表
apt-get upgrade:升级软件
apt-get install software_name :安装软件
apt-get --purge remove  software_name :卸载软件及其配置
apt-get autoremove software_name:卸载软件及其依赖的安装包

dpkg --list:罗列已安装软件
彻底卸载软件
# 删除软件及其配置文件
apt-get --purge remove <package>
# 删除没用的依赖包
apt-get autoremove <package>
# 此时dpkg的列表中有“rc”状态的软件包,可以执行如下命令做最后清理:
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P
# 当然如果要删除暂存的软件安装包,也可以再使用clean命令。
apt-get clean <package>

dpkg安装以及卸载软件
deb文件是linux发行版debian系统的安装包格式,还有像基于debian系统的发型版ubuntu等系统就是使用的deb格式安装包,我们可以使用dpkg命令进行安装管理这些deb安装包文件。

方法/步骤
Ubuntu安装软件
这里我使用的ubuntu系统做演示,首先把deb文件放到一个文件夹中,例如我这里的dolphin_emu文件。

使用dpkg命令进行安装。
sudo dpkg -i deb文件名

根据经验,通常情况下会报依赖关系的错误,我们可以使用以下的命令修复安装。
sudo apt-get install -f

Ubuntu卸载软件
如果要卸载安装的应用我们通过“sudo dpkg -l”查看已经安装的软件,并找到自己的安装的软件名。
最后使用”sudo dpkg -r 软件名“进行卸载。

二、新增用户,并增加root权限
1.新建用户,一般两种方法

一种是adduser,这个会自动创建主目录系统shell版本,提示设置密码,创建同名group。使用:adduser username,可以用--home指定主目录,当然还有其他选项。

一种是useradd,如果不指定就是根目录作为主目录,啥都没有。所以一定要用-d指定主目录,用-m表示主目录不存在就创建,但是存在是不创建并且不能作为新创建用户主目录的,所以一般-d加了主目录之后加-m选项,-s指定shell版本,-M不创建主目录。

2.增加sudo(root)权限,一般三种方法

一种是sudo usermod -aG sudo username
一种是修改/etc/sudoers文件,在root ALL=(ALL) ALL下面复制一行同样的只不过root改成你的用户名
一种是修改/etc/passwd 找到自己的用户一行吧里面的用户id改成0

3.其他

修改密码都用passwd username
删除用户userdel username 加-r连主目录一起删除
删除组groupdel groupname
/etc/passwd 里面有用户和组等信息
/etc/shadow里面是账号信息加密
/etc/group 组信息
/etc/default/useradd 定义信息
/etc/login.defs 一些设定
/etc/skel 定义档目录

三、ufw 防火墙配置
1、ubuntu默认安装了ufw防火墙软件

  默认ufw防火墙没有打开,需要手工显式打开,打开ufw防火墙的命令如下:

sudo ufw enable
# sudo ufw disable
# sudo ufw reload

2、设置默认网络安全规则

sudo ufw default deny incoming   #拒绝掉所有流入机器流量
sudo ufw default allow outgoing   #允许所有从机器流出流量

001 (1).png

3、查看本机开启服务的端口,确定有权限访问本地服务的IP地址及网段

netstat -ntlp #查看本地处于监听状态的服务端口号

002 (1).png

确定本地需要外部访问的端口是22、2080、3080端口,假设只允许133.3.5.0/24和133.3.103.241地址访问 

4、 配置具体开发网络服务安全策略

sudo ufw allow from 133.3.5.0/24 to 133.3.103.170 port 2080
sudo ufw allow from 133.3.5.0/24 to 133.3.103.170 port 3080
sudo ufw allow from 133.3.5.0/24 to 133.3.103.170 port 22
sudo ufw allow from 133.3.103.141 to 133.3.103.170 port 3080

003 (1).png

通过sudo ufw status verbose命令查看配置后的效果如上图,可以发现默认的incoming方向动作是deny,对于outgoing方向默认是运行访问的,下面的ip及网段部分是对incoming方向的例外配置,也就是说采用了白名单方法配置,只有名单中存在的部分才能访问指定的IP加端口。 

假设本地主机不止133.3.103.170这一个IP地址,完全可以对该主机所有不同的IP地址服务分别进行授权,非常方便。

5、网络安全例外规则修改

首先通过sudo ufw status numbered verbose 命令查看规则对应的【】内数字ID
004.png

比如要删除最后一条规则,可以通过

sudo ufw delete 4
或者直接通过直接删除rule的形式删除

sudo ufw delete  allow from 133.3.103.141 to 133.3.103.170 port 3080

6、规则总结

from 指的是外部访问ip或子网,也就是需要允许或禁止的IP

to    指的是本地主机ip 端口 ,支持多地址主机配置,比如一台主机有192.168.1.2/133.3.103.170/202.103.44.150 三个IP地址,可以针对这三个IP地址分别设置,如果不想分开设置可以使用any关键字代替,比如:

sudo ufw allow from 133.3.5.0/24 to any port 22

action 匹配条件后的动作,有allow和deny两种操作

三、Linux 服务管理两种方式service和systemctl
1.service命令
service命令其实是去/etc/init.d目录下,去执行相关程序。

service apache2 start
service apache2 restart
service apache2 stop
service apache2 status
service --status-all

2.systemctl命令
systemd是Linux系统最新的初始化系统(init),作用是提高系统的启动速度,尽可能启动较少的进程,尽可能更多进程并发启动。
systemd对应的进程管理命令是systemctl

1)systemctl命令兼容了service
即systemctl也会去/etc/init.d目录下,查看,执行相关程序

systemctl start apache2
systemctl stop apache2
systemctl status apache2
# 开机自启动
systemctl enable redis