1. 程式人生 > >crontab中執行其他賬號執行的程式 免密碼

crontab中執行其他賬號執行的程式 免密碼

我有一個crontab但是執行的指令碼中包含這麼一句,如下:

/usr/bin/sudo -u pennyliang bash -c ' echo xxx '

這時這個echo xxx總是執行不了,後來發現是因為root的 crontab的指令碼如果切換到其他賬號是需要賬號密碼的,

找到一個文章,解決了這個問題,並記錄下來 http://blog.csdn.net/wangxianshou/article/details/8531340

第一步  chmod u+w /etc/sudoers

在 修改/etc/sudoers 中的

 56 # Defaults    requiretty    55行左右的地方註釋掉這句

 98 root    ALL=(ALL)       ALL
 99 %pennyliang     ALL=(ALL)       NOPASSWD:ALL    99行的地方增加需要suder免密碼的賬號

第三步 chmod u-w /etc/sudoers


相關推薦

crontab執行其他賬號執行程式 密碼

我有一個crontab但是執行的指令碼中包含這麼一句,如下: /usr/bin/sudo -u pennyliang bash -c ' echo xxx ' 這時這個echo xxx總是執行不了,後來發現是因為root的 crontab的指令碼如果切換到其他賬號是需

Python四種執行其他程式的方式

在Python中,可以方便地使用os模組來執行其他指令碼或者程式,這樣就可以在指令碼中直接使用其他指令碼或程式提供的功能,而不必再次編寫實現該功能的程式碼。為了更好地控制執行的程序,可以使用win32process模組中的函式,如果想進一步控制程序,則可以使用ctype模組

bat如何等某個程式啟動後再執行其他程式

大概思路 每個5秒鐘去查詢程序中是否存在某程序,存在則執行其他程式,否則等待 具體程式碼可參照: set status=false :TaskXXX for /f "delims= " %%i in ('tasklist') do ( if "%%i"=="TaskXXX

在eclipse執行叢集版MapReduce程式

我們在windows下的eclipse直接將mapReduce程式傳送到hadoop叢集,在叢集上跑mapReduce程式。 1. 首先我們需要配置hadoop叢集的引數 我們可以通過程式碼的方式進行配置,也可以從hadoop叢集中直接下載配置檔案 下載好的配置檔案直接放在

crontab如何設定每30秒執行一次任務

crontab任務配置基本格式:*   *  *  *  *  command 第1列表示分鐘0~59 每分鐘用*或者 */1表示 第2列表示小時0~23(0表示0點) 第3列表示日期1~31 第4列表示月份1~12 第5列標識號星期0~6(0,7都可表示星期天) 第6列要執

PHP switch分支語句省略break後還會執行其他case的原因分析

請分析以下PHP程式碼的輸出結果: $a= 'dog'; switch($a) { case 'cat': echo "\$a is cat"; case 'dog': echo "\$a is dog"; case 'pig': echo "\$a is pig"

inotify+rsync實現實時同步(附解決crontab無法執行python指令碼的問題)

1.準備環境 # 系統支援的話,下面的目錄就會存在 ls /proc/sys/fs/inotify/ rpm -qa inotify-tools yum -y install inotify-tools 2.inotifywait監控目錄狀態變化 /usr/bin/inotif

程式執行過程卡住,不再執行,也不產生錯誤資訊

有個web專案存放在azure 雲上,由於無法向IIS 一樣可以靈活操作,因此寫了一大堆的log進行程式記錄,剛開始正常執行並寫出日誌檔案。後來發現數據庫不再更新,並且log 每日只寫了一部分,後面的日誌不再執行,也不產生任何錯誤,由此浪費了很多的時間進行除錯操作,都沒有找到原因,而當我將該

使用ShellExecute函式執行其他程式 ——轉載

10.4.2  使用ShellExecute函式執行其他程式 除了使用os模組中的os.system()函式以外,還可以使用win32api模組中的ShellExecute()函式。其函式如下所示。 ShellExecute(hwnd, op , file , params , d

WINDOWS, 如何檢視一個執行程式是64位還是32位的?

方法一: 工作管理員法 工作管理員>>>程序(processes)>> 程序後帶有*32的是32位程式 方法二: 簡化顏色模式法 右鍵exe>>>屬性>>>相容性 若Settings框中的降低色彩和解析度的選項

一個程式在計算機到底是如何執行的?

在《載入記憶體,讓程式執行起來》一節中講到,程式是儲存在硬碟中的,要載入記憶體才能執行,CPU也被設計為只能從記憶體中讀取資料和指令。 對於CPU來說,記憶體僅僅是一個存放指令和資料的地方,並不能在記憶體中完成計算功能,例如要計算 a = b + c,必須將 a、b、c 都讀取到CPU內部才能進行加

crontab python 指令碼執行失敗的解決方法

寫伺服器程式的免不了要經常和 crontab 打交道,定時執行一些指令碼什麼的。大部分情況下都是 bash 的一些 shell 指令碼,但 shell 我不是很熟悉,於是在很多情況下都直接寫 Python 指令碼來搞定它。今天寫了一個操作 PostgreSQL 資料庫的 P

shell在crontab不能執行問題的解決方案

問題描述 最近在實現一個定時重啟tomcat的工作,指令碼寫好之後執行沒有問題,但是放到crontab中卻一直無法執行。具體表現就是重啟tomcat的過程中並沒有將舊的tomcat程序刪除就起了新的tomcat程序,由此引起程序過多的問題。 解決思路

可直接執行的指令碼放到crontab就不執行

iamlaosong文 前面文章曾提到過的定時檢測壓縮包並完成解壓、修改檔名和匯入到資料庫的指令碼(檢測壓縮包並處理的Linux指令碼(解壓、批量修改檔名、匯入)),後來發現放到crontab中就無法

shell 後臺執行以及隱藏指令碼呼叫其他指令碼隱藏輸出

例如:A.sh要後臺呼叫B.sh ,要隱藏B.sh中的輸出。(後臺執行符號"&"要寫在隱藏語句“> /dev/null 2>&1 "的後面) B.sh #===================== #!/bin/bash echo “this

crontab無法執行docker-compose的命令的解決方法

    經過多次實驗,終於找到在crontab中執行docker-compose命令的方法。    即使是用cd /home/user/program切換目錄到專案裡面,用docker-compose執行也是沒有效果的,    其中最關鍵的是,要寫命令的全路徑,唯有把dock

在eclipse編寫Hadoop的WordCount程式,並在eclipse執行

基於Windows7 + jdk1.8.0_162 + eclipse4.7.2 + Hadoop2.7.7 一、安裝eclipse(自行百度) 二、安裝jdk(自行百度) 三、下載maven倉庫並在eclipse中配置maven環境(後面的文章講) 四、在eclipse中新建一個maven

linux ssh 到遠端伺服器執行命令和crontab執行命令提示命令找不到的問題

使用ssh ip "hadoop" 命令時,提示找不到hadoop命令。 因為hadoop是在/etc/profile配置的,ssh到一臺伺服器上時,會執行使用者環境。 而ssh到一臺伺服器上,帶著命

Mybatis程式執行和單獨執行同一條SQL出現結果不一致(部分資料沒有查詢出來)

1.mapper檔案如下所示: <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybat