⑴ linux禁止普通用戶su至root怎麼設置
Linux繼承了Unix以網路為核心的設計思想,是一個性能穩定的多用戶網路操作系統。很多朋友不清楚linux如何禁止普通用戶su到root,這里需要修改兩個配置文件,具體詳細配置大家通過本文了解下吧
方法步驟
一、概述
為禁止普通用戶su至root,需要分別修改/etc/pam.d/su和/etc/login.defs兩個配置文件。
二、詳細配置
(1)去除/etc/pam.d/su文件中如下行的注釋:
#auth required pam_wheel.so use_uid
(2)在/etc/login.defs文件中加入如下配置項:
SU_WHEEL_ONLY yes
經過上述配置後,普通用戶將被禁止su至root,如果希望指定普通用戶su至root,可以執行如下命令將該用戶添加至wheel組中:
usermod -G wheel username
三、示例
[root@titan ~]# id apple
uid=1001(apple) gid=1001(fruit) 組=1001(fruit),10(wheel)
[root@titan ~]# id banana
uid=1002(banana) gid=1001(fruit) 組=1001(fruit)
[apple@titan ~]$ su - root
密碼:
[root@titan ~]#
[banana@titan ~]$ su - root
密碼:
su: 拒絕許可權
[banana@titan ~]$
補充:Linux基本命令
1.ls命令:
格式::ls [選項] [目錄或文件]
功能:對於目錄,列出該目錄下的所有子目錄與文件;對於文件,列出文件名以及其他信息。
常用選項:
-a :列出目錄下的所有文件,包括以 . 開頭的隱含文件。
-d :將目錄像文件一樣顯示,而不是顯示其他文件。
-i :輸出文件的i節點的索引信息。
-k :以k位元組的形式表示文件的大小。
-l :列出文件的詳細信息。
-n :用數字的UID,GID代替名稱。
-F : 在每個文件名後面附上一個字元以說明該文件的類型,“*”表示可執行的普通文 件;“/”表示目錄;“@”表示符號鏈接;“l”表示FIFOS;“=”表示套接字。
2.cd命令
格式:cd [目錄名稱]
常用選項:
cd .. 返回上一級目錄。
cd ../.. 將當前目錄向上移動兩級。
cd - 返回最近訪問目錄。
3.pwd命令
格式: pwd
功能:顯示出當前工作目錄的絕對路徑。
相關閱讀:Linux主要特性
完全兼容POSIX1.0標准
這使得可以在Linux下通過相應的模擬器運行常見的DOS、Windows的程序。這為用戶從Windows轉到Linux奠定了基礎。許多用戶在考慮使用Linux時,就想到以前在Windows下常見的程序是否能正常運行,這一點就消除了他們的疑慮。
多用戶、多任務
Linux支持多用戶,各個用戶對於自己的文件設備有自己特殊的權利,保證了各用戶之間互不影響。多任務則是現在電腦最主要的一個特點,Linux可以使多個程序同時並獨立地運行。
良好的界面
Linux同時具有字元界面和圖形界面。在字元界面用戶可以通過鍵盤輸入相應的指令來進行操作。它同時也提供了類似Windows圖形界面的X-Window系統,用戶可以使用滑鼠對其進行操作。在X-Window環境中就和在Windows中相似,可以說是一個Linux版的Windows。
支持多種平台
⑵ Linux入門系列——su和sudo
su和sudo這兩個命令是Linux運維必須要會的,通常在生產環境中都是使用普通帳號來登錄,再使用su或sudo來執行一些管理命令。
su:run a shell with substitute user and group ids
-,-l,--login 切換後使用指定用戶的的shell。
-c,--command=COMMAND 可以在不切換當前shell的情況下,用指定的用戶來執行一個命令;
如果在su的時候沒有加」-「或「-l」或「--login」那麼默認的會使用 當前用戶 的shell來執行 ;
sudo的配置文件是: /etc/sudoers ,該文件可以定義哪個用戶可以在哪個機器上以哪個用戶的身份來執行哪些命令;
在配置sudo時必須使用 visudo 來編輯配置文件,因為使用visudo可以檢查修改後的文件的語法是否正確;
可以將上面的配置行分成四部分:part1 part2 part3 part4
例如:
那麼如果用戶的數量過多的時候是不是要為每個用戶來創建一個條目呢,很顯示這樣做是不科學的。所以sudo就引入了別名的概念,其實和組也差不多;
alias定義的語法:
要注意的是,這個Alias的名稱一定要大寫;
user1是一個用戶,user2是一個組,所以user2的前面要加上%
可以使用主機名,IP地址,網段(網段的掩碼可以寫成255.255.255.0,也可以寫成/24)
命令必須使用絕對路徑。如果只指定了一個目錄,那麼用戶就可以執行該目錄下的所有的文件;上面的「=」右邊的都可以使用「!」來取反。表示除了xxx以外;
例子 :請允許user1,user2,user3在192.168.20.44和192.168.10.0/24網段的機器上使用sudo切換到root用戶來執行useradd和setup命令;
然後就可以使用user1,user2,user3這三個用戶去測試了;
注意:當用戶第一次執行sudo命令的時候是需要用戶輸入自己的密碼的。當第一次輸入正確後,這個密碼就會被緩存5分鍾,在5分鍾內用戶再次使用sudo來切換身份執行命令的時候就不需要再次輸入自己的密碼。
這樣呢有些時候會有一個安全隱患,所以為了去掉這個5分鍾,可以在使用sudo命令的時候加上「-k」參數,這樣用戶在每次執行sudo命令的時候都會讓用戶輸入自己的密碼。
如果想讓某個用戶在執行sudo的時候不需要輸入自己的密碼,那麼可以在命令的前面添加NOPASSWD。/etc/sudoers的內容如下:
這樣的話,user1,user2,user3這三個用戶在執行指定的命令的時候就不需要輸入自己的密碼了。
如果其中的命令有的需要輸入密碼,有的不需要輸入密碼的話,那就把PASSWD:寫在那些命令的前面。或是把NOPASSWD:寫在最後一個命令中;
例子:讓用戶user4使用passwd來管理用戶的密碼,但是不能給root用戶設置密碼:
注意:如果最後不加上!/usr/bin/passwd root的話,那麼會有很大的漏洞,user4可以修改root用戶的密碼;當添加上後,user4再次執行sudo passwd root的時候就會提示:
⑶ linux中su怎麼用
1.命令作用
su的作用是變更為其它使用者的身份,超級用戶除外,需要鍵入該使用者的密碼。
2.使用方式
su [-fmp][-c command] [-s shell] [--help] [--version] [-] [USER [ARG]]
3.參數說明
-f , –fast:不必讀啟動文件(如 csh.cshrc 等),僅用於csh或tcsh兩種Shell。
-l , –login:加了這個參數之後,就好像是重新登陸一樣,大部分環境變數(例如HOME、SHELL和USER等)都是以該使用者(USER)為主,並
且工作目錄也會改變。如果沒有指定USER,預設情況是root。
-m, -p ,–preserve-environment:執行su時不改變環境變數。
-c command:變更賬號為USER的使用者,並執行指令(command)後再變回原來使用者。
–help 顯示說明文件
–version 顯示版本資訊
USER:欲變更的使用者賬號,
ARG: 傳入新的Shell參數。
4.例子
su -c ls root變更帳號為 root 並在執行 ls 指令後退出變回原使用者。
su [用戶名]
a>在root用戶下, 輸入 su 普通用戶. 則切換至普通用戶, 從root切換到變通用戶不需要密碼
b>在普通用戶下, 輸入 su [用戶名]
提示 password:
輸入用戶的PASSWORD, 則切換至該用戶
擴展閱讀一:Linux下 su命令與su - 命令有什麼區別?
su 是切換到其他用戶,但是不切換環境變數(比如說那些export命令查看一下,就知道兩個命令的區別了)
su - 是完整的切換到一個用戶環境
所以建議大家切換用戶的時候,盡量使用 su - linuxso 這樣否則可能發現某些命令執行不了
擴展閱讀二:su和sudo的區別
由於su 對切換到超級許可權用戶root後,許可權的無限制性,所以su並不能擔任多個管理員所管理的系統。如果用su 來切換到超級用戶來管理系統,也不能明確哪些工作是由哪個管理員進行的操作。特別是對於伺服器的管理有多人參與管理時,最好是針對每個管理員的技術特長和管理范圍,並且有針對性的下放給許可權,並且約定其使用哪些工具來完成與其相關的工作,這時我們就有必要用到 sudo。
通過sudo,我們能把某些超級許可權有針對性的下放,並且不需要普通用戶知道root密碼,所以sudo 相對於許可權無限制性的su來說,還是比較安全的,所以sudo 也能被稱為受限制的su ;另外sudo 是需要授權許可的,所以也被稱為授權許可的su;
sudo 執行命令的流程是當前用戶切換到root(或其它指定切換到的用戶),然後以root(或其它指定的切換到的用戶)身份執行命令,執行完成後,直接退回到當前用戶;而這些的前提是要通過sudo的配置文件/etc/sudoers來進行授權;
⑷ Linux下 su命令與su - 命令的區別是什麼
Linux中切換用戶的命令是su或su -。su命令和su -命令最大的本質區別就是:前者只是切換了root身份,但Shell環境仍然是普通用戶的Shell;而後者連用戶和Shell環境一起切換成root身份了。只有切換了Shell環境才不會出現PATH環境變數錯誤。su切換成root用戶以後,pwd一下,發現工作目錄仍然是普通用戶的工作目錄;而用su -命令切換以後,工作目錄變成root的工作目錄了。用echo?$PATH命令看一下su和su -以後的環境變數有何不同。以此類推,要從當前用戶切換到其它用戶也一樣,應該使用su -命令。要學習linux命令可以看看《linux就該這么學》。