名稱解析和Pam
- 使用者在登陸過程中,列印在終端上面上面的訊息,來自於
/etc/issue
檔案,這個檔案裡面的內容如下:
\
表示的是逃逸符號,常見的含義,通過man mingetty
來進行顯示
\d
:insert current day (localtime)
;\l
:insert line on which mingetty is running
;\m
:inserts machine architecture (uname -m)
;\n
:inserts machine’s network node hostname (uname -n)
;\o
:inserts domain name
- 對於使用的是
agetty
那麼就需要使用man agetty
來進行檢視; - 檔案系統掛載可以通過檢視目錄
/proc/mounts
來進行檢視
- 關於PAM
- 稱為可插入式i認證模組,
Pluggable Authentication Module
,配置檔案在/etc/pam.d/
目錄裡面;
[root@localhost ~]# ls /etc/pam.d/
atd other sudo-i
authconfig passwd su-l
authconfig-gtk pirut system-auth
authconfig-tui pm-hibernate system-auth-ac
chfn pm-powersave system-cdinstall-helper
chsh pm-suspend system-config-authentication
config-util pm-suspend-hybrid system-config-date
cpufreq-selector poweroff system-config-display
crond ppp system-config-kdump
cups pup system-config-keyboard
dateconfig reboot system-config-language
eject remote system-config-lvm
ekshell rhn_register system-config-netboot
gdm run_init system-config-network
gdm-autologin runuser system-config-network-cmd
gdmsetup runuser-l system-config-printer
- 關於資源授權服務:
- 認證
Authentication
:表示進行使用者身份的認證,驗證使用者的身份是否合法,一般使用使用者和口令的方式進行使用者身份的認證,因為某些使用者名稱是公開的,所以使用者名稱是不能夠作用使用者驗證的基本手段的; - 授權
Authorization
:用於決定一個使用者是否能夠訪問某些資源或者服務; - 系統識別戶是按照
UID
和GID
來識別的,將字串轉換成對應的數字的過程成為名稱解析,名稱解析,通常是雙向的; - 當需要進行使用者名稱稱和
ID
進行轉換的時候,在開始可以使用一個檔案來進行儲存,然後讓程式去該檔案中進行讀取,但是隨著資料量的增大,這樣就不方便,而且大量的應用程式的原始碼不支援進行檔案位置的重寫;當多個應用程式都需要進行這樣的重寫時,就需要引nsswitch
中間 層 , 稱 為:network service switch
(網路服務轉換),本身也是一些庫檔案,當使用時進行呼叫;這個庫本身提供了多種的呼叫方式,在具體到某一個應用程式時,必須在配置檔案裡面說明使用的方式, ,配置檔案是/etc/nsswitch.conf
; nsswitch.conf
:
- 認證
#passwd: db files nisplus nis
#shadow: db files nisplus nis
#group: db files nisplus nis
passwd: files
shadow: files
group: files
#hosts: db files nisplus nis dns
hosts: files dns
# Example - obey only what nisplus tells us...
#services: nisplus [NOTFOUND=return] files
#networks: nisplus [NOTFOUND=return] files
#protocols: nisplus [NOTFOUND=return] files
#rpc: nisplus [NOTFOUND=return] files
#ethers: nisplus [NOTFOUND=return] files
#netmasks: nisplus [NOTFOUND=return] files
// 上面語法表示的含義是如果查詢的結果是NOTUOUND那麼就直接返回,後面的不進行查詢
- 對於查詢的返回結果:
SUCCESS
:服務正常,已經實現解析;NOTFOUND
:表示服務正常,當時要求查詢的,查詢不到;UNAVAIL
:表示服務不正常;tryagain
:表示服務有臨時性的故障;
- 預設的動作是,前者成功後,後者不進行查詢,前者失敗,後者進行查詢;
- 查詢的過程是:首先應用程式在使用名稱轉換機制時,首先根據/
etc/nsswitch.conf
去匹配對應的庫檔案,如果使用的是files
型別,就需要匹配/usr/lib/libnss_files.so
這個庫檔案,然後執行庫檔案,最後查詢合適的檔案,完成解析過程; - 對於不同的解析機制,就需要不同庫檔案提供支援,配置檔案提供了名稱解析的步驟,同時也指明瞭庫的呼叫方式
- 庫檔案的位置在
/usr/lib/
[root@localhost ~]# ls /usr/lib/ | grep 'nss'
libgnutls-openssl.so.13
libgnutls-openssl.so.13.0.6
libnss3.so
libnssckbi.so
libnss_db.so
libnss_ldap.so
libnssutil3.so
nss
[root@localhost ~]# ls /usr/lib64/ | grep 'nss'
libgnutls-openssl.so.13
libgnutls-openssl.so.13.0.6
libnfsidmap_nsswitch.so
libnfsidmap_nsswitch.so.0
libnfsidmap_nsswitch.so.0.0.0
libnss3.so
libnssckbi.so
libnss_db.so
libnss_ldap.so
libnssutil3.so
libnss_winbind.so
libnss_wins.so
nss
- 不同的協議使用的轉換的檔案是不同的,對於檔案的使用的機制都是
files
,但是是不同的檔案; /etc/protocols
定義的是協議和埠的對應檔案
[root@localhost ~]# cat /etc/protocols
# /etc/protocols:
# $Id: protocols,v 1.5 2006/10/11 15:39:11 pknirsch Exp $
#
# Internet (IP) protocols
#
# from: @(#)protocols 5.1 (Berkeley) 4/17/89
#
# Updated for NetBSD based on RFC 1340, Assigned Numbers (July 1992).
#
# See also http://www.iana.org/assignments/protocol-numbers
ip 0 IP # internet protocol, pseudo protocol number
hopopt 0 HOPOPT # hop-by-hop options for ipv6
icmp 1 ICMP # internet control message protocol
igmp 2 IGMP # internet group management protocol
ggp 3 GGP # gateway-gateway protocol
ipencap 4 IP-ENCAP # IP encapsulated in IP (officially ``IP'')
st 5 ST # ST datagram mode
tcp 6 TCP # transmission control protocol
cbt 7 CBT # CBT, Tony Ballardie <A.Ballardie@cs.ucl.ac.uk>
egp 8 EGP # exterior gateway protocol
igp 9 IGP # any private interior gateway (Cisco: for IGRP)
bbn-rcc 10 BBN-RCC-MON # BBN RCC Monitoring
nvp 11 NVP-II # Network Voice Protocol
pup 12 PUP # PARC universal packet protocol
argus 13 ARGUS # ARGUS
emcon 14 EMCON # EMCON
xnet 15 XNET # Cross Net Debugger
chaos 16 CHAOS # Chaos
udp 17 UDP # user datagram protocol
mux 18 MUX # Multiplexing protocol
dcn 19 DCN-MEAS # DCN Measurement Subsystems
hmp 20 HMP # host monitoring protocol
prm 21 PRM # packet radio measurement protocol
xns-idp 22 XNS-IDP # Xerox NS IDP
trunk-1 23 TRUNK-1 # Trunk-1
trunk-2 24 TRUNK-2 # Trunk-2
leaf-1 25 LEAF-1 # Leaf-1
leaf-2 26 LEAF-2 # Leaf-2
rdp 27 RDP # "reliable datagram" protocol
irtp 28 IRTP # Internet Reliable Transaction Protocol
iso-tp4 29 ISO-TP4 # ISO Transport Protocol Class 4
- 還有一個檔案是
/etc/services
bsquare-voip 1071/udp # BSQUARE-VOIP
cardax 1072/tcp # CARDAX
cardax 1072/udp # CARDAX
bridgecontrol 1073/tcp # Bridge Control
bridgecontrol 1073/udp # Bridge Control
fastechnologlm 1074/tcp # FASTechnologies License Manager
fastechnologlm 1074/udp # FASTechnologies License Manager
rdrmshc 1075/tcp # RDRMSHC
rdrmshc 1075/udp # RDRMSHC
dab-sti-c 1076/tcp # DAB STI-C
dab-sti-c 1076/udp # DAB STI-C
imgames 1077/tcp # IMGames
imgames 1077/udp # IMGames
avocent-proxy 1078/tcp # Avocent Proxy Protocol
avocent-proxy 1078/udp # Avocent Proxy Protocol
asprovatalk 1079/tcp # ASPROVATalk
asprovatalk 1079/udp # ASPROVATalk
pvuniwien 1081/tcp # PVUNIWIEN
pvuniwien 1081/udp # PVUNIWIEN
amt-esd-prot 1082/tcp # AMT-ESD-PROT
amt-esd-prot 1082/udp # AMT-ESD-PROT
ansoft-lm-1 1083/tcp # Anasoft License Manager
ansoft-lm-1 1083/udp # Anasoft License Manager
ansoft-lm-2 1084/tcp # Anasoft License Manager
ansoft-lm-2 1084/udp # Anasoft License Manager
webobjects 1085/tcp # Web Objects
webobjects 1085/udp # Web Objects
cplscrambler-lg 1086/tcp # CPL Scrambler Logging
cplscrambler-lg 1086/udp # CPL Scrambler Logging
cplscrambler-in 1087/tcp # CPL Scrambler Internal
cplscrambler-in 1087/udp # CPL Scrambler Internal
cplscrambler-al 1088/tcp # CPL Scrambler Alarm Log
cplscrambler-al 1088/udp # CPL Scrambler Alarm Log
ff-annunc 1089/tcp # FF Annunciation
ff-annunc 1089/udp # FF Annunciation
ff-fms 1090/tcp # FF Fieldbus Message Specification
ff-fms 1090/udp # FF Fieldbus Message Specification
ff-sm 1091/tcp # FF System Management
ff-sm 1091/udp # FF System Management
obrpd 1092/tcp # Open Business Reporting Protocol
obrpd 1092/udp # Open Business Reporting Protocol
proofd 1093/tcp # PROOFD
proofd 1093/udp # PROOFD
rootd 1094/tcp # ROOTD
rootd 1094/udp # ROOTD
nicelink 1095/tcp # NICELink
nicelink 1095/udp # NICELink
cnrprotocol 1096/tcp # Common Name Resolution Protocol
cnrprotocol 1096/udp # Common Name Resolution Protocol
sunclustermgr 1097/tcp # Sun Cluster Manager
sunclustermgr 1097/udp # Sun Cluster Manager
rmiactivation 1098/tcp # RMI Activation
rmiactivation 1098/udp # RMI Activation
rmiregistry 1099/tcp # RMI Registry
rmiregistry 1099/udp # RMI Registry
mctp 1100/tcp # MCTP
mctp 1100/udp # MCTP
pt2-discover 1101/tcp # PT2-DISCOVER
pt2-discover 1101/udp # PT2-DISCOVER
adobeserver-1 1102/tcp # ADOBE SERVER 1
adobeserver-1 1102/udp # ADOBE SERVER 1
adobeserver-2 1103/tcp # ADOBE SERVER 2
- 幾乎每一個埠都已經被佔用
- 作業系統提供的一個特殊的命令
getent
getent
:get entries from administrative database
;- 可以用於驗證
nss
配置完成之後,是否能夠正常執行,這個命令沒有選項;
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
news:x:9:13:news:/etc/news:
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
- 或者獲取某個條目的具體資訊
[root@localhost ~]# getent passwd root
root:x:0:0:root:/root:/bin/bash
[root@localhost ~]# getent hosts
127.0.0.1 localhost.localdomain localhost
- 上面的機制完成的是字串和
ID
的轉換過程,接下來就是驗證的過程 - 認證是將使用者標示和認證口令進行對比的過程;
- 使用者登入的過程:
- 以
root
使用者為為例,root
首先進行按照nsswitch
查詢passwd:files
得到使用者的ID
; - 其次在根據使用者輸入的密碼,同時結合
nsswitch
查詢shados:files
檔案; - 使用者認證的過程就是使用對應的演算法並結合加密字串,並且進行對比的過程;
- 以
對於認證過程,可以藉助於名稱解析實現對應條目的查詢,但是也可以自己實現名稱解析;
認證的過程類似於名稱解析,通過中間層來實現認證機制的切換,這個中間層是
PAM
,是一個認證框架,通過庫檔案來實現認證;
pam_unix.so
是用來實現創痛意義上面的,通過/etc/shadow
來實現使用者認證機制的庫檔案;- 具體通過那種機制來實現使用者認證的過程,是通過配置檔案
/etc/pam.d/login
來實現的,對於不同的服務,存在不同的配置檔案;
pam
實現認證的過程
- 關於上面一些解釋,說明:
AUTH
:用於檢查,使用者輸入的帳號密碼是否是匹配的,就是用於進行使用者認證的;ACCOUNT
:用於檢查使用者賬戶的狀態,PASSWORD
:在使用者修改密碼時進行相關的設定,比如檢查密碼的複雜度,使用者密碼的使用時間等;session
:用於定義使用者會話的相關屬性,例如登陸時間等問題;
pam
的配置檔案是在/etc/pam.d/service
,一般是和服務名稱相同的;
type
:表示的是型別,例如:AUTH
,ACCOUNT
,PASSWORD
,SESSION
等;control
:表示控制.當認證存在多個時,之間的關係;module-path
:需要完成功能使用的認證模組;module-argument
:表示認證的模組的引數;- 關於
service
的說明:服務名必須是小寫字母;other
檔案是用來定義預設的規則的; control
的說明:
required
:表示裡面的引數如果通過,那麼繼續後面的檢查,如果沒有通過,直接返回不通過,後面的檢查任然需要進行,;否決,仍然檢查,但是結果是否決的requisite
:如果通過繼續檢查後面的,如果沒有通過那麼就返回無法通過,後面的檢查就不需要進行了,一票否決,後面不檢查suffcient
:表示通過那麼就直接通過,後面的檢查就不需要進行了,如果沒有通過,那麼不受影響;一票通過權;optional
:表 示建 議性 意見,不進 行 採 納;include
:表 示 包 含 其 他 文 件,通過其他檔案的定義進行說明;
pam
支援通過下面的方式進行定義:
auth [user_unknown=ignore success=ok ignore=ignore default=bad] pam_securetty.so
關於
[]
裡面的返回值,包括success, open_err,symbol_err, service_error,system_err,buf_err, perm_denied, auth_err, cred_insufficient
;模組認證完成後的動作:
OK
:表示這個模組通過,需要繼續檢查;Done
:表示這個模組通過,後面的不需要檢查;Bad
:表示結果失敗,繼續檢查;Die
: :表示結果失敗,後面的不進行檢查;Ignore
:表示忽略檢查;Reset
:表示忽略以前的所有結果,從這項開始檢查;
- 上面的動作類似於下面的圖
- 一個配置檔案:
#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth required pam_env.so
auth sufficient pam_unix.so nullok try_first_pass
auth requisite pam_succeed_if.so uid >= 500 quiet
auth required pam_deny.so
account required pam_unix.so
account sufficient pam_succeed_if.so uid < 500 quiet
account required pam_permit.so
password requisite pam_cracklib.so try_first_pass retry=3
password sufficient pam_unix.so md5 shadow nullok try_first_pass use_authtok
password required pam_deny.so
session optional pam_keyinit.so revoke
session required pam_limits.so
session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session required pam_unix.so
~
- 常見的幾個模組的意義:
pam_unix
:傳統意義上面的密碼認證模組,用於到/etc/shadow
裡面進行使用者認證;
nullok
:表示允許為空;shadow
:表示通過shadow
的方式進行驗證;md5
:表示密碼是通過md5
的方式進行存放的;try_first_pass
:如果使用者之前輸入過密碼,使用之前輸入的密碼進行嘗試;use_first_pass
:如果使用者之前輸入過密碼,直接使用使用者之前輸入的密碼;
pam_permit
:表示允許訪問,否則就什麼都不做;pam_deny
:是用來拒絕訪問的,通知應用成程式,認證不通過,通常用於other
服務裡面;pam_cracklib
:用於檢查字典中包含的密碼,如果包括,就不通過,用於檢查密碼的安全性;
minlen
:表示使用者密碼的最短長度;difok
:用於驗證密碼和之前的是否相同;dcredit
:用於定義最少包含多少個數字;ucredit
:用於定義最少包含多少個大寫字母;lcredit
:用於定義最少包含多少個小寫字母;ocredit
:用於定義包含幾個其他字元;retry
:用於定義允許嘗試的次數;
- 例如這一段的資訊:
password requisite pam_cracklib.so try_first_pass retry=3
password sufficient pam_unix.so md5 shadow nullok try_first_pass use_authtok //表示的含義是設定密碼為i第一次使用者檢查通過的哪個密碼;
password required pam_deny.so
* `pam_shells`:表示使用者使用`shell`必須是`/etc/shells`裡面設定的`shell`;
* `pam_security`:限制管理員登陸的裝置,可以通過增加`/etc/securetty`來進行定義;
* `pam_listfile`:表示的含義是,通過自己定義的檔案,來定義那些使用者可以登入系統,那些使用者不可以登陸系統;
* `item=[tty|user|rhost|ruser|group|shell]`:表示的這個條目的含義是什麼;
* `sense=[allow|deny]`:表示的是允許的動作是什麼;
* `file=/path/to/filename`:表示是通過哪個檔案進行定義的;
* `onerr=[success|fail]` :表示一旦發生錯誤,是成功,還是失敗;
* `apply=[user|@group]`:表示允許那些組登陸;
* `quiet`:
* 通過修改上面的檔案,來實現使用者登入的一個控制;
* 首先備份一份檔案:
[root@localhost pam.d]# cp system-auth-ac /mnt/
- 在第二行新增
auth required pam_listfile.so item=group sense=allow file=/etc/pamgroup_allow
- 然後建立配置檔案
root
hello //這裡面表示的是組
- 新增
hello
組
[root@localhost pam.d]# groupadd hello
- 建立一個新的使用者
[root@localhost pam.d]# useradd westos
[root@localhost pam.d]# passwd westos
Changing password for user westos.
New UNIX password:
BAD PASSWORD: it is based on a dictionary word
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
//這個使用者並不屬於hello組
uid=500(westos) gid=501(westos) groups=501(westos) context=root:system_r:unconfined_t:SystemLow-SystemHigh
來使用這個使用者進行登陸
這裡的密碼是沒有輸入錯誤的,接下來,將這個使用者加入
hello
組
[root@localhost pam.d]# usermod -a -G hello westos
再次嘗試登陸
登陸是成功的;
pam_rootok
:表示只要是root
使用者登入,直接通過,也就是su
的過程是不需要出入密
碼的;檔案在/etc/pam.d/su
檔案裡面,模組資訊是pam_rootok.so
;如果想要更改,就去修改auth sufficient pam_rootok.so
這一行的資訊
#%PAM-1.0
auth sufficient pam_rootok.so //就是這一行,管理員直接通過,不使用密碼;
# Uncomment the following line to implicitly trust users in the "wheel" group.
#auth sufficient pam_wheel.so trust use_uid
# Uncomment the following line to require a user to be in the "wheel" group.
#auth required pam_wheel.so use_uid
auth include system-auth
account sufficient pam_succeed_if.so uid = 0 use_uid quiet
account include system-auth
password include system-auth
session include system-auth
session optional pam_xauth.so
pam_limits
:表示在一次使用者會話裡面可以使用的系統資源的限定,管理員也是接受這
個限制的,預設情況下,使用的限制的配置檔案:/etc/security/limits.conf
其他的配置檔案在/etc/security/limits.d/*.conf
裡面;
#<domain> can be:
# - an user name
# - a group name, with @group syntax
# - the wildcard *, for default entry
# - the wildcard %, can be also used with %group syntax,
# for maxlogin limit
#
#<type> can have the two values:
# - "soft" for enforcing the soft limits
# - "hard" for enforcing hard limits
#
#<item> can be one of the following:
# - core - limits the core file size (KB)
# - data - max data size (KB)
# - fsize - maximum filesize (KB)
# - memlock - max locked-in-memory address space (KB)
# - nofile - max number of open files //最大檔案數量
# - rss - max resident set size (KB) //使用的實際記憶體集合
# - stack - max stack size (KB)
# - cpu - max CPU time (MIN)
# - nproc - max number of processes
# - as - address space limit //線性物理空間限制
# - maxlogins - max number of logins for this user
# - maxsyslogins - max number of logins on the system
# - priority - the priority to run user process with
# - locks - max number of file locks the user can hold
# - sigpending - max number of pending signals
# - msgqueue - max memory used by POSIX message queues (bytes)
# - nice - max nice priority allowed to raise to
# - rtprio - max realtime priority
#<domain> <type> <item> <value>
#
#* soft core 0
#* hard rss 10000
#@student hard nproc[程式組] 20
#@faculty soft nproc 20
#@faculty hard nproc 50
#ftp hard nproc 0
#@student -[表示都限制] maxlogins 4
- 這裡面的解釋已經比較完善的;
- 臨時調整:
[root@localhost pam.d]# help ulimit
ulimit: ulimit [-SHacdfilmnpqstuvx] [limit]
Ulimit provides control over the resources available to processes
started by the shell, on systems that allow such control. If an
option is given, it is interpreted as follows:
-S use the `soft' resource limit
-H use the `hard' resource limit
-a all current limits are reported
-c the maximum size of core files created
-d the maximum size of a process's data segment
-e the maximum scheduling priority (`nice')
-f the maximum size of files written by the shell and its children
-i the maximum number of pending signals
-l the maximum size a process may lock into memory
-m the maximum resident set size (has no effect on Linux)
-n the maximum number of open file descriptors
-p the pipe buffer size
-q the maximum number of bytes in POSIX message queues
-r the maximum real-time scheduling priority
-s the maximum stack size
-t the maximum amount of cpu time in seconds
-u the maximum number of user processes
-v the size of virtual memory
-x the maximum number of file locks
- 普通使用者僅僅能喔咕調整自己的軟限制;
pam_env
:根據/etc/security/pam_env.conf
來進行環境變數的設定;
#PAGER DEFAULT=less
#MANPAGER DEFAULT=less
#LESS DEFAULT="M q e h15 z23 b80"
#NNTPSERVER DEFAULT=localhost
#PATH DEFAULT=${HOME}/bin:/usr/local/bin:/bin\
#:/usr/bin:/usr/local/bin/X11:/usr/bin/X11
#
# silly examples of escaped variables, just to show how they work.
#
#DOLLAR DEFAULT=\$
#DOLLARDOLLAR DEFAULT= OVERRIDE=\$${DOLLAR}
#DOLLARPLUS DEFAULT=\${REMOTEHOST}${REMOTEHOST}
#ATSIGN DEFAULT="" OVERRIDE=\@
- 這個檔案是註釋的,
redhat
是通過/etc/profile.d
來進行設定的; Pam_wheel
:用來設定那個使用者可以直接su
到管理員賬戶;可以為這個組中新增使用者;
#%PAM-1.0
auth sufficient pam_rootok.so
# Uncomment the following line to implicitly trust users in the "wheel" group.
#auth sufficient pam_wheel.so trust use_uid
# Uncomment the following line to require a user to be in the "wheel" group.
#auth required pam_wheel.so use_uid
auth include system-auth
account sufficient pam_succeed_if.so uid = 0 use_uid quiet
account include system-auth
password include system-auth
session include system-auth
- 裡面的兩項是已經存在的,並且
wheel
組,也是存在
[root@localhost pam.d]# cat /etc/group | grep wheel
wheel:x:10:root
pam_motd
:是用於定義是否顯示pam_motd
裡面的內容的;pam_issue
:作用和上面是一樣的;pam_succeed_if
:用於定義使用者的帳號滿足某些資訊,就可以登陸系統,或者不允許登陸系統;pam_time
: 用於限定使用者只能在什麼時候登陸的;- 這個檔案的定義,需要配置檔案
/etc/security/time.conf
來進行定義的; pam_securetty.so
:用於限制使用者從那些終端登入系統的,配置檔案是/etc/securetty
[root@localhost ~]# cat /etc/securetty
console
vc/1
vc/2
vc/3
vc/4
vc/5
vc/6
vc/7
vc/8
vc/9
vc/10
vc/11
tty1
tty2
pam
可以通過/usr/share/doc/pam-版本號
來檢視裡面更加詳細的資訊;
相關文章
- CSS 級聯樣式表名稱解析CSS
- Windows 名稱解析機制探究及缺陷利用Windows
- Linux PAM&&PAM後門Linux
- PAM
- 使用C++解析IFC中的構件名稱C++
- 使用p名稱空間和c名稱空間的XML快捷方式XML
- Python作用域和名稱空間Python
- 雲原生週刊:K8s 上的 gRPC 名稱解析和負載平衡K8SRPC負載
- 深度解析--只有微博使用者名稱怎麼查到IP和手機號!
- PbootCMS提示:URL名稱與模型URL名稱衝突,請換一個名稱!boot模型
- 內聯和巢狀名稱空間巢狀
- 修改 Ubuntu 系統使用者名稱和登入名Ubuntu
- Mac電腦名稱和本地區域網主機名?Mac
- Git修改和配置使用者名稱和郵箱Git
- git使用者名稱和郵箱配置Git
- 非對稱加密中,加解密和簽名加密解密
- 2.7.3 spfile的預設名稱和路徑
- Python3 名稱空間和作用域Python
- 顯示指定欄目的名稱和連結
- 名稱空間
- 2.1.2.4 PDBs 名稱
- 利用 LLMNR 名稱解析缺陷劫持內網指定主機會話內網會話
- Android動態修改應用圖示和名稱Android
- Android Q:新系統名稱和新特性整理Android
- git 設定使用者名稱和郵箱Git
- git設定使用者名稱和郵箱Git
- flutter改變圖示和名稱、啟動圖Flutter
- 利用 NetBIOS 協議名稱解析及 WPAD 進行內網滲透iOS協議內網
- ssh、PAM模組
- PAM限制實測
- PHP名稱空間PHP
- lvm 名稱衝突LVM
- Git修改檔名稱Git
- blender 列印骨骼名稱
- PHP 名稱空間PHP
- 20200109 - 名稱空間
- python名稱空間Python
- vuex名稱空間Vue