管理心得

1.用户权限升级

1.添加用户

adduser passwd

2.升级权限

1
2
3
4
5
6
7
8
9
10
11
12
13
将sudoers文件的权限修改成可编辑
chmod -v u+w /etc/sudoers

使用vim编辑sudoers文件
vim /etc/sudoers

在sudoes文件中添加如下的内容
找到root ALL=(ALL) ALL
然后添加temp_user ALL=(ALL) ALL
如需新用户使用sudo时不用输密码,把最后一个ALL改为NOPASSWD:ALL即可。

将sudoers文件的权限修改成不可编辑
chmod -v u-w /etc/sudoers

注:

修改目录或文件权限(= 赋值不管存在与否, + 增加权限)符号链接的权限无法变更, 如果用户对符号链接修改权限, 其改变会作用在被链接的原始文件。

参数:

​ -R: 递归修改处理

-v: 显示执行过程

​ -h: 只对符号链接的文件做修改, 不更改其他任何相关文件。

​ -f : 不显示错误信息
  语法1:chmod u=rwx,g=r–,o=r–(ugo=r) filename
  语法2:chmod 744 filename
  语法3:chmod u+x filename

2.tmp目录权限修复

1.直接手动设置others权限为t即可

注:文件权限除了r、w、x外还有s、t、i、a权限:s:文件属主和组设置SUID和GUID,文件在被设置了s权限后将以root身份执行。在设置s权限时文件属主、属组必须先设置相应的x权限,否则s权限并不能正真生效(c h m o d命令不进行必要的完整性检查,即使不设置x权限就设置s权限,chmod也不会报错,当我们ls -l时看到rwS,大写S说明s权限未生效)。Linux修改密码的passwd便是个设置了SUID的程序,普通用户无读写/etc/shadow文件的权限确可以修改自己的密码。

3.数据库导出

使用

1
mysqldump -u root -p我的密码 mydb1 > /opt/mydb1.sql

4.宝塔

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Congratulations! Installed successfully!
=============注意:首次打开面板浏览器将提示不安全=================

请选择以下其中一种方式解决不安全提醒
1、下载证书,地址:https://dg2.bt.cn/ssl/baota_root.pfx,双击安装,密码【www.bt.cn】
2、点击【高级】-【继续访问】或【接受风险并继续】访问
教程:https://www.bt.cn/bbs/thread-117246-1-1.html

========================面板账户登录信息==========================

【云服务器】请在安全组放行 33488 端口
外网面板地址: http://101.200.217.231:33488/d6e697dc
内网面板地址: http://172.23.176.252:33488/d6e697dc
username: yttflvqd
password: 4f276f95

浏览器访问以下链接,添加宝塔客服
https://www.bt.cn/new/wechat_customer
==================================================================
Time consumed: 1 Minute!

5.图形化界面

我个人的建议是,直接通过VNC远程连接(使用VNC登录实例)服务器,

运行

1
2
3
4
apt-get update
apt-get install ubuntu-desktop
sync
reboot

等就完事了

前提条件

已创建Ubuntu 18系统的ECS实例。具体操作,请参见自定义购买实例

安装图形化桌面

重要

安装图形化桌面会降低服务器的性能,如果安装不当,则会导致操作系统无法正常启动。请在安装之前,为ECS实例创建快照,做好数据备份,请参见创建一个云盘快照

  1. 远程连接Ubuntu 18系统的ECS实例。

    具体操作,请参见通过密码或密钥认证登录Linux实例

  2. 运行以下命令,更新软件源。

    1
    apt-get update
  3. 运行以下命令,安装图形化桌面。

    1
    apt-get install ubuntu-desktop

    如果安装出现如下报错,请参见常见问题中的解决方案解决以后,再启动图形化桌面。安装报错

  4. 运行以下命令,设置默认启动为图形化桌面。

    1
    systemctl set-default graphical.target
  5. VNC远程连接Ubuntu 18系统的ECS实例。

    具体操作,请参见使用VNC登录实例

  6. 运行以下命令,重启ECS实例。

    1
    reboot

    等待出现如下欢迎界面时,表示Ubuntu 18图形化桌面安装完成。欢迎界面

  7. 按照界面默认配置,一直单击Next

    直至出现如下界面时,表示Ubuntu 18图形化桌面完成,您可以使用Ubuntu 18图形化桌面。在使用Ubuntu 18图形化桌面过程中,您也可以取消图形化桌面。具体操作, 请参见取消图形化桌面桌面配置完成

