1. 程式人生 > >Linux下普通使用者執行關機、重啟指令

Linux下普通使用者執行關機、重啟指令

方法1(推薦)

在root使用者下用visudo命令新增以下程式碼到/etc/sudoers檔案的末端。替換其中的user為你的使用者名稱,hostname為你的主機名(可以使用hostname命令查詢)。

user hostname=NOPASSWD: /sbin/shutdown -h now
user hostname=NOPASSWD: /sbin/reboot

或者合併為一行表示

user hostname=NOPASSWD: /sbin/shutdown -h now,/sbin/reboot

修改完之後ctrl+o寫入,ctrl+x退出編輯。
現在你的使用者可以用sudo shutdown -h now命令關機,reboot命令重啟了。

注意:修改完仔細檢查,寫錯了會導致無法進入root許可權,如果出現了錯誤可以參照文章最後進行修復

方法2(不安全)

[email protected] ~]#whereis reboot                        #查詢reboot的位置
reboot: /sbin/reboot  /usr/share/man/man8/reboot.8.gz
[[email protected] ~]#su user                              #切換到user
[[email protected] root]$ reboot                           #執行重啟測試
reboot: Need to be root                                 #提示需要root
[
[email protected]
root]$ exit #退回到root使用者 exit [[email protected] ~]# ll /sbin/reboot #檢視預設/sbin/reboot的詳細資訊 -rwxr-xr-x. 1 root root 13932 Jul 19 2011 /sbin/reboot #注意看前三個為rwx [[email protected] ~]# chmod u+s /sbin/reboot #增加suid許可權 [[email protected]
~]# ll /sbin/reboot #重新檢視修改後的/sbin/reboot詳細資訊 -rwsr-xr-x. 1 root root 13932 Jul 19 2011 /sbin/reboot #這時候已經變更為rws [[email protected] ~]# su user #重新切換到user使用者 [[email protected] root]$ reboot #執行reboot指令

方法3(xfce桌面下,gnome等桌面並不可行)

在Xfce下,如果你希望使用者利用Halt關機,需要安裝sudo。然後用visudo -f命令新增以下內容到/etc/sudoers中
對所有使用者:

%users hostname=NOPASSWD:/usr/lib/xfce4/xfsm-shutdown-helper

對單一使用者:

user hostname=NOPASSWD:/usr/lib/xfce4/xfsm-shutdown-helper

替換其中的user為你的使用者名稱,hostname為你的主機名。
這樣你定義了的使用者的“關機”和“重啟”選項就激活了。

意外情況

因為修改了/etc/sudoers以及相關許可權,導致sudo無法使用,錯誤如下:

sudo: >>> /etc/sudoers:syntax error 在行 32 附近<<<   
sudo: /etc/sudoer中第 32 行附近有解析錯誤   
sudo: 沒有找到有效的 sudoers 資源,退出                                         
sudo: 無法初始化策略外掛

解決方法:
1、重啟ubuntu,啟動時按Esc或Shift鍵,可以看到引導選項;
2、在引導選項中選擇Recovery模式的那一項來引導;
3、進入Recovery Menu頁面,選擇root,也就是進入試用root使用者進行系統恢復,在這裡可以執行超級使用者的許可權的操作,回車後可以看到熟悉的 [email protected] ~# 命令提示符;
4、設定或者撤銷/etc/sudoers檔案的許可權,也可以將該檔案改回到發生錯誤之前的狀態。

    chmod 666 /dev/null
    mount -o remount rw /
    vi /etc/sudoers 
    恢復本檔案內容並存盤(:wq!)

5、退出Recovery模式,重新啟動ubuntu。

相關推薦

Linux普通使用者執行關機指令

方法1(推薦) 在root使用者下用visudo命令新增以下程式碼到/etc/sudoers檔案的末端。替換其中的user為你的使用者名稱,hostname為你的主機名(可以使用hostname命令查詢)。 user hostname=NOPASSWD: /

linux 日歷,計算器,nano編輯器,開關機

boot sys 後臺 linux 簡單 修改 支持 鍵盤 計算 1.查看文件下面所有的隱藏目錄:ls -al 2.顯示具體的年月日:date +%y/%m/%d  或date +%Y/%m/%d 3.顯示這個月的日歷: cal    顯示某年日歷: cal 2017

linux常用命令(一)linux關機以及文本界面與圖形界面互換

調用 虛擬 界面切換 use entos span 常用 run 現在 1.開關機 reboot 重啟: shutdown [-efFhknr][-t 秒數][時間][警告信息] 關機: shutdown [-efFhknr][-t 秒數][時間][警告信息] 關機:

Linux關機命令

現在 linux關機 eboot 關機 符號 處理 nbsp 重啟 inux 關機 shutdown -h 0 #<==O秒後關機 shutdown -h now #<==現在關機 shutdown -h 10 #<==10分鐘後關機 shutdown

linux關機

