连接修改当前用户的sudo超级用户权限socks5代理访问网络

socks5代理  时间:2021-03-11  阅读:()

1》 xx is not in the sudoers file问题的解决方案

2013-01-22 10:37:54xx is not in the sudoers file问题解决的两种方案如下。 。 。 。 。两种方法执行命令不同而已原理其实一样www.2 c t o.c om

方法一

首先利用w herei s命令查找s udoer s配置文件的目录默认会在etc/sudoers)

[root@local host xiaof ei]# where is sudoe rssudoe rs: /etc/sudoe rs/etc/sudoe rs.bak/usr/share/man/man5/sudoers.5.gz

然后需要su-切换到root用户更改/etc/sudoers的权限

[root@local host xiaof ei]# chmod u+w /etc/sudoe rs

然后就可以利用vi编辑器来把用户添加到s udoer s之中

[root@local host xiaof ei]# vi /etc/sudoers

然后找到r oot ALL=(ALL) ALL所在的位置把所要添加的用户添加到文件之中

下面是添加完的结果

## Allow root to run any comma nds anywh ereroot ALL=(ALL) ALLxiaof ei ALL=(ALL) ALL 这一行是添加的内容 xiaof ei是用户名

然后需要把sudoe rs的写权限去掉

[root@local host xiaof ei]# chmod u-w /etc/sudoe rs

如果不去掉写权限系统不允许执行suode rs文件运行sud o命令时会出现以下错误sudo: /etc/sudoe rs is mode 0640, shoul d be

0440 www.2cto.com

至此在退出ro ot用户之后就可以利用sudo命令来执行超级用户的权限了。

方法二

首需要切换到roo t身份

$su -

(注意有- 这和su是不同的在用命令"su"的时候只是切换到ro ot但没有把r oot的环境变量传过去还是当前用户的环境变量用"su-"命令将环境变量也一起带过去就象和ro ot登录一样)

然后

$visudo //切记此处没有v i和sudo之间没有空格

1、移动光标到最后一行

2、按a进入app end模式

3、输入your_user_name ALL=(ALL) ALL

4、按Esc

5、输入“:wq”

这样就把自 己加入了s udo组可以使用s udo命令了。

2》通过Soc ket5代理服务器访问网络的问题

时间:2010-11-2015:39来源:未知作者:admin点击:次

通过Soc ket5代理服务器访问网络的问题Sock s5版本的协议说明参考RFC1928,RFC1929

下面简单地罗列程序实现不涉及详细的协议规范。首先对于TCP连接然后再讨论UDP传输。至于通过socks 5的多播通讯有兴趣可以参考D.

Chouinard的文章。

1、 TCP:

//建立流套接字

SOCKET m_socTCP=socket(AF_INET,SOCK_STREAM,

I PPROTO_TCP);

//连接到代理服务器int nRet=connect(m_socTCP,(SOCKADDR*)&m_sa iProxy,sizeof(m_sa iProxy));

//Step 1:连接代理服务器成功后马上开始和代理协商协商报文如下,询问服务器版本5是需要验证(0x02)还是不需要验证(0x00)

+------+-------------------+------------+

|VER | Numberof METHODS|METHODS |

+------+-------------------+------------+

| 0x05 | 0x02 (有两个方法) | 0x00 | 0x02|

+------+-------------------+------------+const charreqNego[4]={(char)0x05,(char)0x02,(char)0x00,(char)0x02};nRet=send(m_socTCP,reqNego,4,0);

//Setp 2:代理服务器将返回两个字节的协商结果接收协商结果fd_set fdread;FD_ZERO(&fdread);

FD_SET(m_socTCP,&fdread);

// Last param set to NULLforblocking operation. (struct timeval*)if((nRet=select(0,&fdread,NULL,NULL,NULL))==SOCKET_ERROR){return NC_E_PROXY_SELECT_READ|WSAGetLastError();}char resNego[2]={‘\0‘};int nRcvd=0,nCount=0;whi le(1)

