濮阳杆衣贸易有限公司

主頁 > 知識(shí)庫 > Linux下的用戶管理總結(jié)(含禁止用戶和IP登錄的方法)

Linux下的用戶管理總結(jié)(含禁止用戶和IP登錄的方法)

熱門標(biāo)簽:地址高德地圖標(biāo)注 地圖標(biāo)注的牌子 外呼系統(tǒng)鏈接 制作地圖標(biāo)注 外呼系統(tǒng)怎么弄 磁力導(dǎo)航地圖標(biāo)注 桂林市ai電銷機(jī)器人公司 商店地圖標(biāo)注外賣入駐 新科火車站地圖標(biāo)注點(diǎn)

在Linux中,用戶的管理分為組和用戶兩種。這個(gè)Windows下也是這個(gè)樣子,組是一類用戶的統(tǒng)稱。組和用戶的關(guān)系是:多對(duì)多的關(guān)系。即用戶可以存在于多個(gè)組中,組中也可以有多個(gè)用戶。組的權(quán)限會(huì)被賦予組中的用戶,用戶可以從多個(gè)組中繼承權(quán)限。

對(duì)于組的管理命令有:

復(fù)制代碼
代碼如下:
#組管理命令
groupadd #添加組
groupdel #刪除用戶組
groupmod #修改用戶組
groups #顯示當(dāng)前用戶所屬的用戶組
grpck #檢查用戶組及密碼文件的完整性(etc/group以及/etc/gshadow文件)
grpconv #通過/etc/group和/etc/gshadow 的文件內(nèi)容來同步或創(chuàng)建/etc/gshadow ,如果/etc/gshadow 不存在則創(chuàng)建;
grpunconv #通過/etc/group 和/etc/gshadow 文件內(nèi)容來同步或創(chuàng)建/etc/group ,然后刪除gshadow文件。

對(duì)于用戶的管理命令有:

復(fù)制代碼
代碼如下:
#用戶管理相關(guān)的命令
useradd #添加用戶
adduser #添加用戶
passwd #為用戶設(shè)置密碼
usermod #修改用戶命令,可以通過usermod 來修改登錄名、用戶的家目錄等等
pwcov #同步用戶從/etc/passwd 到/etc/shadow
pwck #pwck是校驗(yàn)用戶配置文件/etc/passwd 和/etc/shadow 文件內(nèi)容是否合法或完整;
pwunconv #是pwcov 的立逆向操作,是從/etc/shadow和 /etc/passwd 創(chuàng)建/etc/passwd ,然后會(huì)刪除 /etc/shadow 文件;
finger #查看用戶信息工具
id #查看用戶的UID、GID及所歸屬的用戶組
chfn #更改用戶信息工具
su #用戶切換工具
sudo #sudo 是通過另一個(gè)用戶來執(zhí)行命令(execute a command as another user),su 是用來切換用戶,然后通過切換到的用戶來完成相應(yīng)的任務(wù),但sudo 能后面直接執(zhí)行命令,比如sudo 不需要root 密碼就可以執(zhí)行root 賦與的執(zhí)行只有root才能執(zhí)行相應(yīng)的命令;但得通過visudo 來編輯/etc/sudoers來實(shí)現(xiàn)
visudo #visodo 是編輯 /etc/sudoers 的命令;也可以不用這個(gè)命令,直接用vi 來編輯 /etc/sudoers 的效果是一樣的
sudoedit #和sudo 功能差不多

這些命令可以完成絕大部分的用戶和組的管理操作,下面的代碼中,就完成了添加組和用戶的功能,如果還有不能達(dá)到的地方——使用強(qiáng)大的文本編輯吧,各種用戶和組的文件等待你去發(fā)掘(后面就有要修改文件的case)。

復(fù)制代碼
代碼如下:
#如果你不想使用現(xiàn)有用戶組,那么你可以新建一個(gè)用戶組
groupadd GROUPNAME #GROUPNAME是新用戶組的名稱。這里使用的GID是默認(rèn)的
#添加了用戶組之后,我們可以將用戶添加到用戶組中。
useradd username -G GROUPNAME #添加用戶username到GROUPNAME中,注意沒有添加密碼
#修改用戶密碼
passwd username #設(shè)置用戶密碼
#其他各種操作...

在Linux下,root是個(gè)非常特別的帳戶,而且權(quán)限非常大,對(duì)于生產(chǎn)環(huán)境中,root的帳戶保護(hù)就非常重要,其中一點(diǎn)就是遠(yuǎn)程SSH連接的時(shí)候,我們最好能夠?qū)oot的遠(yuǎn)程連接功能關(guān)閉。這個(gè)就需要修改配置文件來進(jìn)行了。在/etc/ssh下面有個(gè)sshd_config文件,這個(gè)文件中,會(huì)有一個(gè)PermitRootLogin 配置,默認(rèn)是被#注釋掉的,要禁止SSH登錄,就需要將這個(gè)注釋去掉,并且將值改成no(默認(rèn)值是yes)。

