如果是想讓普通用戶執(zhí)行哪個(gè)程序,可以設(shè)置 S 權(quán)限位,如 #chmod +s /sbin/reboot 還有一種方法,編輯兩個(gè)腳本, 一個(gè)由/etc/rc.local啟動(dòng),讀取并執(zhí)行 /tmp/fifofile323 (使用 mkfifo創(chuàng)建的管道文件)的命令, 然后使用普通用戶向管道輸送命令,...
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡(jiǎn)單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:國(guó)際域名空間、網(wǎng)站空間、營(yíng)銷軟件、網(wǎng)站建設(shè)、寧國(guó)網(wǎng)站維護(hù)、網(wǎng)站推廣。
在Linux下某些編譯要求root權(quán)限,可是很多時(shí)候在root下就無法使用java、javac等相關(guān)命令,導(dǎo)致編譯無法通過。
分析原因:
root運(yùn)行java都是 /usr/bin/java這個(gè)引用,由于Linux中可能會(huì)引用默認(rèn)的JDK,如openjdk,所以是否安裝JDK對(duì)它完全沒有影響。
解決辦法:
手動(dòng)替換默認(rèn)的Jdk版本
sudo update-alternatives --config java
系統(tǒng)會(huì)列出各種JDK版本,如下所示:
有 3 個(gè)候選項(xiàng)可用于替換 java (提供 /usr/bin/java)。
選擇 路徑 優(yōu)先級(jí) 狀態(tài)
------------------------------------------------------------
* 0 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 自動(dòng)模式
1 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 手動(dòng)模式
2 /usr/lib/jvm/java-6-sun/jre/bin/java 63 手動(dòng)模式
3 /usr/lib/jvm/java-7-sun/bin/java 300 手動(dòng)模式
要維持當(dāng)前值[*]請(qǐng)按回車鍵,或者鍵入選擇的編號(hào):3
注:update-alternatives: 使用 /usr/lib/jvm/java-7-sun/bin/java 來提供 /usr/bin/java (java),于手動(dòng)模式中。
#!/bin/sh
su - user1EOO
qsub hpc/home/test/test.sh
EOO
用Runtime調(diào)用。
java程序本身,是提升不了到root的。