{if(FD_ISSET(m_socTCP,&fdread))

{

//接收sock[0]发送来的数据do{n Ret=recv(m_socTCP, (cha r*)res Nego+n Rcvd, 2-n Rcvd,0);if(nRet==SOCKET_ERROR){return

NC_E_PROXY_RECEIVE|WSAGetLastError();}n Rcvd +=n Ret;

}whi le((nRcvd!=2)&&(++nCount<1000));i f(n Rcvd==2) brea k;

}if(nCount++>=2000){return

NC_E_PROXY_RECEIVE|WSAGetLastError();}

}if(resNego[0]!=0x05 | | (resNego[1]!=0x00&&resNego[1]!=0x02)){return

NC_E_PROXY_PROTOCOL_VERSION|W SAGetLastError();};

//Step 3:根据协商结果判断是否需要验证用户如果是0x02则需要提供验证验证部分参考RFC1929if(resNego[1]==0x02)

{

//需要密码验证char reqAuth[513]={‘\0‘};

BYTE byLenUser=(BYTE)strlen(m_szProxyUserName);

BYTE byLenPswd =(BYTE)strlen(m_szProxyPassword);reqAuth[0]=0x01;reqAuth[1]=byLenUser;sprintf(&reqAuth[2],"%s",m_szProxyUserName);reqAuth[2+byLenUser]=byLenPswd;sprintf(&reqAuth[3+byLenUser],"%s",m_szProxyPassword);

//Send authentication infoint len=(int)byLenUser+(int)byLenPswd+3;nRet=send(m_socTCP,(const char*)reqAuth,len,0);if (nRet==SOCKET_ERROR){return

NC_E_PROXY_SEN D|WSAGetLastError();}

//Now: Response to the auth requestchar resAuth[2]={‘\0‘};int nRcvd=0,nCount=0;do{n Ret=recv(m_socTCP,resAut h+n Rcvd,2-n Rcvd,0);if(nRet==SOCKET_ERROR){return

NC_E_PROXY_RECEIVE|WSAGetLastError();}n Rcvd +=n Ret;

}whi le((nRcvd!=2)&&(++nCount<1000));if(nCount>=1000){return

NC_E_PROXY_RECEIVE|WSAGetLastError();}if (resAuth[1]!=0) return NC_E_PROXY_AUTHORIZE;

//密码验证通过了

}

//Step 4:协商完成开始发送连接远程服务器请求,请求报文格式如下

+----+-----+-------+------+----------+----------+

|VER|CMD| RSV |ATYP | DST.ADDR| DST.PORT|

+----+-----+-------+------+----------+----------+

| 1 | 1 | 0x00 | 1 |Variable | 2 |

+----+-----+-------+------+----------+----------+

//CMD==0x01表示连接,ATYP==0x01表示采用IP V4格式地址DST.ADDR是远程服务器地址 DST.PORT是远程服务器端口

//如果需要接受外来连接则需要在连接完成之后发送CMD==0x02绑定请求代理将为此请求绑定一个套接字接受外部连接charreqSubNego[10]={(char)0x05,(char)0x01,(char)0x00,(char)0x01,(char)0x00,(char)0x00,(char)0x00,(char)0x00,(char)0x00,(char)0x00};

*(unsigned long*)&reqSubNego[4]

=m_saiServerTCP.sin_addr.S_un.S_addr;

*(unsigned short*)&reqSubNego[8]=m_saiServerTCP.sin_port;

nRet=send(m_socTCP,(const char*)reqSubNego,10,0);if (nRet==SOCKET_ERROR){return

NC_E_PROXY_SEN D|WSAGetLastError();}

//Step 5:接收对请求的响应 响应包格式如下

+----+-----+-------+------+----------+----------+

|VER| REP | RSV |ATYP | BND.ADDR| BND.PORT|

+----+-----+-------+------+----------+----------+

| 1 | 1 | 0x00 | 1 |Variable | 2 |

+----+-----+-------+------+----------+----------+