關機的影響 linux主要在伺服器領域使用,除非遇到特殊情況,否則不會關機的 跟windows不同,linux很多的程序都執行在後臺 可能有很多人同時工作,如果關機了,其他人的資料就會中斷 若不正常關機,會造成檔案系統損壞,導致資料丟失 正確關機 如果要關機,必須保證當前系統

Linux檢視可執行檔案動態庫的ELF頭等資訊

      用法: readelf <option(s)> elf-file(s)       作用: 和Windows下的PE檔案類似,ELF檔案是linux系統下可執行檔案、動態庫檔案、靜態庫檔案的標準格式。有時候我們需要檢視ELF檔案的頭資訊,或者動態庫檔

linux虛擬機器關機命令

一.shutdown 1.shutdown -h now :立即關機 2.shutdown -h 10:53:到10:53關機 3.shutdown -h +10 :10分鐘後自動關機 4.shutdown -r :重啟(預設30秒) 5.shutdown -r now :立即重啟

linuxssh專案執行異常windows執行正常

linux  下報這個 錯誤  : HTTP Status 404 - No result defined for action com.action.CategoryNameAction and result input windows正常 .json是請求字尾 跟.

Linux入門真經-005centos7.5系統安裝及關機方法

接下來我們來看一下Centos7的安裝。Centos7自2014年發行以來,8-12個月更新一個小版本,目前最新的版本是Centos7.5,相信在未來的5-10年內,Centos7的佔有率會保持穩步提升。 與Centos6的安裝相同,首先,我們要獲取到安裝映象,依然以阿

linux 關機註銷

linux -h 關機 默認運行級別 shutdown 運行 ini 調整 文件 關機和重啟: reboot、halt、poweroff是shutdown的鏈接文件。 原理: 執行命令後,到指定的時間之後發送請求給系統的init進程,將系統進程調整到指定的

系統關機註銷詳解

ali eboot sans rep 快速 posit tle msu bsp 在重新啟動Linux系統的同時把內存中的信息寫入硬盤,應使用()命令實現#shutdown -r now#halt#reboot#init3正確答案:Ahalt是最簡單的關機命令,其實際上是調用

Linux 基礎教程 41-系統關機

mage linux系統 本機 gem tro 電源 ges 就是 系統 ? ? 在Linux系統中,僅僅是關機和重啟相關的命令就至少有5個,shutdown、 halt、poweroff、reboot、init。各個命令作用如下所示: 命令 說明 shutd

Android實現關機裝置

  1、關機 方法一:關機屬於系統級操作,所以需要獲得系統級的許可權。 android:sharedUserId="android.uid.system" <uses-permission android:name="android.permission.SHU

用Shell指令碼定時監控Linux的程序狀態並自動

以mysql為例,先上shell指令碼,如下: #!/bin/bash ps -ef | grep mysqld | grep -v grep if [ $? -ne 0 ] then echo “start process…” /etc/rc.d/init.d

MTK 開關機時間優化

開關機、重啟時間優化: 開機效能優化:是用功能和其它因素多方面平衡的結果,片面追求單方面的效能沒有太大意義; 有些產品設計開機動畫非常酷炫,動畫圖片過多、高幀率會影響開機速度,這時就需要看是開機速度優先還是體驗優先; 1.zygote,預載入class、resources

LinuxTomcat實時監控並自動

由於專案時常出現記憶體不足,然後造成服務掛掉,由於公司成本考慮,和戰略轉移,不能在硬體上進行升級,但還要保證服務的穩定執行,因此寫了個shell指令碼來對服務進行實時監控,並在掛掉的情況下實現自動重啟。 指令碼程式碼 注意事項 一、指令碼寫好後要進行命名,一定要

VC++關機計算機程式碼

voidCWebBrowserView::OnMenuShutdown(){// TODO: 在此新增命令處理程式程式碼if(AfxMessageBox("確定要關機嗎?",MB_YESNO)== IDYES){ HANDLE hToken; TOKEN_PRIVI

ubuntu 14.04 anm64修復 不能關機登出的問題

解決方案:        sudo apt-get install fglrx       本來還想 sudo apt-get install nvidia-331,一覺醒來,忙於出去,點選關機,發現可以正常;回來正常登出發現也可以了。故記錄之。       道理告訴我:盡力去解決一個問題,久攻不下;不防換

Linux遠端管理命令之關機--shutdown

shutdown命令可以安全關閉或者重新啟動系統 shutdown 選項 時間 -r 重新啟動 不指定選項和引數,預設1分鐘之後關閉電腦 遠端維護伺服器時,最好不要關閉系統,而應該重新啟動系統

Linux使用shell指令碼自動監控tomcat

自己親自重新寫了一份shell指令碼,實現自動監控重啟tomcat。 系統環境:CentOS 6.7 x86_64 jdk版本:1.7.0_80 tomcat版本:7.0.70 # ------