su指令 sudo指令 限制root遠端登入
su指令
日常操作中為了避免一些誤操作,更加安全的管理系統,通常使用的使用者身份都為普通使用者,而非root。當需要執行一些管理者指令操作時,再切換成root使用者身份去執行。
普通使用者切換到root使用者的方式有:su和sudo。
2.su - (su為switch user,即切換使用者的簡寫)
格式:su -l USERNAME(-l為login,即登陸的簡寫)
-l可以将l省略掉,是以此指令常寫為su - USERNAME
如果不指定USERNAME(使用者名),預設即為root,是以切換到root的身份的指令即為:su -root或是直接 su -
3.su - 與su
通過su切換使用者還可以直接使用指令su USERNAME,與su - USERNAME的不同之處如下:
su - USERNAME切換使用者後,同時切換到新使用者的工作環境中
su USERNAME切換使用者後,不改變原使用者的工作目錄,及其他環境變量目錄
sudo
使用su切換使用者時需知曉對應使用者的登陸密碼,即若切換成root使用者身份,需知道root使用者的登陸密碼。作為root使用者管理者,如何授權其他普通使用者,在不需要知曉root密碼的情況下,執行root權限的指令操作?此時即可使用sudo。
是一種權限管理機制,依賴于/etc/sudoers,其定義了授權給哪個使用者可以以管理者的身份能夠執行什麼樣的管理指令;
格式:sudo -u USERNAME COMMAND
當普通使用者通過sudo以root使用者執行指令時,sudo後面的 -uUSERNAME可省略,即sudo COMMAND 即意為sudo以root使用者執行
預設情況下,系統隻有root使用者可以執行sudo指令。需要root使用者通過使用visudo指令編輯sudo的配置檔案/etc/sudoers,才可以授權其他普通使用者執行3.sudo指令。
如下圖,假如使用普通使用者帳号user4通過sudo以root使用者身份執行指令tail/etc/shadow時,即被提示:user4未被定義在sudoers檔案中,無法執行此指令。
三、限制root遠端登入
在使用linux系統時,尤其在多人共用一台伺服器時,為了安全,需要控制一下每個人的權限,root使用者的權限最大,是以禁止用root直接登入就顯得很必要了!下面這個是最簡單常用的辦法
編輯sshd服務的配置檔案
# vi /etc/ssh/sshd_config
找到下面這行:把值改為yes(允許)或no(不允許)
PermitRootLogin yes
然後重新啟動ssh服務就可以了.
# /etc/rc.d/sshd restart
或# service sshd restart
這樣在遠端用戶端通路這台linux主機的時候,就不能使用root使用者直接登入了。
如果需要使用root使用者時,可以先使用其它使用者登入,然後使用#su - ,輸入root密碼,切換到root使用者
2.啟動telnet服務
1、開啟服務
方法一:使用ntsysv,在出現的視窗之中,将 telnet前面*加上,然後按下 OK 。
方法二:編輯 /etc/xinetd.d/telnet
[root@echo root]# vi /etc/xinetd.d/telnet
找到 disable = yes 将 yes 改成 no。
2、激活服務
[root@echo root]# service xinetd restart
3.測試服務
[root@echo root]#telnet ip(或者hostname)
如果配置正确,系統提示輸入遠端機器的使用者名和密碼
Login:
Password:
注:預設隻允許普通使用者
4.設定telnet端口
#vi /etc/services
進入編輯模式後查找telnet(vi編輯方式下輸入/telnet)
會找到如下内容:
telnet 23/tcp
telnet 23/udp
将23修改成未使用的端口号(如:2000),退出vi,重新開機telnet服務,telnet預設端口号就被修改了。
5.Telnet服務限制
telnet是明文傳送密碼和資料的,如果你對其預設的設定不滿意,有必要對其服務範圍進行限制。假設你的主機的ip是210.45.160.17,就可以按如下方式設定了。
#vi /etc/xinetd.d/telnet
service telnet
{
disable = no #激活 telnet 服務,no
bind =210.45.160.17 #your ip
only_from = 210.45.0.0/16 #隻允許 210.45.0.0 ~210.45.255.255 這個網段進入
only_from = .edu.cn #隻有教育網才能進入!
no_access = 210.45.160.{115,116} #這兩個ip不可登陸
access_times = 8:00-12:00 20:00-23:59 # 每天隻有這兩個時間段開放服務
......
}
6.Telnet root使用者的登入
Telnet 不是很安全,預設的情況之下不允許 root 以 telnet 進入Linux 主機 。若要允許root使用者登入,可用下列方法:
(1)
[root @echo /root]# vi /etc/pam.d/login
#auth required pam_securetty.so #将這一行加上注釋!
或
[root@echo root]# mv /etc/securetty /etc/securetty.bak
(2)編輯/etc/securetty檔案,加上下面幾行:
pts/0
pts/1
pts/2
pts/3
測試root使用者直接telnet登陸成功,這樣, root 就可以直接進入Linux 主機了。不過,建議不要這樣做。也可以在普通使用者進入後,切換到root使用者,擁有root的權限。
(責任編輯:億騰科技)
禁用ctrl alt delete健
1、vim/etc/event.d/control-alt-delete
2、注釋掉:
start on control-alt-delete
exec /sbin/shutdown -r now "Control-Alt-Deletepressed"
最後要用指令讓他生效 #/sbin/init q
給你完整步驟
禁用Ctrl+Alt+Del指令重新開機
#vi /etc/inittab
将"ca::ctrlaltdel:/sbin/shutdown -t3 -r now"一行注釋掉。
#/sbin/init q
# chmod -R 700 /etc/rc.d/init.d/*
本文轉自 YAOvYAO 51CTO部落格,原文連結:http://blog.51cto.com/yaoyao1314520/1978646