备份镜像
1 | mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak |
下载镜像
1 | sudo curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo |
刷新缓存
1 | yum clean all # 清除旧缓存 |
1 | mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak |
1 | sudo curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo |
1 | yum clean all # 清除旧缓存 |
在 Docker 中备份镜像通常涉及将镜像保存为 tar 文件,以便可以在需要时重新加载。以下是备份和恢复 Docker 镜像的步骤:
列出所有镜像:首先,查看你当前所有的 Docker 镜像,找到你想要备份的镜像。
1 | docker images |
保存镜像为 tar 文件:使用 docker save
命令将镜像保存为 tar 文件。
1 | docker save -o <output_file.tar> <image_name>:<tag> |
例如,如果你想备份名为 my_image
且标签为 v1.0
的镜像,可以运行:
1 | docker save -o my_image_v1.0.tar my_image:v1.0 |
这将在当前目录下生成一个名为 my_image_v1.0.tar
的文件。
加载 tar 文件为镜像:使用 docker load
命令将 tar 文件加载为 Docker 镜像。
1 | docker load -i <input_file.tar> |
例如,如果你想加载之前备份的 my_image_v1.0.tar
文件,可以运行:
1 | docker load -i my_image_v1.0.tar |
验证镜像:加载完成后,你可以使用 docker images
命令来验证镜像是否已成功加载。
1 | docker images |
压缩备份文件:如果你希望减小备份文件的大小,可以在保存镜像后使用 gzip
等工具进行压缩。
1 | gzip my_image_v1.0.tar |
恢复时,先解压缩再加载:
1 | gunzip my_image_v1.0.tar.gz |
备份多个镜像:你可以一次性备份多个镜像到一个 tar 文件中。
1 | docker save -o my_images.tar my_image1:v1.0 my_image2:v2.0 |
恢复时,所有镜像都会被加载。
通过以上步骤,你可以轻松地备份和恢复 Docker 镜像,确保在需要时能够快速恢复你的工作环境。
在 CentOS 7 上使用 certbot
自动为 Nginx 续期 SSL 证书的步骤如下:
Certbot 需要通过 EPEL 仓库安装,首先确保 EPEL 仓库已启用:
1 | sudo yum install epel-release |
安装 certbot
和 certbot-nginx
插件:
1 | sudo yum install certbot python3-certbot-nginx |
如果尚未获取 SSL 证书,可以使用以下命令为 Nginx 配置证书:
1 | sudo certbot --nginx |
按照提示输入域名和邮箱地址,Certbot 会自动配置 Nginx 并获取证书。
Certbot 默认会自动配置续期任务。你可以通过以下命令测试续期是否正常工作:
1 | sudo certbot renew --dry-run |
如果测试成功,说明自动续期配置正确。
如果需要立即续期证书,可以运行以下命令:
1 | sudo certbot renew --force-renewal |
Certbot 会自动创建一个定时任务来续期证书。你可以通过以下命令查看定时任务:
1 | sudo systemctl list-timers |
或者查看 Certbot 的日志文件:
1 | sudo cat /var/log/letsencrypt/letsencrypt.log |
Certbot 通常会自动重启 Nginx 以加载新证书。如果需要手动重启 Nginx,可以运行:
1 | sudo systemctl restart nginx |
确保防火墙允许 HTTPS 流量(端口 443):
1 | sudo firewall-cmd --permanent --add-service=https |
在 CentOS 7 上,Certbot 会自动配置 SSL 证书的续期任务。你只需确保 Certbot 和 Nginx 插件已安装,并定期检查续期任务是否正常运行即可。
在 CentOS 7 上,python3-certbot-nginx
包可能不可用,因为 CentOS 7 默认使用 Python 2.x,而不是 Python 3.x。不过,你可以通过以下方法解决这个问题,并成功安装 Certbot 和 Nginx 插件。
certbot-nginx
(Python 2.x 版本)安装 Certbot 和 Nginx 插件(Python 2.x 版本)
运行以下命令安装 Certbot 和 Nginx 插件:
1 | sudo yum install certbot python2-certbot-nginx |
如果 python2-certbot-nginx
也不可用,可以直接安装 certbot
,然后手动配置 Nginx:
1 | sudo yum install certbot |
获取 SSL 证书
使用以下命令为 Nginx 配置 SSL 证书:
1 | sudo certbot --nginx |
如果 certbot --nginx
不可用(因为缺少 python3-certbot-nginx
),可以使用以下命令手动获取证书:
1 | sudo certbot certonly --webroot -w /usr/share/nginx/html -d example.com |
其中:
-w /usr/share/nginx/html
是 Nginx 的默认根目录,确保替换为你的网站根目录。-d example.com
是你的域名。手动配置 Nginx
如果使用 certbot certonly
获取证书,需要手动配置 Nginx 以使用 SSL 证书。编辑 Nginx 配置文件(通常位于 /etc/nginx/nginx.conf
或 /etc/nginx/conf.d/your-site.conf
),添加以下内容:
1 | server { |
然后重启 Nginx:
1 | sudo systemctl restart nginx |
测试自动续期
运行以下命令测试自动续期是否正常工作:
1 | sudo certbot renew --dry-run |
设置自动续期
Certbot 会自动创建一个定时任务来续期证书。你可以通过以下命令查看定时任务:
1 | sudo systemctl list-timers |
或者手动检查 Certbot 的续期脚本:
1 | sudo cat /etc/cron.d/certbot |
在 CentOS 7 上,如果 python3-certbot-nginx
不可用,可以安装 python2-certbot-nginx
或直接使用 certbot certonly
手动获取证书并配置 Nginx。Certbot 的自动续期功能仍然可以正常工作。
要在CentOS 7上创建具有root权限的新用户,您可以按照以下步骤操作:
adduser
命令创建新用户。将<username>
替换为所需的用户名。1 | adduser <username> |
1 | passwd <username> |
wheel
组以赋予他们sudo(root)权限。1 | usermod -aG wheel <username> |
wheel
组。1 | groups <username> |
wheel
组的成员使用sudo执行命令。1 | visudo |
通过删除以下行开始的#
取消注释:
1 | %wheel ALL=(ALL) ALL |
保存并退出sudoers文件。
现在新用户应该在CentOS 7上具有root权限。您可以使用su
命令切换到新用户:
1 | su - <username> |
请确保仔细遵循这些步骤,并将<username>
替换为您要创建的实际用户名。如果需要进一步帮助,请告诉我。
准备openssl配置文件req.conf
1 | [req] |
生成Certificate Signing Request(CSR,证书签名请求)以及私钥
1 | openssl req -new -out company_san.csr -newkey rsa:2048 -nodes -sha256 -keyout company_san.key.temp -config req.conf |
可以通过命令验证生成的证书请求是否符合预期
1 | openssl req -text -noout -verify -in company_san.csr |
将PKCS#8格式的私钥文件company_san.key.temp转换成RSA格式
1 | openssl rsa -in company_san.key.temp -out company_san.key |
生成带有SAN扩展字段的证书文件
1 | openssl x509 -req -days 999999 -in company_san.csr -signkey company_san.key -out company_san.crt -extensions v3_req -extfile req.conf |
将私钥和证书一起打包成PKCS#12格式,用pfx或者p12作为后缀即可
1 | openssl pkcs12 -export -out company_san.p12 -inkey company_san.key -in company_san.crt -password pass:123456 |
利用 keytool 将pfx格式证书转换成jks格式,方便jdbc连接
1 | keytool -importkeystore -srckeystore company_san.p12 -srcstoretype PKCS12 -srcstorepass 123456 -destkeystore company_san.jks -deststoretype JKS -deststorepass 123456 -destkeypass 123456 |
确保您的Linux系统上已经安装了SSH服务。如果没有安装,可以使用以下命令进行安装:
1 | sudo apt install openssh-server # 对于Debian/Ubuntu系统 |
在新创建的帐号上设置密码,执行以下命令:
1 | sudo passwd 新帐号的用户名 |
您将被要求输入并确认该帐号的密码。
使用sshd_config
文件来配置允许新帐号通过SSH远程登录。编辑/etc/ssh/sshd_config
文件,找到以下行:
1 | AllowUsers 用户名 |
如果没有 AllowUsers
行,请添加以下行:
1 | AllowUsers 新帐号的用户名 |
保存并关闭文件。
重启SSH服务,使修改生效:
1 | sudo systemctl restart sshd |
现在,您的新创建的Linux帐号就可以通过SSH远程登录到系统了。您可以使用SSH客户端连接到系统,并使用新帐号用户名和密码进行身份验证。
要查看Linux系统中已创建的帐号,您可以使用以下命令来列出系统中所有的帐号:
1 | cat /etc/passwd | cut -d: -f1 |
该命令会读取/etc/passwd
文件并列出其中的所有帐号。每个帐号的信息会以冒号分隔的字段形式给出,其中第一个字段是帐号的用户名。
另外,您也可以使用以下命令查看已激活的用户帐号:
1 | cut -d: -f1 /etc/passwd |
如果您希望进一步了解某个特定的用户帐号的详细信息,可以使用id
命令来查看:
1 | id 用户名 |
这些命令可以帮助您查看系统中已创建的用户帐号信息。
要查看本机的IP地址,您可以使用以下命令:
使用 ifconfig
命令(在新版本的 Linux 发行版中可能已经被弃用,可以使用 ip addr
命令代替):
1 | ifconfig |
或者
1 | ip addr |
在输出中,找到和您连接互联网的网络接口,通常是 eth0
或 wlan0
,并查看接口的 inet
地址,即为本机的IP地址。
使用 hostname
命令来查看本机的主机名及相关信息,包括IP地址:
1 | hostname -I |
这将显示本机的IP地址。
可以使用 ipconfig
命令来查看本机的网络配置信息:
1 | ipconfig |
或者
1 | ip addr show |
这些命令将显示本机的IP地址。
以上是在Linux系统中查看本机IP地址的几种常用方法。
今天我们就来看看LayUI调整列宽后,点击分页,列宽又变回去了的问题,有的朋友可能觉得这个没问题,但是作为一个强迫症患者,觉得这样体验不是很友好所以想来解决这个问题。废话不多说,先来看看这个问题。
要查看 MySQL 中各个账户的权限,可以执行以下步骤:
连接到 MySQL 数据库服务器:
1 | mysql -u root -p |
查看所有用户的权限:
1 | SELECT User, Host, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv, File_priv, Grant_priv, References_priv, Index_priv, Alter_priv, Show_db_priv, Super_priv, Create_tmp_table_priv, Lock_tables_priv, Execute_priv, Repl_slave_priv, Repl_client_priv, Create_view_priv, Show_view_priv, Create_routine_priv, Alter_routine_priv, Create_user_priv, Event_priv, Trigger_priv, Create_tablespace_priv FROM mysql.user; |
以上查询语句将列出所有用户及其对应的权限。您可以根据实际需求选择查看的权限。
查看特定用户的权限:
如果您只想查看特定用户的权限,可以使用类似以下查询语句:
1 | SELECT * FROM mysql.user WHERE User = 'username'; |
请将 'username'
替换为您要查看的用户名。
通过以上步骤,您可以查看 MySQL 中各个账户的权限情况。如果您需要进一步帮助或有其他问题,请随时告诉我。
添加 MySQL 用户通常涉及创建一个新用户并为其分配相应的权限。以下是在 MySQL 中添加用户的一般步骤:
1 | mysql -u root -p |
1 | CREATE USER 'new_user'@'localhost' IDENTIFIED BY 'password'; |
请将 ‘new_user’ 替换为新用户的用户名,而 ‘password’ 则替换为用户的密码。如果想让用户可以从任何位置连接到数据库,可以将 ‘@localhost’ 替换为 ‘%’。
1 | GRANT ALL PRIVILEGES ON database_name.* TO 'new_user'@'localhost'; |
请将 ‘database_name’ 替换为用户将被授权访问的数据库名称。
1 | FLUSH PRIVILEGES; |
通过以上步骤,您可以在 MySQL 中成功添加新用户。如果您有任何疑问或需要进一步协助,请随时告诉我。
要在CentOS 7上禁用root用户的远程登录,您可以按照以下步骤操作:
以已有具有sudo权限的用户登录到CentOS 7服务器。
编辑SSH配置文件/etc/ssh/sshd_config
。您可以使用文本编辑器(如vi
或nano
)打开文件进行编辑。
寻找以下行:
1 | #PermitRootLogin yes |
1 | PermitRootLogin no |
保存修改并关闭文件。
重新加载SSH服务以使更改生效。您可以使用以下命令重新启动SSH服务:
1 | sudo systemctl restart sshd |
现在,root用户的远程登录已被禁用。如果您需要通过SSH访问服务器,请使用其他有sudo权限的用户登录,然后可以使用su - root
切换到root用户执行需要特权的操作。
请牢记,禁用root远程登录有助于增加服务器的安全性,因为攻击者必须先破解普通用户的密码才能尝试登录为root。如果您有任何疑问或需要进一步协助,请告诉我。