區別就是改不改變當前使用者的環境變數。
首先遇到這個問題是因為ssh限制了root直接登入,只能通過其他使用者去登入然後再去轉換,又因為基線修改了許可權導致因root啟動的程式的日誌許可權也變成了600,也就是只能root使用者進行檢視、寫入等操作,其他使用者看的機會都沒有,因此想用定時任務每天自動將日誌檔案進行賦值為644,這樣其他使用者也可以檢視,但是只有root使用者能夠編輯,這樣既保證許可權也能讓其他使用者看到日誌不需要轉root才能看;當然這個還有其他方法我乙個大佬同事給了個思路不過也需要定時器,他是像寫個指令碼將日誌複製乙份,原始日誌許可權不改,複製的那份給個高點許可權,這樣也能滿足檢視。這就是遇到問題,下面記錄下區別吧:
首先su root=su,意思是你用su root轉換後其實就是用的su命令,因為若沒有修改轉換使用者的話你直接用su 預設也是root;su root和su一樣:表示與root建立乙個鏈結,通過root執行命令,其實就是程序的有效使用者id變成了root,unix校驗程序的許可權都是校驗的有效使用者id,程序的實際使用者id還是當前登入系統的使用者,主目錄也還是當前登入系統的使用者的主目錄。也就是說su 是不改變當前變數,同時只能獲得root的執行許可權,不能獲得環境變數。
然後su -,表示以root身份登入,程序的實際使用者id和有效使用者id都變成了root,主目錄也切換為root的主目錄, 也就是說su - 是改變為切換到使用者的變數。
而指令碼執行直接執行的話不需要環境變數來支援,因此你用su root 或者 su - 都是沒有任何問題,首先你得排除自己指令碼會出現問題;排除這個問題後,接著就是設定crontab定時任務問題,這個在前面說到需要環境變數來執行,因為他是自動執行,除非你在自己指令碼上加入環境變數如:
#!
/bin/sh
./etc/profile.~
/.bash_profile
bash /***/***.
sh(記住這個得寫個絕對路徑)
linux系統轉換root許可權
有時候我們用普通使用者的許可權沒辦法完成有關許可權,這時候我們就需要拿到root許可權才可以,拿到root許可權有兩種方式 方式一 su 或者su 此時就會提示你輸入密碼,輸入密碼成功以後就能以root許可權操作,變成root以後會從 變成 su 和su 雖然都能切換到root許可權,但兩者還是有小...
Linux獲取root許可權
一 獲取root使用者許可權 開啟linux終端命令,輸入 sudo passwd root enter new unix password 在這輸入你的密碼 retype new unix password 確定你輸入的密碼 passwd password updated successfully...
Linux進入root許可權
使用 sudo passwd,再輸入登入新密碼即可設定新值,使用su,即可以登入管理員 root 使用者 進入root模式 su root 返回普通模式 su 使用者名稱 sudo passwd root 回車。接著終端提示enter a new 輸入新密碼的意思,這個時候可以輸入密碼了。回車後再次...