iT邦幫忙

0

linux centos 5.4如何正確停用root 用user來取代?

  • 分享至 

  • xImage

因為為了安全性考量,想停用root帳號,用一個user來取代他

我在/etc/passwd 把root的x改為* 設為nologin

然後用一原本的user改為權限0.0

可是好像有會有問,收信的時候會說

當您按一下 [傳送/接收],在 Microsoft Office Outlook 2003 中您會收到錯誤訊息類似下列的錯誤訊息:
工作 'Server_Name-接收 ' 已報告錯誤 (0x8004210E):' 您的信箱是暫時無法使用,因為另一封電子郵件的傳遞給它,或其他郵件應用程式正在存取它。伺服器回應:-ERR 鎖定的方塊

只好又改回來,

請問要如何才能正確的停用root,用一帳號取代它呢

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
10
tombo
iT邦高手 1 級 ‧ 2010-07-09 10:01:56
最佳解答

很多程式在運行都要靠 root ,不要隨便亂改
你應該是限制不能用 root Login

12
silly
iT邦好手 2 級 ‧ 2010-07-09 10:35:20

user的uid,gid設成0:0那user帳號就等同於root。

較正確的作法是root密碼設複雜,設定不能以root遠端登入,user要管理某些工作請用sudo設定限制。

如要限制SSH不能以root登入,可在/etc/ssh/sshd_config裡設定
DenyUsers root
DenyGroups root
存檔後重啟SSH服務。

sudo的相關設定與使用就請google一下吧。

10
sl6xx
iT邦研究生 5 級 ‧ 2010-07-09 10:38:33

把root的密碼欄改為*或者!並無不可。Ubuntu裡面就是這樣做的。問題是您想要把另外一個使用者ID也改為0,這樣和原本有一個root有何不同?入侵別人系統的駭客要留後門不也常用這招嗎?
您可模仿Ubuntu的作法,把root的密碼欄換成"!",讓root無法直接登入。需要用到root權限的時候請用sudo。

6
Ray
iT邦大神 1 級 ‧ 2010-07-10 01:08:39

def123452002提到:
然後用一原本的user改為權限0.0

請先說明一下, 您是執行甚麼樣的動作, 來完成這個工作?

改完之後, 您下面這幾個檔案裡面的內容, 跟原來有甚麼不一樣的地方?
/etc/passwd
/etc/group
/etc/shadow

您的 selinux 有關掉嗎?

看更多先前的回應...收起先前的回應...

您好

又麻煩您啦~我是修改/etc/passwd,裡的root
改成nologin,然後把原本的x改成*(停用的意思)
root:*:0:0:root:/root:/bin/nologin
user1:*:0:0:root:/root:/bin/bash

改成如上

會發現user1收信時會說類似下面的訊息

當您按一下 [傳送/接收],在 Microsoft Office Outlook 2003 中您會收到錯誤訊息類似下列的錯誤訊息:
工作 'Server_Name-接收 ' 已報告錯誤 (0x8004210E):' 您的信箱是暫時無法使用,因為另一封電子郵件的傳遞給它,或其他郵件應用程式正在存取它。伺服器回應:-ERR 鎖定的方塊

selinux一直都沒開過

我只改了/etc/passwd

/etc/group
/etc/shadow
都沒改,但是改完passwd後有執行過一次pwconv好像沒有用

這行打錯是
user1:x:0:0:root:/root:/bin/bash

又打錯...這裡不能編輯

是這樣才對
原本是這樣
user1:x:592:592::/home/user1:/bin/nologin

user1:x:0:0:root:/home/user1:/bin/bash

嗯嗯這次仔細檢查沒打錯了0,0

Ray iT邦大神 1 級 ‧ 2010-07-13 18:13:20 檢舉

有沒有試過, 把 /home/user1 改成 /root ?

有想過,但不知道會不會有什麼問題沒試過,
把原本user1的/home/user1改成root沒問題嗎

Ray iT邦大神 1 級 ‧ 2010-07-14 10:49:56 檢舉

您的問題是出在: 系統登入時, 沒有加上 root 專用的 path, 所以無法存取如: /sbin, /usr/sbin 等路徑下的程式, 這個「加上 root 專用路徑」的工作, 有可能是由放在 /root 目錄底下的 .bashrc 來處理, 如果你的家目錄不是在 root 的話, 便可能沒有執行到這個工作.

你好有人建議我這麼做
進入root賬戶,echo $PATH,複製PATH的值
把這個PATH,直接寫入到user家目錄裡的.bashrc裡就行了。
PATH=複製的值

我用root執行後是這麼一長串
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

而且我在root下面看.bashrc和用user1的看.bashrc都一樣不知道要怎麼復制才好

.bashrc都是只有這樣

Source global definitions

if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi

您好,若您有空可否請您幫忙順便看一下我的另一個問題
最近受您幫忙很多,真是多謝

http://ithelp.ithome.com.tw/question/10046720#109076

我要發表回答

立即登入回答