Ubuntu安装配置vncserver
VNC(Virtual Network Computing)是一种远程桌面协议。 vnc 大致可以分为两种,一种直接查看 TTY 上正在显示的桌面(和插上显示器显示的一致),另一种是创建一个新的桌面(即 可以在一台 linux 上打开若干个桌面供若干用户使用)常用的 vnc 服务器有:x11vnc tigervnc tightvnc 我的系统是:ubuntu22.04, 如果你不是这个系统,可能需要做一些修改。参考官方文档:https://help.ubuntu.com/community/VNC/Servers 本文配置直接转发桌面显示。 直接转发桌面我这里使用的是 x11vnc , 创建 vnc 虚拟桌面请看: 香橙派配置VNC Server 安装服务端1sudo apt install x11vnc 创建密码文件1234x11vnc -storepasswd# 或者使用 vncpasswd 命令来创建,支持非交互式创建# echo 123456 | vncpasswd -f > ~/.vnc/passwd 密码文件创建在: ~/.vnc/passwd 通过...
安装和配置samba共享
在 windows 平台创建 smb 共享是一件很方便的事情,右键共享即可,一直没有关心 linux 平台的 smb 服务,最近家里有一台装了 ubuntu 的笔记本,想放在角落里做 nas 用,所以看看如何搭建 smb 共享。 安装服务1apt install samba 如果不小心删除了配置文件,可以通过: 12sudo apt purge samba-common sambasudo apt install samba 来重新生成 创建 samba 用户samba 使用 Linux 的用户和权限系统,但是有自己的认证机制。 samba 用户首先要是一个 Linux 用户,不然是创建不成功的。 创建一个 Linux 用户1sudo useradd -s /bin/bash -m zhanglikun -m 是在 home 目录自动创建一个 zhanglikun 目录 创建一个 smb 用户1sudo smbpasswd -a zhanglikun 手动输入两遍密码即可,其他操作可以通过 smbpass -h 查看 创建共享目录使用 zhanglikun...
给 Ubuntu 加密 Home 目录
Ubuntu 在安装的时候是可以进行全盘加密的,但是全盘加密没法像 Windows 做的那样无感(开机需要输入密码才能进入进入系统,macOS 的 FileVault 也是如此,Windows 的 BitLocker 是可以利用 TPM 进行自动解密,使用体验完全和不加密一样,微软牛逼)在一些需要无人值守的情况下就不太好用,比如使用远程桌面连接机器,然后重启了远程机器,你会发现再也连不上了,因为需要先解密磁盘才能启动操作系统。 安装工具加密 Home 文件夹,需要安装 eCryptfs: 1sudo apt install ecryptfs-utils cryptsetup 开始加密加密切换到 root 用户执行,或者你也可以创建一个管理员账号来执行。 1ecryptfs-migrate-home -u <用户名> 过程中需要输入你加密的用户的用户名和密码。加密后会创建临时备份目录,如果可以正常进入桌面,可以把备份目录删除,备份目录在 /home/...
Hyper-V 自定义内部网络网段和IP地址
开始之前首先如果是仅仅想要主机和虚拟机进行数据互通,其实不需要固定 IP,直接通过计算机名就可以互相访问。 Hyper-V 网络模式外部虚拟网络: 类似于 VMware 的桥接网络模式, 在希望允许虚拟机与外部服务器和管理操作系统(有时称为父分区)进行通信时,可以使用此类型的虚拟网络。此类型的虚拟网络还允许位于同一物理服务器上的虚拟机互相通信。 内部虚拟网络: 类似于 VMware 的 NAT 网络模式, 在希望允许同一物理服务器上的虚拟机与虚拟机和管理操作系统之间进行通信时,可以使用此类型的虚拟网络。内部虚拟网络是一种未绑定到物理网络适配器的虚拟网络。它通常用来构建从管理操作系统连接到虚拟机所需的测试环境。 专用虚拟网络: 在希望只允许同一物理服务器上的虚拟机之间进行通信时,可以使用此类型的虚拟网络。专用虚拟网络是一种无需在管理操作系统中装有虚拟网络适配器的虚拟网络。在希望将虚拟机从管理操作系统以及外部网络中的网络通信中分离出来时,通常会使用专用虚拟网络。 由于 Hyper-V 自带的 Default Switch 在每次电脑重启的时候会自动分配一个未使用的网段,...
Linux的crontab无法执行的一些问题
crontab 是 linux 平台的定时任务系统,不过有时候可以运行的命令或脚本在 crontab 里面就是不运行,下面找了一些可能的原因以及解决方案。 看不到日志一般来说,crontab 的任务控制台输出会打到 /var/spool/mail/<username> 里面,然后通过 email 发出去crontab 服务的运行的日志一般都在 /var/log/cron 里面,这个日志可以看到任务有没有执行 如果想将命令输出内容重定向到其他文件,可以在命令后添加 >> xxx.log 2>&1, 不加 2>&1 错误日志看不到 1* * * * * date >> /tmp/cron.log 2>&1 环境变量的问题crontab 环境变量和登录 shell 查看的环境变量是不同的,比如 1* * * * * env >> /tmp/env.log...
两台计算机直接传输文件的几种方式
这里的计算机指的是广义上的计算机,包括但不限于家用电脑、服务器、手机、树莓派等等 scp scp 使用的是 SSH 端口 12345678# 拷贝本地文件testfile到192.168.1.100的/tmp目录下scp testfile root@192.168.1.100:/tmp# 拷贝本地文件夹到192.168.1.100的/tmp目录下scp -r testfolder root@192.168.1.100:/tmp# 拷贝远程到本地scp root@192.168.1.100:/tmp/testfile . ftp ftp 控制端口是 21,用于账号密码认证以及协商端口等。主动模式:数据端口是 20被动模式:客户端可服务端协商一个端口 使用 Python 简单搭建一个 ftp 服务器 12pip3 install pyftpdlibpython3 -m pyftpdlib -p 21 sftp sftp 是安全的 ftp,走的是 SSH 协议 sftp 常用命令 命令 功能 cd path Change remote directory to...
运维使用的Windows软件分享
终端工具xshell 全家桶Xmanager Power Suite 8 支持 rdp 协议连接 windows,包含四大金刚组件(xshell xftp xmanager xlpd)附上 7 和 6 版本备用。不过 xshell 的缺点是使用 rz 和 sz 上传下载文件的时候容易乱码(文件传输失败并且终端上会刷很多乱码文本) 软件名 包含组件 下载地址 xshell plus 7 包含 xshell 和 xftp ,解压即用,不用执行 bat,不写注册表,不弹窗。 github Xmanager Power Suite 6 包含 xshell xftp xmanager xlpd,需要执行 bat 脚本,不弹窗。 github Xmanager Power Suite 8 包含 xshell xftp xmanager xlpd,不用执行 bat 脚本,不弹窗。 github mobaxterm待完善 securecrt待完善 tsshtssh 是纯命令行软件,可以在 Windows Terminal 中运行,看起来更极客一点。tssh 可以兼容...
使用s6-Overlay来管理多进程容器
容器使用最佳实践是:一个容器运行一个进程,进程退出容器也就退出,很优雅是不是?但是…在日常工作中总有一些你懂的的原因,就需要多个进程塞在一个容器里面,那么我们可以怎么来管理容器内进程呢?这个时候容器内的进程管理工具就派上用场了。s6-Overlay 就是其中之一s6-Overlay 官方 github 地址:https://github.com/just-containers/s6-overlay 安装容器是通过判断 pid=1 的进程来判断容器是否工作正常的,也就是说 s6-Overlay 进程 pid 为 1 通过官方安装脚本来安装 12345678FROM ubuntuADD https://github.com/just-containers/s6-overlay/releases/download/v2.2.0.1/s6-overlay-amd64-installer /tmp/RUN chmod +x /tmp/s6-overlay-amd64-installer && /tmp/s6-overlay-amd64-installer...
Flask之服务端持久化session
需求如下:开发一个 web 界面,用户经过 oauth 认证后,给用户生成一个随机密码显示出来,并将用户名和密码发送给 radiusserver 用来当作 WIFI 密码。因为希望密码不要随便就更换,那样员工出去再进来,手机就需要重新输入新密码才能连 WIFI,容易被人打。所以用 session 存储的方式,将密码保存一定时间。 什么是 sessionsession 基于 cookie 实现,保存在服务端的键值对(dict 类型),同时在浏览器中的 cookie 中也对应一相同的随机字符串,用来再次请求的时候验证Flask 中的 session 是加密的,所以需要配置 SECRET_KEY 开始使用导入模块1from flask import Flask, render_template, request, session 配置 SECRET_KEY1app.secret_key = os.getenv("SECRET_KEY", "not set key") 设置 session 类型可以存临时文件,还可以存...
检查端口是否能通的几种方法
服务器上运行了一个服务,想测试一下端口通不通,可以通过以下一些方法来测试。 telnet常见的 tcp 端口测试都是用的 telnet,用法也很简单 1telnet 10.0.0.7 22 成功会显示: 1234Trying 10.0.0.7...Connected to 10.0.0.7.Escape character is '^]'.SSH-2.0-OpenSSH_7.4 失败会显示: 12Trying 10.0.0.7...telnet: Unable to connect to remote host: Connection refused ssh使用 1ssh root@localhost -p 8000 失败会显示 1ssh: connect to host localhost port 8001: Connection refused curlcurl ip:port 失败会显示 1curl: (7) Failed to connect to localhost port 8001: Connection...