取消图形化桌面

  1. 在图形化桌面上,单击右键然后选择Open Terminal

  2. 运行以下命令,取消图形化桌面。

    1
    systemctl set-default multi-user.target
  3. 在设置过程需要连续两次输入用户密码,该密码在您配置图形化桌面时设置。

    认证密码

  4. 运行以下命令,重启ECS实例。

    1
    reboot

    等待出现如下界面时,表示已取消Ubuntu 18图形化桌面。服务版

常见问题

问题现象

安装Ubuntu 18图形化桌面过程中可能出现如下所示的报错。安装报错

问题原因

该报错是由于安装ubuntu-desktop所需要的软件包列表中,依赖较低版本的update-manager-core、libparted2和python3-update-manager软件包,您需要删除较高版本的软件包,系统会根据软件包依赖树重新安装软件包。

解决方案

  1. 运行以下命令,卸载较高版本的软件包。

    1
    apt-get remove update-manager-core libparted2 python3-update-manager
  2. 运行以下命令,重新安装图形化桌面。

    1
    2
    apt-get update
    apt-get install ubuntu-desktop

另:

下文参考

安装完ubuntu-desktop之后让你选择重启什么服务,千万别点esc,点不动的话试试tab,如果不小心点了esc终止了,卸载重装,然后

Ubuntu进入不了图形化界面解决方法
前言
加上今天这次,博主已经是遇到好几次Ubuntu图形化界面崩掉的情况,但是没有记录过解决过程,今天恰巧又遇到了,就来记录一下,别再傻乎乎的直接重装系统了哦。

部分导致进入不了图形化界面的问题
Ubuntu18.04对于deepinWine的微信有着很不好的兼容,一装还好用,但是一重启就崩掉
动了一些系统文件,或者更换软件源链接删除了一些关键文件,导致重启崩掉
可以按照以下步骤尝试解决。
命令行能进否?
开机,如果看到类似

1
no boot .......

不好意思,说明你的系统已经没了,找不到启动页了。这一部分如果有需要,以后在操作系统专栏可以进行讲解。
如果没有上述文字出现,那么我们继续下面的步骤
Ctrl + Alt + F1看是否能够进入命令行界面。

1
login: 

出现上述登录提示,恭喜你,说明你的系统没有毛病,可能只是装了一些不该装的软件。
输入你的用户名,然后进入下面一行

1
Password:

输入你的密码,进入你的命令行界面,当然这是我从命令行截图的,当你登录以后也是如此界面。

安装图形化界面

1
2
3
4
sudo apt-get update
sudo apt-get install ubuntu-desktop #安装乌班图桌面托管器
sudo apt-get install unity
sudo apt-get install lightdm

这时候你会进入一个选择界面,选择lightdm或者gdm3,都可以。
然后

1
sudo service gdm3 start

更改默认开启方式
最后,要更改一下自己的默认开启方式

1
sudo systemctl set-default graphical.target 

看到下面这句话,好了你就稳了,不虚,重启即可,

1
reboot

走起。

选择你喜爱的桌面
当然,这个时候或许你有不少桌面可以选择,怎么选择呢?
注销掉你的账户,然后在登录的旁边有着一个小按钮,点一点就可以选择你原来安装的不同的图形化桌面管理器。
图片有些模糊,但是懂的都懂。

总结
小小总结一下,其实就是分几个步骤

确认自己的系统是否还在,如果不在,只能重装,如果在,继续第二步
下载图形化界面,也就是下载桌面管理器,这个网上教程比较多
设置默认开启模式(当然你也可以直接自信第三步直接尝试一下,只是博主么有这样尝试过,因此不能保证有啥风险存在)

6.图形化界面-2