復(fù)制代碼
代碼如下:
#修改/etc/ssh/sshd_config文件內(nèi)容
vi /etc/ssh/sshd_config
#找到內(nèi)容 #PermitRootLogin yes這行,修改成下面這行
PermitRootLogin no
#保存內(nèi)容,并退出
#重啟sshd服務(wù)
service sshd restart

注:如果你是遠(yuǎn)程登錄的服務(wù)器,需要在上面的操作前建一個(gè)普通用戶,否則只能跑機(jī)房了。。
此時(shí)我們關(guān)閉putty之后,再重新連接之后,輸入root,并提供密碼之后,遠(yuǎn)程的返回將會(huì)是:Access denied。這就禁止了root帳戶的SSH連接。如果在SSH時(shí),需要使用root帳戶的執(zhí)行權(quán)限執(zhí)行命令,只需要用su/sudo來做即可。

對(duì)于一般用戶,網(wǎng)上找到的禁用的方式有很多,至于那種處理方式會(huì)比較優(yōu)就看個(gè)人愛好了,這里列出其中的一部分:

復(fù)制代碼
代碼如下:
#直接禁用用戶,讓用戶不能登錄,方法有以下這些:
#1.修改/etc/shadow的第二列內(nèi)容為*,這種方式是讓用戶不能登陸系統(tǒng)
username:*:15864:0:99999:7:::
#這種方式處理的用戶不能再登錄系統(tǒng),同時(shí)該用戶的密碼也丟失了,如果要再次登錄時(shí),需要重新設(shè)置密碼
#2.類似第一種,這種方式是直接修改/etc/passwd中的用戶路徑那一行的最后一列,將/bin/bash改成/sbin/nologin
username:x:501:500::/home/username:/sbin/nologin
#這種方式修改之后,用戶同樣不能登錄,效果和上面類似,但是如果恢復(fù)/bin/bash之后,用戶可以直接輸入密碼登錄。
#3.當(dāng)然,不想修改文件,直接使用usermod也是可以的
usermod -L username ##鎖定username這個(gè)賬戶
#這種方式如果要解鎖的時(shí)候,使用usermod -U username 即可。不用再修改文件了
#4.修改shell類型,可以禁止用戶,還能讓用戶知道原因
chsh username -s /sbin/nologin #修改username的shell
#修改 /etc/nologin.txt(如果沒有,可創(chuàng)建)
#在文件中添加被禁止的原因。
#這個(gè)方法和第二種效果差不多,不過這個(gè)方法可以讓用戶知道自己不能登錄的原因
#5.禁止多用戶登錄
#首先需要在/etc下建立nologin文檔
touch /etc/nologin
##文件存在之后,除了root之外的所有用戶都無法登陸,這個(gè)文件可以寫上禁止登陸的原因,以便用戶無法登錄時(shí)看到原因
## 如果不要禁止所有用戶,只需要將/etc/nologin文件刪除即可。
#6.修改/etc/ssh/sshd_config文件,修改AllowUsers的值
#在文件中查找AllowUsers,如果沒有,在文件末尾加上即可。
AllowUsers username root #僅允許username,root通過SSH登錄
#修改文件保存之后,需要重啟sshd服務(wù)
#如果要顯示提示信息,可以修改/etc/issue.net,在文件中添加信息。同時(shí)修改sshd_config文件中加入Banner參數(shù)
Banner /etc/issue.net
#這個(gè)Banner是提示在用戶登錄之前。
#如果要輸入密碼之后提示,可以將提示信息放入/etc/motd中
#################################################
#來自網(wǎng)上關(guān)于motd和issue.net(issue的網(wǎng)絡(luò)版)的區(qū)別:
#/etc/motd,即messageoftoday,每次用戶登錄時(shí),/etc/motd文件的內(nèi)容會(huì)顯示在用戶的終端。系統(tǒng)管理員可以在文件中編輯系統(tǒng)活動(dòng)消息,如:管理員通知用戶系統(tǒng)何時(shí)進(jìn)行軟件或硬件的升級(jí)、何時(shí)進(jìn)行系統(tǒng)維護(hù)等。/etc/motd在用戶進(jìn)入的是圖形界面時(shí),可能看不到提示。
#/etc/issue.net與/etc/motd文件類似,區(qū)別在于:當(dāng)一個(gè)網(wǎng)絡(luò)用戶登錄系統(tǒng)時(shí),/etc/issue.net的文件內(nèi)容顯示在login提示符之前,而/etc/motd內(nèi)容顯示在用戶成功登錄系統(tǒng)之后。
#7. 還有一種方法是修改/etc/pam.d/sshd文件
#在文件的第一行添加:
auth required pam_listfile.so item=user sense=deny file=/etc/sshdusers onerr=succeed
##一定要在第一行,pam的執(zhí)行順序是從上至下,優(yōu)先匹配.
#保存之后,我們還在file指定的文件中添加需要被禁止的用戶名稱
#重啟sshd即可。