//VER必须是0x 05,REP==0x00表示成功 ATYP==0x01表示地址是IPV4地址 BND.ADDR是代理为连接远程服务器绑定的地址 BND.PORT是这个套接字的端口char resSubNego1[5]={‘\0‘};if(FD_ISSET(m_socTCP,&fdread))

{int nRcvd=0,nCount=0;do{n Ret=recv(m_socTCP,resSu bNego 1+n Rcvd,5-n Rcvd,0);if(nRet==SOCKET_ERROR){return

NC_E_PROXY_RECEIVE|WSAGetLastError();}n Rcvd +=n Ret;

}whi le((nRcvd!=5)&&(++nCount<1000));if(nCount>=1000){return

NC_E_PROXY_RECEIVE|WSAGetLastError();}if(resSubNego1[0]!=0x05| |resSubNego1[1]!=0x00){return

NC_E_PROXY_PROTOCOL_VERSION_SU B|WSAGetLastError();};switch(resSubNego1[3])

{case 0x01:

{

// IP V4char resSubNego2[6]={resSubNego1[4],0};int nRet=-1;if(FD_ISSET(m_socTCP,&fdread))

{int nRcvd=0,nCount=0;do{i nt nRet= recv(m_socTCP,&resSubNego2[1]+nRcvd,5-nRcvd,0);if(nRet==SOCKET_ERROR){return

NC_E_PROXY_RECEIVE|WSAGetLastError();}n Rcvd +=n Ret;

}whi le((nRcvd!=5)&&(++nCount<1000));if(nCount>=1000){return

NC_E_PROXY_RECEIVE|WSAGetLastError();}

}

//得到代理绑定地址unsigned long ulBINDAddr=*(unsigned long*)&resSubNego2; //SOCKS BINDADDRunsigned short usBINDPort=*(unsigned short*)&resSubNego2[4];//SOCKS BIND PORTm_saiProxyBindTCP.sin_addr.S_un.S_addr=ulBINDAddr;m_saiProxyBindTCP.sin_port=usBINDPort;

//得到本机绑定地址int len=sizeof(m_saiHostTCP);getsockname(m_socTCP,(SOCKADDR*)&m_saiHostTCP,&len);}break;case 0x03:

{

//Domain nameint nLen= resSubNego1[4]+2;char* presSubNego2=new char[nLen];if(FD_ISSET(m_socTCP,&fdread))

{int nRet=0,nRcvd=0,nCount=0;do{nRet=recv(m_socTCP,presSubNego2+nRcvd,nLen-nRcvd,0);if(nRet==SOCKET_ERROR){return

NC_E_PROXY_RECEIVE|WSAGetLastError();}n Rcvd +=n Ret;

}whi le((nRcvd!=nLen)&&(++nCount<1000));if(nCount>=1000){return

NC_E_PROXY_RECEIVE|WSAGetLastError();}

}unsigned short usBINDPort=*(unsignedshort*)(presSubNego2+nLen-2); //BIND PORT;

//此时得到的是远程主机的Doma in Namedelete[] presSubNego2; presSubNego2=NULL;

}break;case 0x04:

{

// IPV6

AfxMessa geBox("该版本不支持IPV6";

}break;default:break;

}

//至此连接已经建立。在此套接字上可进行数据的收发。

}

2、 UDP

SOCKS V5提供了对UDP的支持它通过在代理服务器和内网主机之间建立一个UDP中继的T C P连接来辅助进行UDP数据包的收发。此连接有一个有效期在此有效生命周期内必须往代理发送UDP数据报确认连接有效来维持此连接的有效性否则代理服务器超时将会自动释放此连接的资源。下面简单地罗列程序实现不涉及详细的协议规范。

//客户端为U DP中继建立一个相关的流套接字

SOCKET m_socCl ientTCP_UdpAssociate=socket(AF_INET,

SOCK_STREAM, IPPROTO_TCP);

//连接代理服务器intnRet=connect(m_socCl ientTCP_UdpAssociate,(SOCKADDR*)&sai Proxy,sizeof(saiProxy));

//连接成功开始和代理服务器协商首先发送版本标志方法选择报文const charreqNego[4]={(char)0x05,(char)0x02,(char)0x00,(char)0x02};nRet=send(m_socCl ientTCP_UdpAssociate,reqNego,4,0);if( nRet==SOCKET_ERROR

{

DWORD dwError=WSAGetLastError();if (dwError!=WSAEWOULDBLOCK) return

NCM_E_WM_CREATE_PROXYREQUESTFAILED;

}

//接收协商的响应fd_set fdread; FD_ZERO(&fdread);

FD_SET(m_socCl ientTCP_UdpAssociate,&fdread);if((nRet=select(0,&fdread,NULL,NULL,NULL))==SOCKET_ERROR)return NCM_E_WM_CREATE_PROXYCONNECTFAILED;char resNego[2]={0};int nRcvd=0,nCount=0;

if(FD_ISSET(m_socCl ientTCP_UdpAssociate,&fdread))

{nRcvd =recv(m_socCl ientTCP_UdpAssociate,

(cha r*)resNego+nRcvd, 2,0);if(nRcvd==SOCKET_ERROR) return

NCM_E_WM_CREATE_PROXYCONNECTFAILED;

}if(resNego[0]!=0x05 | | (resNego[1]!=0x00&&resNego[1]!=0x02))return NCM_E_WM_CREATE_PROXYCONNECTFAILED;

//看是否需要密码验证if(resNego[1]==0x02)

{

//需要密码验证char reqAuth[513] ;memset(reqAuth,0,513);

BYTE byLenUser=(BYTE)strlen(m_szProxyUserName);

BYTE byLenPswd =(BYTE)strlen(m_szProxyPassword);reqAuth[0]=0x01;reqAuth[1]=byLenUser;sprintf(&reqAuth[2],"%s",m_szProxyUserName);reqAuth[2+byLenUser]=byLenPswd;sprintf(&reqAuth[3+byLenUser],"%s",m_szProxyPassword);//Send authentication infoint len=(int)byLenUser+(int)byLenPswd+3;int ret=send(m_socCl ientTCP_UdpAssociate,(constchar*)reqAuth,len,0);if (ret==SOCKET_ERROR) if (GetLastError()!=WSAEWOULDBLOCK)return NCM_E_WM_CREATE_PROXYREQUESTFAILED;

//Now: Responseto the auth requestchar resAuth[2]={‘\0‘};int nRcvd=0,nCount=0;do{ret=recv(m_socCl ientTCP_UdpAssociate,resAuth+nRcvd,2-nRcvd,0);if(ret==SOCKET_ERROR){return

NC_E_PROXY_RECEIVE|WSAGetLastError();}n Rcvd +=n Ret;

}whi le((nRcvd!=2)&&(++nCount<1000));if(nCount>=1000){return NC_E_PROXY_RECEIVE}if (resAuth[1]!=0) return

NEM_E_WM_CREATE_PROXYAUTHFAILED;

//密码验证通过了

}