他点了下切换用户,图形化界面没啦

修复:(参考[ubuntu20.04 图形界面开启与关闭](ubuntu20.04 图形界面开启与关闭))

1.ubuntu20.04 图形界面开启与关闭

1
2
3
4
5
6
7
8
9
10
# 关闭用户图形界面,使用tty登录
sudo systemctl set-default multi-user.target

# 开启用户图形界面
sudo systemctl set-default graphical.target
sudo reboot

# 查看当前正在使用哪个显示管理器
cat /etc/X11/default-display-manager

2.ubuntu安装gnome桌面

1
2
# 或者在命令后面添加 --no-install-recommends 可选参数以避免非必要组件的安装,节省安装时间
sudo apt install ubuntu-desktop gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal
gdm3是gdm的继任者,后者是GNOME显示管理器

较新的gdm3使用最小版本的gnome-shell,并提供与GNOME3会话相同的外观

1
2
3
4
# 安装gdm3
sudo apt install gdm3
# 卸载gdm3
sudo apt remove gdm3
LightDM是Canonical的显示管理器解决方案

它应该是轻量级的,可配置的,提供各种主题

1
2
3
4
# 安装lightdm
sudo apt install lightdm
# 卸载lightdm
sudo apt remove lightdm
如果安装了多个显示管理器,则可以使用以下方法在它们之间进行切换
1
2
3
4
5
6
7
8
sudo dpkg-reconfigure gdm3
# 或
sudo dpkg-reconfigure lightdm

# 显示管理器启动、停止、查看状态
sudo service gdm3 start
sudo service gdm3 stop
sudo service gdm3 status

7.Ubuntu安装mysql

1、在Ubuntu中删除mysql

使用以下命令来删除MySQL:

打开终端。

输入以下命令并按下回车键,以停止MySQL服务:

1
sudo systemctl stop mysql

输入以下命令并按下回车键,以卸载MySQL软件包:

1
sudo apt-get remove --purge mysql-server mysql-client mysql-common

这个命令会删除MySQL服务器、客户端和共享组件。

输入以下命令并按下回车键,以删除MySQL配置文件和数据:

1
sudo rm -rf /etc/mysql   /var/lib/mysql

这个命令会删除MySQL的配置文件和数据目录。

最后,输入以下命令并按下回车键,以清理系统中的残留文件和依赖项:

1
2
sudo apt-get autoremove
sudo apt-get autoclean

这些命令会自动删除不再需要的软件包和其它文件。

2、安装

本文最先发布在:https://www.itcoder.tech/posts/how-to-install-mysql-on-ubuntu-20-04/

MySQL是最流行的开源关系数据库管理系统。它速度快,容易使用,容易扩展,并且流行的LAMPLEMP的一部分。

这篇指南讲解了如何在 Ubuntu 20.04上安装和保护 MySQL。

一、前提条件

确保你以 sudo 用户身份登录

二、在 Ubuntu 上安装 MySQL

在写作这篇文章的时候,Ubuntu 源仓库中最新的 MySQL 版本号是 MySQL 8.0。想要安装它,运行下面的命令:

1
2
sudo apt update
sudo apt install mysql-server

一旦安装完成,MySQL 服务将会自动启动。想要验证 MySQL 服务器正在运行,输入:

1
sudo systemctl status mysql

输出应该显示服务已经被启用,并且正在运行:

1
2
3
4
5
6
 mysql.service - MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2020-04-28 20:59:52 UTC; 10min ago
Main PID: 8617 (mysqld)
Status: "Server is operational"
...

3、安装报错?

出现returned an error code (1)

一条一条执行一遍下面这个代码,有报错不用管他,一行一行都执行一遍即可

