连接修改当前用户的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一般代理服务器都是多宿主机器 因

物语云-VPS-美国洛杉矶VPS无限流量云windows大带宽100M不限流量 26/月起

物语云计算怎么样?物语云计算(MonogatariCloud)是一家成立于2016年的老牌国人商家,主营国内游戏高防独服业务,拥有多家机房资源,产品质量过硬,颇有一定口碑。本次带来的是特惠活动为美国洛杉矶Cera机房的不限流量大带宽VPS,去程直连回程4837,支持免费安装Windows系统。值得注意的是,物语云采用的虚拟化技术为Hyper-v,因此并不会超售超开。一、物语云官网点击此处进入物语云...

易探云2核2G5M仅330元/年起,国内挂机宝云服务器,独立ip

易探云怎么样?易探云是国内一家云计算服务商家,致力香港服务器、国内外服务器租用及托管等互联网业务,目前主要地区为运作香港BGP、香港CN2、广东、北京、深圳等地区。目前,易探云推出深圳或北京地区的适合挂机和建站的云服务器,国内挂机宝云服务器(可选深圳或北京地区),独立ip;2核2G5M挂机云服务器仅330元/年起!点击进入:易探云官方网站地址易探云国内挂机宝云服务器推荐:1、国内入门型挂机云服务器...

DMIT(8.72美元)日本国际线路KVM月付8折起,年付5折

DMIT.io是成立于2018年的一家国外主机商,提供VPS主机和独立服务器租用,数据中心包括中国香港、美国洛杉矶和日本等,其中日本VPS是新上的节点,基于KVM架构,国际线路,1Gbps带宽,同时提供月付循环8折优惠码,或者年付一次性5折优惠码,优惠后最低每月8.72美元或者首年65.4美元起,支持使用PayPal或者支付宝等付款方式。下面列出部分日本VPS主机配置信息,价格以月付为例。CPU:...

socks5代理为你推荐
著作权登记什么是著作权登记公司网络被攻击公司的一个员工手机中病毒了,今天公司网络被攻击大家的手机都上不了网,说是有人在扫描我们的无线网,云计算什么叫做“云计算”?梦之队官网梦之队是什么呢?是那个国家的呢?他们又是参加那个项目的呢?得了几块金牌呢?广东GDP破10万亿中国GDP10万亿,广东3万亿多。占了中国三分之一的经纪。如果,我是说如果。广东独立了。中国会有什xyq.163.cbg.com『梦幻西游』那藏宝阁怎么登录?丑福晋谁有好看的言情小说介绍下同ip站点同IP做同类站好吗?www.baitu.com谁有免费的动漫网站?www.se222se.comhttp://www.qqvip222.com/
合租服务器 vps交流 便宜建站 payoneer evssl证书 云鼎网络 上海域名 php空间申请 免费mysql 北京双线机房 hdd 能外链的相册 贵阳电信测速 永久免费空间 免费个人主页 网页加速 实惠 网站加速 2016黑色星期五 weblogic部署 更多