//开始发送向目标服务器的连接请求其中DST.ADDR是目标服务器的地址DST.PORT是目标服务器的UDP端口charreqSubNego[10]={(char)0x05,(char)0x03,(char)0x00,(char)0x01,(char)0x00,(char)0x00,(char)0x00,(char)0x00,(char)0x00,(char)0x00};

*(unsigned long*)&reqSubNego[4]

=saiServerUDP.sin_addr.S_un.S_addr; // cmd: DEST.addr

*(unsigned short*)&reqSubNego[8]=saiServerUDP.sin_port; // cmd:DEST.port in network octet ordernRet=send(m_socCl ientTCP_UdpAssociate,(constchar*)reqSubNego,10,0);if (nRet==SOCKET_ERROR) return

NEM_E_WM_CREATE_PROXYREQFAILED;

//接收响应信息int nRecvCount=0;i nt nRecvBufferLen= 10;charszRecvBuf[10] ;n Ret=0;if(FD_ISSET(m_socCl ientTCP_UdpAssociate,&fdread))

{int nRcvd=0,nCount=0;do{n Ret=recv(m_socCl ientTCP_UdpAssociate,(char*)szRecvBuf+nRcvd,10-nRcvd,0);if(nRet==SOCKET_ERROR){return

NC_E_PROXY_RECEIVE|WSAGetLastError();}n Rcvd +=n Ret;

}whi le((nRcvd!=10)&&(++nCount<1000));if(nCount>=1000){return NC_E_PROXY_RECEIVE;}if (szRecvBuf[0]!=0x05| |szRecvBuf[1]!=0x00){return

NC_E_PROXY_PROTOCOL_VERSION_SU B;}

}else

