Gorunpermissiondenied的問(wèn)題分析與解決方案是怎樣的

Go run permission denied的問(wèn)題分析與解決方案是怎樣的,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。

成都網(wǎng)絡(luò)公司-成都網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián)10多年經(jīng)驗(yàn)成就非凡,專(zhuān)業(yè)從事成都做網(wǎng)站、網(wǎng)站制作,成都網(wǎng)頁(yè)設(shè)計(jì),成都網(wǎng)頁(yè)制作,軟文推廣,廣告投放平臺(tái)等。10多年來(lái)已成功提供全面的成都網(wǎng)站建設(shè)方案,打造行業(yè)特色的成都網(wǎng)站建設(shè)案例,建站熱線(xiàn):028-86922220,我們期待您的來(lái)電!

0x01 問(wèn)題

一次同事反饋在環(huán)境中,執(zhí)行g(shù)o run xx.go時(shí)出現(xiàn)如下異常提示。

fork/exec /tmp/go-build104992250/b001/exe/h: permission denied

有點(diǎn)興趣,所以就動(dòng)手查了下。查的過(guò)程比較簡(jiǎn)單,希望會(huì)有所幫助。

0x02 分析

出現(xiàn)這個(gè)問(wèn)題,原因是go在/tmp目錄下生成的可執(zhí)行文件沒(méi)有執(zhí)行權(quán)限,當(dāng)Go去執(zhí)行時(shí)就會(huì)報(bào)錯(cuò)。 為什么會(huì)沒(méi)有執(zhí)行權(quán)限呢? 請(qǐng)教了同事之后,確認(rèn)了開(kāi)發(fā)環(huán)境中的/tmp的掛載選項(xiàng)中如下所示。

tmpfs on /run/shm type tmpfs (rw,nosuid,nodev,noexec,relatime,size=524288k)

其中有一個(gè)選項(xiàng)為noexec。mount的man page中如下描述,這個(gè)選項(xiàng)是可以禁止掉二進(jìn)制的可執(zhí)行權(quán)限,這會(huì)提高系統(tǒng)的安全性。實(shí)測(cè)這個(gè)選項(xiàng)對(duì)Shell、Python這種腳本語(yǔ)言的可執(zhí)行腳本也有效果。

       noexec Do not permit direct execution of any binaries on the mounted filesystem.

0x03 解決

既然這個(gè)選項(xiàng)是安全要求的,自然不能去修改。轉(zhuǎn)換下思路,能不能讓Go換個(gè)地方。直覺(jué)告訴我,應(yīng)該有個(gè)環(huán)境變量控制這個(gè)行為。很遺憾在國(guó)內(nèi)并沒(méi)有搜到。
既然是環(huán)境變量,那就去源碼目錄里搜索下。 通過(guò)GOROOT環(huán)境變量,確認(rèn)了Go中的環(huán)境變量具有如下特征。 env GOROOT=$WORK/parent/goroot 有一個(gè)env的前綴。 grep 'env ' -rIn . | grep -i tmp 執(zhí)行后,找到了GOTMPDIR這個(gè)環(huán)境變量。 在環(huán)境里試了下,GOTMPDIR=/root go run xxx.go之后,運(yùn)行成功。問(wèn)題解決了。

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)的支持。

分享題目:Gorunpermissiondenied的問(wèn)題分析與解決方案是怎樣的
網(wǎng)頁(yè)網(wǎng)址:http://muchs.cn/article28/ihidjp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站、網(wǎng)頁(yè)設(shè)計(jì)公司用戶(hù)體驗(yàn)、網(wǎng)站營(yíng)銷(xiāo)、外貿(mào)網(wǎng)站建設(shè)域名注冊(cè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁(yè)設(shè)計(jì)