Extension:

1. 以上是禁用帳戶的登錄,如果是想禁用某個(gè)IP的是否能夠連接與否,則要使用/etc/host.allow和/etc/host.deny兩個(gè)文件,deny文件是阻止IP文件,allow是允許文件。規(guī)則是先匹配deny,而后匹配allow,因此,allow中的文件會(huì)覆蓋deny中的文件規(guī)則:

復(fù)制代碼
代碼如下:
#/etc/host.deny文件中我們禁止所有的IP連接
sshd:ALL #所有IP都被禁止SSH到本機(jī)
#/etc/host.allow文件中我們?cè)试S指定的IP連接
sshd:192.168.128.183:allow
#兩個(gè)文件的規(guī)則最終變成:
#僅允許192.168.128.183連接到本機(jī).
#修改后,文件立即生效,對(duì)于當(dāng)前已經(jīng)運(yùn)行的程序不生效,為了防止出現(xiàn)不必要的麻煩,建議還是先修改host.allow,而后再修改host.deny文件,這樣能保證host.allow中的IP能夠訪問sshd進(jìn)程.

2.上述管理中用的比較多的文件是sshd_config文件來控制SSH的相關(guān)操作,sshd_config的所有配置詳細(xì)設(shè)置內(nèi)容可以參看這里,下面摘錄具體內(nèi)容:

復(fù)制代碼
代碼如下:
SSHD_CONFIG(5) OpenBSD Programmer's Manual SSHD_CONFIG(5)/p> p>名稱
sshd_config - OpenSSH SSH 服務(wù)器守護(hù)進(jìn)程配置文件/p> p>大綱
/etc/ssh/sshd_config/p> p>描述
sshd(8) 默認(rèn)從 /etc/ssh/sshd_config 文件(或通過 -f 命令行選項(xiàng)指定的文件)讀取配置信息。
配置文件是由"指令 值"對(duì)組成的,每行一個(gè)??招泻鸵?#'開頭的行都將被忽略。
如果值中含有空白符或者其他特殊符號(hào),那么可以通過在兩邊加上雙引號(hào)(")進(jìn)行界定。
[注意]值是大小寫敏感的,但指令是大小寫無關(guān)的。/p> p> 當(dāng)前所有可以使用的配置指令如下:/p> p> AcceptEnv
指定客戶端發(fā)送的哪些環(huán)境變量將會(huì)被傳遞到會(huì)話環(huán)境中。[注意]只有SSH-2協(xié)議支持環(huán)境變量的傳遞。
細(xì)節(jié)可以參考 ssh_config(5) 中的 SendEnv 配置指令。
指令的值是空格分隔的變量名列表(其中可以使用'*'和'?'作為通配符)。也可以使用多個(gè) AcceptEnv 達(dá)到同樣的目的。
需要注意的是,有些環(huán)境變量可能會(huì)被用于繞過禁止用戶使用的環(huán)境變量。由于這個(gè)原因,該指令應(yīng)當(dāng)小心使用。
默認(rèn)是不傳遞任何環(huán)境變量。/p> p> AddressFamily
指定 sshd(8) 應(yīng)當(dāng)使用哪種地址族。取值范圍是:"any"(默認(rèn))、"inet"(僅IPv4)、"inet6"(僅IPv6)。/p> p> AllowGroups
這個(gè)指令后面跟著一串用空格分隔的組名列表(其中可以使用"*"和"?"通配符)。默認(rèn)允許所有組登錄。
如果使用了這個(gè)指令,那么將僅允許這些組中的成員登錄,而拒絕其它所有組。
這里的"組"是指"主組"(primary group),也就是/etc/passwd文件中指定的組。
這里只允許使用組的名字而不允許使用GID。相關(guān)的 allow/deny 指令按照下列順序處理:
DenyUsers, AllowUsers, DenyGroups, AllowGroups/p> p> AllowTcpForwarding
是否允許TCP轉(zhuǎn)發(fā),默認(rèn)值為"yes"。
禁止TCP轉(zhuǎn)發(fā)并不能增強(qiáng)安全性,除非禁止了用戶對(duì)shell的訪問,因?yàn)橛脩艨梢园惭b他們自己的轉(zhuǎn)發(fā)器。/p> p> AllowUsers
這個(gè)指令后面跟著一串用空格分隔的用戶名列表(其中可以使用"*"和"?"通配符)。默認(rèn)允許所有用戶登錄。
如果使用了這個(gè)指令,那么將僅允許這些用戶登錄,而拒絕其它所有用戶。
如果指定了 a href="mailto:USER@HOST">USER@HOST/a> 模式的用戶,那么 USER 和 HOST 將同時(shí)被檢查。
這里只允許使用用戶的名字而不允許使用UID。相關(guān)的 allow/deny 指令按照下列順序處理:
DenyUsers, AllowUsers, DenyGroups, AllowGroups/p> p> AuthorizedKeysFile
存放該用戶可以用來登錄的 RSA/DSA 公鑰。
該指令中可以使用下列根據(jù)連接時(shí)的實(shí)際情況進(jìn)行展開的符號(hào):
%% 表示'%'、%h 表示用戶的主目錄、%u 表示該用戶的用戶名。
經(jīng)過擴(kuò)展之后的值必須要么是絕對(duì)路徑,要么是相對(duì)于用戶主目錄的相對(duì)路徑。
默認(rèn)值是".ssh/authorized_keys"。/p> p> Banner
將這個(gè)指令指定的文件中的內(nèi)容在用戶進(jìn)行認(rèn)證前顯示給遠(yuǎn)程用戶。
這個(gè)特性僅能用于SSH-2,默認(rèn)什么內(nèi)容也不顯示。"none"表示禁用這個(gè)特性。/p> p> ChallengeResponseAuthentication
是否允許質(zhì)疑-應(yīng)答(challenge-response)認(rèn)證。默認(rèn)值是"yes"。
所有 login.conf(5) 中允許的認(rèn)證方式都被支持。/p> p> Ciphers
指定SSH-2允許使用的加密算法。多個(gè)算法之間使用逗號(hào)分隔??梢允褂玫乃惴ㄈ缦拢?br /> "aes128-cbc", "aes192-cbc", "aes256-cbc", "aes128-ctr", "aes192-ctr", "aes256-ctr",
"3des-cbc", "arcfour128", "arcfour256", "arcfour", "blowfish-cbc", "cast128-cbc"
默認(rèn)值是可以使用上述所有算法。/p> p> ClientAliveCountMax
sshd(8) 在未收到任何客戶端回應(yīng)前最多允許發(fā)送多少個(gè)"alive"消息。默認(rèn)值是 3 。
到達(dá)這個(gè)上限后,sshd(8) 將強(qiáng)制斷開連接、關(guān)閉會(huì)話。
需要注意的是,"alive"消息與 TCPKeepAlive 有很大差異。
"alive"消息是通過加密連接發(fā)送的,因此不會(huì)被欺騙;而 TCPKeepAlive 卻是可以被欺騙的。
如果 ClientAliveInterval 被設(shè)為 15 并且將 ClientAliveCountMax 保持為默認(rèn)值,
那么無應(yīng)答的客戶端大約會(huì)在45秒后被強(qiáng)制斷開。這個(gè)指令僅可以用于SSH-2協(xié)議。/p> p> ClientAliveInterval
設(shè)置一個(gè)以秒記的時(shí)長(zhǎng),如果超過這么長(zhǎng)時(shí)間沒有收到客戶端的任何數(shù)據(jù),
sshd(8) 將通過安全通道向客戶端發(fā)送一個(gè)"alive"消息,并等候應(yīng)答。
默認(rèn)值 0 表示不發(fā)送"alive"消息。這個(gè)選項(xiàng)僅對(duì)SSH-2有效。/p> p> Compression
是否對(duì)通信數(shù)據(jù)進(jìn)行加密,還是延遲到認(rèn)證成功之后再對(duì)通信數(shù)據(jù)加密。
可用值:"yes", "delayed"(默認(rèn)), "no"。/p> p> DenyGroups
這個(gè)指令后面跟著一串用空格分隔的組名列表(其中可以使用"*"和"?"通配符)。默認(rèn)允許所有組登錄。
如果使用了這個(gè)指令,那么這些組中的成員將被拒絕登錄。
這里的"組"是指"主組"(primary group),也就是/etc/passwd文件中指定的組。
這里只允許使用組的名字而不允許使用GID。相關(guān)的 allow/deny 指令按照下列順序處理:
DenyUsers, AllowUsers, DenyGroups, AllowGroups/p> p> DenyUsers
這個(gè)指令后面跟著一串用空格分隔的用戶名列表(其中可以使用"*"和"?"通配符)。默認(rèn)允許所有用戶登錄。
如果使用了這個(gè)指令,那么這些用戶將被拒絕登錄。
如果指定了 a href="mailto:USER@HOST">USER@HOST/a> 模式的用戶,那么 USER 和 HOST 將同時(shí)被檢查。
這里只允許使用用戶的名字而不允許使用UID。相關(guān)的 allow/deny 指令按照下列順序處理:
DenyUsers, AllowUsers, DenyGroups, AllowGroups/p> p> ForceCommand
強(qiáng)制執(zhí)行這里指定的命令而忽略客戶端提供的任何命令。這個(gè)命令將使用用戶的登錄shell執(zhí)行(shell -c)。
這可以應(yīng)用于 shell 、命令、子系統(tǒng)的完成,通常用于 Match 塊中。
這個(gè)命令最初是在客戶端通過 SSH_ORIGINAL_COMMAND 環(huán)境變量來支持的。/p> p> GatewayPorts
是否允許遠(yuǎn)程主機(jī)連接本地的轉(zhuǎn)發(fā)端口。默認(rèn)值是"no"。
sshd(8) 默認(rèn)將遠(yuǎn)程端口轉(zhuǎn)發(fā)綁定到loopback地址。這樣將阻止其它遠(yuǎn)程主機(jī)連接到轉(zhuǎn)發(fā)端口。
GatewayPorts 指令可以讓 sshd 將遠(yuǎn)程端口轉(zhuǎn)發(fā)綁定到非loopback地址,這樣就可以允許遠(yuǎn)程主機(jī)連接了。
"no"表示僅允許本地連接,"yes"表示強(qiáng)制將遠(yuǎn)程端口轉(zhuǎn)發(fā)綁定到統(tǒng)配地址(wildcard address),
"clientspecified"表示允許客戶端選擇將遠(yuǎn)程端口轉(zhuǎn)發(fā)綁定到哪個(gè)地址。/p> p> GSSAPIAuthentication
是否允許使用基于 GSSAPI 的用戶認(rèn)證。默認(rèn)值為"no"。僅用于SSH-2。/p> p> GSSAPICleanupCredentials
是否在用戶退出登錄后自動(dòng)銷毀用戶憑證緩存。默認(rèn)值是"yes"。僅用于SSH-2。/p> p> HostbasedAuthentication
這個(gè)指令與 RhostsRSAAuthentication 類似,但是僅可以用于SSH-2。推薦使用默認(rèn)值"no"。
推薦使用默認(rèn)值"no"禁止這種不安全的認(rèn)證方式。/p> p> HostbasedUsesNameFromPacketOnly
在開啟 HostbasedAuthentication 的情況下,
指定服務(wù)器在使用 ~/.shosts ~/.rhosts /etc/hosts.equiv 進(jìn)行遠(yuǎn)程主機(jī)名匹配時(shí),是否進(jìn)行反向域名查詢。
"yes"表示 sshd(8) 信任客戶端提供的主機(jī)名而不進(jìn)行反向查詢。默認(rèn)值是"no"。/p> p> HostKey
主機(jī)私鑰文件的位置。如果權(quán)限不對(duì),sshd(8) 可能會(huì)拒絕啟動(dòng)。
SSH-1默認(rèn)是 /etc/ssh/ssh_host_key 。
SSH-2默認(rèn)是 /etc/ssh/ssh_host_rsa_key 和 /etc/ssh/ssh_host_dsa_key 。
一臺(tái)主機(jī)可以擁有多個(gè)不同的私鑰。"rsa1"僅用于SSH-1,"dsa"和"rsa"僅用于SSH-2。/p> p> IgnoreRhosts
是否在 RhostsRSAAuthentication 或 HostbasedAuthentication 過程中忽略 .rhosts 和 .shosts 文件。
不過 /etc/hosts.equiv 和 /etc/shosts.equiv 仍將被使用。推薦設(shè)為默認(rèn)值"yes"。/p> p> IgnoreUserKnownHosts
是否在 RhostsRSAAuthentication 或 HostbasedAuthentication 過程中忽略用戶的 ~/.ssh/known_hosts 文件。
默認(rèn)值是"no"。為了提高安全性,可以設(shè)為"yes"。/p> p> KerberosAuthentication
是否要求用戶為 PasswordAuthentication 提供的密碼必須通過 Kerberos KDC 認(rèn)證,也就是是否使用Kerberos認(rèn)證。
要使用Kerberos認(rèn)證,服務(wù)器需要一個(gè)可以校驗(yàn) KDC identity 的 Kerberos servtab 。默認(rèn)值是"no"。/p> p> KerberosGetAFSToken
如果使用了 AFS 并且該用戶有一個(gè) Kerberos 5 TGT,那么開啟該指令后,
將會(huì)在訪問用戶的家目錄前嘗試獲取一個(gè) AFS token 。默認(rèn)為"no"。/p> p> KerberosOrLocalPasswd
如果 Kerberos 密碼認(rèn)證失敗,那么該密碼還將要通過其它的認(rèn)證機(jī)制(比如 /etc/passwd)。
默認(rèn)值為"yes"。/p> p> KerberosTicketCleanup
是否在用戶退出登錄后自動(dòng)銷毀用戶的 ticket 。默認(rèn)值是"yes"。/p> p> KeyRegenerationInterval
在SSH-1協(xié)議下,短命的服務(wù)器密鑰將以此指令設(shè)置的時(shí)間為周期(秒),不斷重新生成。
這個(gè)機(jī)制可以盡量減小密鑰丟失或者黑客攻擊造成的損失。
設(shè)為 0 表示永不重新生成,默認(rèn)為 3600(秒)。/p> p> ListenAddress
指定 sshd(8) 監(jiān)聽的網(wǎng)絡(luò)地址,默認(rèn)監(jiān)聽所有地址。可以使用下面的格式:/p> p> ListenAddress host|IPv4_addr|IPv6_addr
ListenAddress host|IPv4_addr:port
ListenAddress [host|IPv6_addr]:port/p> p> 如果未指定 port ,那么將使用 Port 指令的值。
可以使用多個(gè) ListenAddress 指令監(jiān)聽多個(gè)地址。/p> p> LoginGraceTime
限制用戶必須在指定的時(shí)限內(nèi)認(rèn)證成功,0 表示無限制。默認(rèn)值是 120 秒。/p> p> LogLevel
指定 sshd(8) 的日志等級(jí)(詳細(xì)程度)。可用值如下:
QUIET, FATAL, ERROR, INFO(默認(rèn)), VERBOSE, DEBUG, DEBUG1, DEBUG2, DEBUG3
DEBUG 與 DEBUG1 等價(jià);DEBUG2 和 DEBUG3 則分別指定了更詳細(xì)、更羅嗦的日志輸出。
比 DEBUG 更詳細(xì)的日志可能會(huì)泄漏用戶的敏感信息,因此反對(duì)使用。/p> p> MACs
指定允許在SSH-2中使用哪些消息摘要算法來進(jìn)行數(shù)據(jù)校驗(yàn)。
可以使用逗號(hào)分隔的列表來指定允許使用多個(gè)算法。默認(rèn)值(包含所有可以使用的算法)是:
hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160,hmac-sha1-96,hmac-md5-96/p> p> Match
引入一個(gè)條件塊。塊的結(jié)尾標(biāo)志是另一個(gè) Match 指令或者文件結(jié)尾。
如果 Match 行上指定的條件都滿足,那么隨后的指令將覆蓋全局配置中的指令。
Match 的值是一個(gè)或多個(gè)"條件-模式"對(duì)??捎玫?條件"是:User, Group, Host, Address 。
只有下列指令可以在 Match 塊中使用:AllowTcpForwarding, Banner,
ForceCommand, GatewayPorts, GSSApiAuthentication,
KbdInteractiveAuthentication, KerberosAuthentication,
PasswordAuthentication, PermitOpen, PermitRootLogin,
RhostsRSAAuthentication, RSAAuthentication, X11DisplayOffset,
X11Forwarding, X11UseLocalHost/p> p> MaxAuthTries
指定每個(gè)連接最大允許的認(rèn)證次數(shù)。默認(rèn)值是 6 。
如果失敗認(rèn)證的次數(shù)超過這個(gè)數(shù)值的一半,連接將被強(qiáng)制斷開,且會(huì)生成額外的失敗日志消息。/p> p> MaxStartups
最大允許保持多少個(gè)未認(rèn)證的連接。默認(rèn)值是 10 。
到達(dá)限制后,將不再接受新連接,除非先前的連接認(rèn)證成功或超出 LoginGraceTime 的限制。/p> p> PasswordAuthentication
是否允許使用基于密碼的認(rèn)證。默認(rèn)為"yes"。/p> p> PermitEmptyPasswords
是否允許密碼為空的用戶遠(yuǎn)程登錄。默認(rèn)為"no"。/p> p> PermitOpen
指定TCP端口轉(zhuǎn)發(fā)允許的目的地,可以使用空格分隔多個(gè)轉(zhuǎn)發(fā)目標(biāo)。默認(rèn)允許所有轉(zhuǎn)發(fā)請(qǐng)求。
合法的指令格式如下:
PermitOpen host:port
PermitOpen IPv4_addr:port
PermitOpen [IPv6_addr]:port
"any"可以用于移除所有限制并允許一切轉(zhuǎn)發(fā)請(qǐng)求。/p> p> PermitRootLogin
是否允許 root 登錄。可用值如下:
"yes"(默認(rèn)) 表示允許。"no"表示禁止。
"without-password"表示禁止使用密碼認(rèn)證登錄。
"forced-commands-only"表示只有在指定了 command 選項(xiàng)的情況下才允許使用公鑰認(rèn)證登錄。
同時(shí)其它認(rèn)證方法全部被禁止。這個(gè)值常用于做遠(yuǎn)程備份之類的事情。/p> p> PermitTunnel
是否允許 tun(4) 設(shè)備轉(zhuǎn)發(fā)??捎弥等缦拢?br /> "yes", "point-to-point"(layer 3), "ethernet"(layer 2), "no"(默認(rèn))。
"yes"同時(shí)蘊(yùn)含著"point-to-point"和"ethernet"。/p> p> PermitUserEnvironment
指定是否允許 sshd(8) 處理 ~/.ssh/environment 以及 ~/.ssh/authorized_keys 中的 environment= 選項(xiàng)。
默認(rèn)值是"no"。如果設(shè)為"yes"可能會(huì)導(dǎo)致用戶有機(jī)會(huì)使用某些機(jī)制(比如 LD_PRELOAD)繞過訪問控制,造成安全漏洞。/p> p> PidFile
指定在哪個(gè)文件中存放SSH守護(hù)進(jìn)程的進(jìn)程號(hào),默認(rèn)為 /var/run/sshd.pid 文件。/p> p> Port
指定 sshd(8) 守護(hù)進(jìn)程監(jiān)聽的端口號(hào),默認(rèn)為 22 。可以使用多條指令監(jiān)聽多個(gè)端口。
默認(rèn)將在本機(jī)的所有網(wǎng)絡(luò)接口上監(jiān)聽,但是可以通過 ListenAddress 指定只在某個(gè)特定的接口上監(jiān)聽。/p> p> PrintLastLog
指定 sshd(8) 是否在每一次交互式登錄時(shí)打印最后一位用戶的登錄時(shí)間。默認(rèn)值是"yes"。/p> p> PrintMotd
指定 sshd(8) 是否在每一次交互式登錄時(shí)打印 /etc/motd 文件的內(nèi)容。默認(rèn)值是"yes"。/p> p> Protocol
指定 sshd(8) 支持的SSH協(xié)議的版本號(hào)。
'1'和'2'表示僅僅支持SSH-1和SSH-2協(xié)議。"2,1"表示同時(shí)支持SSH-1和SSH-2協(xié)議。/p> p> PubkeyAuthentication
是否允許公鑰認(rèn)證。僅可以用于SSH-2。默認(rèn)值為"yes"。/p> p> RhostsRSAAuthentication
是否使用強(qiáng)可信主機(jī)認(rèn)證(通過檢查遠(yuǎn)程主機(jī)名和關(guān)聯(lián)的用戶名進(jìn)行認(rèn)證)。僅用于SSH-1。
這是通過在RSA認(rèn)證成功后再檢查 ~/.rhosts 或 /etc/hosts.equiv 進(jìn)行認(rèn)證的。
出于安全考慮,建議使用默認(rèn)值"no"。/p> p> RSAAuthentication
是否允許使用純 RSA 公鑰認(rèn)證。僅用于SSH-1。默認(rèn)值是"yes"。/p> p> ServerKeyBits
指定臨時(shí)服務(wù)器密鑰的長(zhǎng)度。僅用于SSH-1。默認(rèn)值是 768(位)。最小值是 512 。/p> p> StrictModes
指定是否要求 sshd(8) 在接受連接請(qǐng)求前對(duì)用戶主目錄和相關(guān)的配置文件進(jìn)行宿主和權(quán)限檢查。
強(qiáng)烈建議使用默認(rèn)值"yes"來預(yù)防可能出現(xiàn)的低級(jí)錯(cuò)誤。/p> p> Subsystem
配置一個(gè)外部子系統(tǒng)(例如,一個(gè)文件傳輸守護(hù)進(jìn)程)。僅用于SSH-2協(xié)議。
值是一個(gè)子系統(tǒng)的名字和對(duì)應(yīng)的命令行(含選項(xiàng)和參數(shù))。比如"sft /bin/sftp-server"。/p> p> SyslogFacility
指定 sshd(8) 將日志消息通過哪個(gè)日志子系統(tǒng)(facility)發(fā)送。有效值是:
DAEMON, USER, AUTH(默認(rèn)), LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7/p> p> TCPKeepAlive
指定系統(tǒng)是否向客戶端發(fā)送 TCP keepalive 消息。默認(rèn)值是"yes"。
這種消息可以檢測(cè)到死連接、連接不當(dāng)關(guān)閉、客戶端崩潰等異常。
可以設(shè)為"no"關(guān)閉這個(gè)特性。/p> p> UseDNS
指定 sshd(8) 是否應(yīng)該對(duì)遠(yuǎn)程主機(jī)名進(jìn)行反向解析,以檢查此主機(jī)名是否與其IP地址真實(shí)對(duì)應(yīng)。默認(rèn)值為"yes"。/p> p> UseLogin
是否在交互式會(huì)話的登錄過程中使用 login(1) 。默認(rèn)值是"no"。
如果開啟此指令,那么 X11Forwarding 將會(huì)被禁止,因?yàn)?login(1) 不知道如何處理 xauth(1) cookies 。
需要注意的是,login(1) 是禁止用于遠(yuǎn)程執(zhí)行命令的。
如果指定了 UsePrivilegeSeparation ,那么它將在認(rèn)證完成后被禁用。/p> p> UsePrivilegeSeparation
是否讓 sshd(8) 通過創(chuàng)建非特權(quán)子進(jìn)程處理接入請(qǐng)求的方法來進(jìn)行權(quán)限分離。默認(rèn)值是"yes"。
認(rèn)證成功后,將以該認(rèn)證用戶的身份創(chuàng)建另一個(gè)子進(jìn)程。
這樣做的目的是為了防止通過有缺陷的子進(jìn)程提升權(quán)限,從而使系統(tǒng)更加安全。/p> p> X11DisplayOffset
指定 sshd(8) X11 轉(zhuǎn)發(fā)的第一個(gè)可用的顯示區(qū)(display)數(shù)字。默認(rèn)值是 10 。
這個(gè)可以用于防止 sshd 占用了真實(shí)的 X11 服務(wù)器顯示區(qū),從而發(fā)生混淆。/p> p> X11Forwarding
是否允許進(jìn)行 X11 轉(zhuǎn)發(fā)。默認(rèn)值是"no",設(shè)為"yes"表示允許。
如果允許X11轉(zhuǎn)發(fā)并且sshd(8)代理的顯示區(qū)被配置為在含有通配符的地址(X11UseLocalhost)上監(jiān)聽。
那么將可能有額外的信息被泄漏。由于使用X11轉(zhuǎn)發(fā)的可能帶來的風(fēng)險(xiǎn),此指令默認(rèn)值為"no"。
需要注意的是,禁止X11轉(zhuǎn)發(fā)并不能禁止用戶轉(zhuǎn)發(fā)X11通信,因?yàn)橛脩艨梢园惭b他們自己的轉(zhuǎn)發(fā)器。
如果啟用了 UseLogin ,那么X11轉(zhuǎn)發(fā)將被自動(dòng)禁止。/p> p> X11UseLocalhost
sshd(8) 是否應(yīng)當(dāng)將X11轉(zhuǎn)發(fā)服務(wù)器綁定到本地loopback地址。默認(rèn)值是"yes"。
sshd 默認(rèn)將轉(zhuǎn)發(fā)服務(wù)器綁定到本地loopback地址并將 DISPLAY 環(huán)境變量的主機(jī)名部分設(shè)為"localhost"。
這可以防止遠(yuǎn)程主機(jī)連接到 proxy display 。不過某些老舊的X11客戶端不能在此配置下正常工作。
為了兼容這些老舊的X11客戶端,你可以設(shè)為"no"。/p> p> XAuthLocation
指定 xauth(1) 程序的絕對(duì)路徑。默認(rèn)值是 /usr/X11R6/bin/xauth/p> p>
時(shí)間格式
在 sshd(8) 命令行參數(shù)和配置文件中使用的時(shí)間值可以通過下面的格式指定:time[qualifier] 。
其中的 time 是一個(gè)正整數(shù),而 qualifier 可以是下列單位之一:
無> 秒
s | S 秒
m | M 分鐘
h | H 小時(shí)
d | D 天
w | W 星期/p> p> 可以通過指定多個(gè)數(shù)值來累加時(shí)間,比如:
1h30m 1 小時(shí) 30 分鐘 (90 分鐘)/p> p>
文件
/etc/ssh/sshd_config
sshd(8) 的主配置文件。這個(gè)文件的宿主應(yīng)當(dāng)是root,權(quán)限最大可以是"644"。/p> p>參見
sshd(8)/p> p>作者
OpenSSH is a derivative of the original and free ssh 1.2.12 release by
Tatu Ylonen. Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo
de Raadt and Dug Song removed many bugs, re-added newer features and cre-
ated OpenSSH. Markus Friedl contributed the support for SSH protocol
versions 1.5 and 2.0. Niels Provos and Markus Friedl contributed support
for privilege separation.

標(biāo)簽:衡陽 衡陽 湘西 三門峽 六盤水 茂名 仙桃 慶陽

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Linux下的用戶管理總結(jié)(含禁止用戶和IP登錄的方法)》,本文關(guān)鍵詞  Linux,下,的,用戶,管理,總結(jié),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Linux下的用戶管理總結(jié)(含禁止用戶和IP登錄的方法)》相關(guān)的同類信息!
  • 本頁收集關(guān)于Linux下的用戶管理總結(jié)(含禁止用戶和IP登錄的方法)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    德保县| 交城县| 朔州市| 荥经县| 宜丰县| 广州市| 奈曼旗| 赣榆县| 葵青区| 桃江县| 西青区| 鄄城县| 延长县| 玉田县| 建湖县| 伊吾县| 娄烦县| 金华市| 宁强县| 南汇区| 明光市| 桃江县| 平江县| 三穗县| 高要市| 凌云县| 宣威市| 喜德县| 岐山县| 镇安县| 招远市| 清河县| 云龙县| 凤凰县| 丹东市| 萨嘎县| 孝昌县| 象山县| 花垣县| 留坝县| 宁国市|