{return NCM_E_WM_CREATE_PROXYREQUESTFAILED;

}

//代理服务器绑定udp地址BND.ADR一般代理服务器都是多宿主机器 因

德阳电信高防物理机 16核16G 50M 260元/月 达州创梦网络

达州创梦网络怎么样,达州创梦网络公司位于四川省达州市,属于四川本地企业,资质齐全,IDC/ISP均有,从创梦网络这边租的服务器均可以备案,属于一手资源,高防机柜、大带宽、高防IP业务,一手整C IP段,四川电信,一手四川托管服务商,成都优化线路,机柜租用、服务器云服务器租用,适合建站做游戏,不须要在套CDN,全国访问快,直连省骨干,大网封UDP,无视UDP攻击,机房集群高达1.2TB,单机可提供1...

Asiayun:枣庄电信Asiayun美国Cera葵湾VPSvps月付,美国CERA VPS月付26元/年

亚洲云Asiayun怎么样?亚洲云成立于2021年,隶属于上海玥悠悠云计算有限公司(Yyyisp),是一家新国人IDC商家,且正规持证IDC/ISP/CDN,商家主要提供数据中心基础服务、互联网业务解决方案,及专属服务器租用、云服务器、云虚拟主机、专属服务器托管、带宽租用等产品和服务。Asiayun提供源自大陆、香港、韩国和美国等地骨干级机房优质资源,包括BGP国际多线网络,CN2点对点直连带宽以...

ProfitServer折优惠西班牙vps,荷兰vps,德国vps,5折优惠,不限制流量

profitserver正在对德国vps(法兰克福)、西班牙vps(马德里)、荷兰vps(杜廷赫姆)这3处数据中心内的VPS进行5折优惠促销。所有VPS基于KVM虚拟,纯SSD阵列,自带一个IPv4,不限制流量,在后台支持自定义ISO文件,方便大家折腾!此外还有以下数据中心:俄罗斯(多机房)、捷克、保加利亚、立陶宛、新加坡、美国(洛杉矶、锡考克斯、迈阿密)、瑞士、波兰、乌克兰,VPS和前面的一样性...

socks5代理为你推荐
渣渣辉商标渣渣辉是什么意思啊?摩根币摩根币原名【BBT】我是会员现在的我推介人把我从微信删除已经跑路,不给兑现了!请大家不要做了微信回应封杀钉钉微信违规操作被封了,梦之队官网梦之队是什么呢?是那个国家的呢?他们又是参加那个项目的呢?得了几块金牌呢?18comic.funAnime Comic Fun是什么意思啊 我不懂英文地陷裂口地陷前期会有什么征兆吗?冯媛甑夏如芝是康熙来了的第几期?xyq.163.cbg.com梦幻CBG的网站是什么。网站检测如何进行网站全面诊断www.765.com下载小说地址
域名反查 个人域名注册 域名商 全球付 表格样式 css样式大全 godaddy域名证书 怎么测试下载速度 asp免费空间申请 drupal安装 登陆空间 美国盐湖城 镇江高防 宿迁服务器 hdroad reboot paypal登陆 dbank 电脑主机 kosspp 更多