Linux setuid和seteuid

2018年12月20日 没有评论

本篇内容是 su部分帐户免密码切换 的衍生篇。在LINUX下有4个UID:RUID(real user id)、EUID(effective user id)、SUID(saved user id)、SUID(set user id),其具体区别如下:

RUID, 用于在系统中标识一个用户是谁,当用户使用用户名和密码成功登录后一个UNIX系统后就唯一确定了他的RUID;
EUID, 用于系统决定用户对系统资源的访问权限,通常情况下等于RUID;
SUID(set user id),用于对外权限的开放。跟RUID及EUID是用一个用户绑定不同,它是跟文件而[......]

Read more

golang plugin插件的使用

2018年12月19日 没有评论

Go 1.8 为我们提供了一个创建共享库的新工具,称为 Plugins!同时官方文档也提示了:Currently plugins are only supported on Linux and macOS 。其可以应用如下场景:

  • 通过plugin我们可以很方便的对于不同功能加载相应的模块并调用相关的模块;
  • 也可以针对不同语言(英文、汉语、德语……)加载不同的语言so文件,进行不同的输出;
  • 还可以把编译出的文件给不同的编程语言用(如:c/java/python/lua等)。

一、go p[......]

Read more

golang TCP client自动重连

2018年12月13日 没有评论

golang简易版TCP client server 篇中简单列了下golang下的c/s模式代码,不过遇到 server 端异常时, client端也就自动退出了,这里再给出一段自动重连的代码,实现无论server端如何,client始装循环下去。所以本篇的重点是client端的代码

server 端代码

package main
import (
    "fmt"
    "net"
    "os"
    "strings"
    "time"
)
func checkError(err error) {[......]

Read more

golang简易版TCP client server

2018年12月12日 没有评论

每个编程语言都会有socket类的编程,最常用的就是tcp c/s 和udp c/s,这里就使用golang实现一个简单的tcp server client程序,server会等待 client发送数据给他,server接收到数据后,再处理后回传给client 。具体效果如下图:

simple-tcp-client-server

server端代码如下

package main
import "net"
import "fmt"
import "bufio"
import "strings"
func main() {
	fmt.Println("Launchin[......]

Read more

Guacamole使用数据库

2018年12月11日 没有评论

guacamole web网关平台的使用

2018年12月10日 没有评论

golang toolkits包的使用

2018年12月3日 没有评论

远程桌面(mstsc)代理

2018年12月1日 没有评论

Prometheus+grafana监控配置

2018年11月30日 没有评论

golang ssh包的使用

2018年11月27日 没有评论