1
2
3
4
5
6
7
8
cd /var/lib/dpkg/
sudo mv info/ info_bak # 现将info文件夹更名
sudo mkdir info # 再新建一个新的info文件夹
sudo apt-get update # 更新
sudo apt-get -f install # 修复
sudo mv info/* info_bak/ # 执行完上一步操作后会在新的info文件夹下生成一些文件,现将这些文件全部移到info_bak文件夹下
sudo rm -rf info # 把自己新建的info文件夹删掉
sudo mv info_bak info # 把以前的info文件夹重新改回名

4、登录

方法一:默认账户登录

查看密码使用sudo cat /etc/mysql/debian.cnf这条查看

方法二:直接进入mysql
命令:sudo mysql

本地 root 用户

到了关键的一步,其实现在你的数据库中就有一个叫做 host 字段为 localhostroot 的用户我们需要做如下几件事情:

  • 修改初始 root 用户的密码(修为我们自己的密码)

不需要授予访问权限等操作,因为默认已经有了

重置密码

重置 root 账户密码

1
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';

刷新权限

1
FLUSH PRIVILEGES;

远程root 用户

如果需要远程登陆:

  • 创建一个 host 字段为 % 的 root 用户(创建用户的同时设置密码)
  • 授权所有数据库的访问权限
  • 刷新权限列表

有些 uu 就会很奇怪为什么要创建两个 root 用户呢?这个和 mysql 的用户管理方式有关系:localhost 表示本机登录;% 表示远程登陆。
如果 root 用户只有 % ,那就只能除了本机外的其他计算机才能登陆 mysql server,如果用户只有 localhost,那只有本机可以登录,远程计算机不能登录 mysql server
那么 mysql 为什么要这么设计呢?可能是为了安全吧!这样我们可以为 root 设置两个不同的密码,localhost 环境下设置一个很简单的密码;% 环境下就可以极其复杂,诸如:MnRmsrdm9wjkT5XC9Y2F5b4IouAPZBfx (注意 mysql 的密码有长度限制,好像是 32 个字符长度)

新建一个 host 为 % 的 root用户,密码随意

1
create user 'root'@'%' identified by 'yourpassword';

授权

1
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;

刷新权限

1
FLUSH PRIVILEGES;

通过如下的方式查看我们的用户信息情况

1
2
mysql> use mysql
mysql> select host,user,authentication_string from user;

8.ubuntu安装nginx

一. 安装

  1. 安装先决条件

    1
    sudo apt install curl gnupg2 ca-certificates lsb-release ubuntu-keyring2
  2. 导入官方 nginx 签名密钥,以便 apt 可以验证软件包 真实性。 获取密钥:

    1
    2
    curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \
    | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null

    注意:输出应包含完整的fingerprint,如下所示:573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62

    如果fingerprint不同,请删除该文件重新下载!!!

  3. 选择nginx包,这里官方给出了三种,我们选择稳定版,如下

    1
    2
    3
    echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
    http://nginx.org/packages/ubuntu `lsb_release -cs` nginx" \
    | sudo tee /etc/apt/sources.list.d/nginx.list
  4. 执行安装命令

    1
    2
    sudo apt update
    sudo apt install nginx

二. 安装错误应对

卸载

注意:首先需要停止nginx的服务

1
sudo service nginx stop
  1. 删除nginx,–purge包括配置文件
    1
    sudo apt-get --purge remove nginx
  2. 自动移除全部不使用的软件包
    1
    sudo apt-get autoremove
  3. 列出与nginx相关的软件 并删除显示的软件
    1
    2
    3
    4
    dpkg --get-selections|grep nginx
    sudo apt-get --purge remove nginx
    sudo apt-get --purge remove nginx-common
    sudo apt-get --purge remove nginx-core

出现returned an error code (1)

1
2
3
4
5
6
7
8
cd /var/lib/dpkg/
sudo mv info/ info_bak # 现将info文件夹更名
sudo mkdir info # 再新建一个新的info文件夹
sudo apt-get update # 更新
sudo apt-get -f install # 修复
sudo mv info/* info_bak/ # 执行完上一步操作后会在新的info文件夹下生成一些文件,现将这些文件全部移到info_bak文件夹下
sudo rm -rf info # 把自己新建的info文件夹删掉
sudo mv info_bak info # 把以前的info文件夹重新改回名

参考文献

nginx:Linux 软件包

Ubuntu下完全卸载nginx服务器_ubuntu 卸载nginx

解决apt-get安装中的returned an error code (1)问题