1. 程式人生 > >加密與安全部分 實驗及知識點

加密與安全部分 實驗及知識點

過程 isa magedu lose The image 交換 rsa 提示

1、實驗:A,B,C三臺主機,A通過B連接通C
A:centos7(192。168.93.254)B:centos6(192.168.93.253)C:R1(192.168.93.200)
首先假設 C主機做過防火墻策略,禁止被A直接連接通
Iptables -A INPUT -s (A的IP) -j REJECT
[root@R ~]# iptables -A INPUT -s 192.168.93.254 -j REJECT
因為A和C連接,B為跳板,無需拒絕B
此時A連接C不通,而A可以連接上B,再連接C,此過程較繁瑣
我們可以ssh -t (B的IP) ssh (C的IP)
[root@centos7 .ssh]# ssh -t 192.168.93.253 ssh 192.168.93.200
[root@R ~]# ip a
輸入密碼即可登錄C主機成功
然而此時C覺得是B在連接,而非A在連接
[root@R ~]# ss -nt
State Recv-Q Send-Q Local Address:Port Peer Address:Port
ESTAB 0 0 192.168.93.200:22 192.168.93.253:52586
我們也可以一次性輸入一條命令執行完就退出,如下:
[root@centos7 .ssh]# ssh -t 192.168.93.253 ssh 192.168.93.200 ‘ip a‘
[email protected]‘s password:
[email protected]‘s password:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:33:b4:1a brd ff:ff:ff:ff:ff:ff
inet 192.168.93.200/24 brd 192.168.93.255 scope global noprefixroute ens33

3、在centos7 上登錄centos6 不用輸入用戶名密碼,而是基於key驗證
步驟:1、先生成公私秘鑰對兒
A、[root@centos7 ~]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again: (此處三項默認回車即可)
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:OKPv+40SVvZ+6EcyyrMbKV1fQkfca03waBBl3+a816I [email protected]
The key‘s randomart image is:
+---[RSA 2048]----+
| o+=o |
| +.++|
| . +.B|
| .o . o *.|
| +oS.. . o o|
| .o+ o+..o o|
| ...o+o =. ..o|
| ...++o o. ..|
| .++==ooE |
+----[SHA256]-----+
B、[root@centos7 ~]# cd .ssh
[root@centos7 .ssh]# ll
total 12
-rw------- 1 root root 1679 Jan 24 21:01 id_rsa
-rw-r--r-- 1 root root 406 Jan 24 21:01 id_rsa.pub
-rw-r--r-- 1 root root 396 Jan 24 15:07 known_hosts
此處生成的id_rsa 與 id_rsa.pub 為公私鑰文件
C、(把公鑰文件傳輸至遠程服務器對應用戶的家目錄)
[root@centos7 ~]# ssh-copy-id -i /root/.ssh/id_rsa 192.168.93.253
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
[email protected]‘s password:
此操作是將私鑰文件傳給遠程主機,然而本應該傳送的是公鑰文件,上方的需正常輸入密碼
D、[root@centos6 .ssh]# ll
total 8
-rw------- 1 root root 406 Jan 24 20:11 authorized_keys
-rw-r--r-- 1 root root 1188 Jan 24 16:35 known_hosts
[root@centos6 .ssh]# cat authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDEMjCxmlo89MO7Vr+KcwqL//WXJV0nJ/o8AQYAIBv1E9b31e1QZUKNRCcmz+y8a6z5qN0uQM5PmdrNTtrL1/vE68Z4pcr6KzwaiD1xloaB0tIliO+gzgjOfe3jrikdzSWuV+QyYQQArYHLNPKWMbJ6PHNJCfbd/mErdUh5lxblwU62Z8GkD382tt8BdfouSjTLuYPCR0AR6NmRUPBfDF5VmvL9YUEhFUYYxflYfxHwqGN/sfLaYLfbPXowhZx65W8KldNOva5xy8RrWq2f2bSb2cQEd2/zkYlTPkF6xzsNraOEY6SfpLesZH7IQ5hqHkmhoEkAl/GkdGod+b0m16XF [email protected]
然而,我們在centos6上面_查看 cat authorizedkeys 文件,它是公鑰,而非私鑰與centos7的顯示一模一樣 如下:
[root@centos7 ~]# cat .ssh/id_rsa.pub
ssh-rsaAAAAB3NzaC1yc2EAAAADAQABAAABAQDEMjCxmlo89MO7Vr+KcwqL//WXJV0nJ/o8AQYAIBv1E9b31e1QZUKNRCcmz+y8a6z5qN0uQM5PmdrNTtrL1/vE68Z4pcr6KzwaiD1xloaB0tIliO+gzgjOfe3jrikdzSWuV+QyYQQArYHLNPKWMbJ6PHNJCfbd/mErdUh5lxblwU62Z8GkD382tt8BdfouSjTLuYPCR0AR6NmRUPBfDF5VmvL9YUEhFUYYxflYfxHwqGN/sfLaYLfbPXowhZx65W8KldNOva5xy8RrWq2f2bSb2cQEd2/zkYlTPkF6xzsNraOEY6SfpLesZH7IQ5hqHkmhoEkAl/GkdGod+b0m16XF [email protected]
E、[root@centos7 ~]# ssh 192.168.93.253
Last login: Thu Jan 24 19:04:01 2019 from 192.168.93.1
此時,我們遠程連接主機,實現成功登陸,我們就可以遠程操作主機,例如:[root@centos7 ~]# ssh 192.168.93.253 hostname
centos6.localdomain

4、使用export將100臺主機批量實現key驗證
實驗目標:創建一個腳本,將生成的公鑰傳送到所有管理的主機上
準備:A、假設所有主機密碼一樣,把所有的口令都設為同一個,eg:echo magedu |passwd --stdin root
B、創建一個hosts.txt文件,將所管控的主機IP地址列在其中,
C、[root@centos7 ~]# cat ssh_key_push.sh
#!/bin/bash
ssh-keygen -P "" -f /root/.ssh/id_rsa (“”:設置的空口令) (此命令可一次性生成公私鑰對兒)
pass=magedu
rpm -q expect &> /dev/null || yum install expect -y -q (靜默安裝expect)
while read ip ;do
expect <<EOF
set timeout 20
spawn ssh-copy-id -i /root/.ssh/id_rsa.pub $ip
expect {
"yes/no" { send "yes\n";exp_continue }
"password" { send "$pass\n" }
}
expect eof
EOF
done < host.txt
D、腳本一竣工,我們將其加權限:chmod +x ssh_key_push.sh
E、./ssh_key_push.sh 運行完畢,即可連接遠程主機
F、[root@centos7 ~]# ssh 192.168.93.253
Last login: Thu Jan 24 21:40:10 2019 from 192.168.93.1
[root@centos6 ~]# exit
logout
Connection to 192.168.93.253 closed.
[root@centos7 ~]# ssh 192.168.93.200
Last login: Thu Jan 24 22:41:15 2019 from 192.168.93.1
[root@centos7 ~]# exit
logout

對稱加密算法
對稱加密:加密和解密使用同一個密鑰
DES:Data Encryption Standard,56bits
3DES:
AES:Advanced (128, 192, 256bits)
Blowfish,Twofish
IDEA,RC6,CAST5
?特性:
1、加密、解密使用同一個密鑰,效率高
2、將原始數據分割成固定大小的塊,逐個進行加密
?缺陷:
1、密鑰過多
2、密鑰分發
3、數據來源無法確認
非對稱加密算法
公鑰加密:密鑰是成對出現
公鑰:公開給所有人;public key
私鑰:自己留存,必須保證其私密性;secret key
特點:用公鑰加密數據,只能使用與之配對的私鑰解密;反之亦然
功能:
數字簽名:主要在於讓接收方確認發送方身份
對稱密鑰交換:發送方用對方的公鑰加密一個對稱密鑰後發送給對方
數據加密:適合加密較小數據
缺點:密鑰長,加密解密效率低下
算法:
RSA(加密,數字簽名)
DSA(數字簽名)
ELGamal
非對稱加密
?基於一對公鑰/密鑰對
? 用密鑰對中的一個加密,另一個解密
?實現加密:
? 接收者
生成公鑰/密鑰對:P和S
公開公鑰P,保密密鑰S
? 發送者
使用接收者的公鑰來加密消息M
將P(M)發送給接收者
? 接收者
使用密鑰S來解密:M=S(P(M))
非對稱加密
實現數字簽名:
? 發送者
生成公鑰/密鑰對:P和S
公開公鑰P,保密密鑰S
使用密鑰S來加密消息M
發送給接收者S(M)
? 接收者
使用發送者的公鑰來解密M=P(S(M))
結合簽名和加密
分離簽名
實驗:用對稱、非對稱、哈希算法
A----->B A 發的數據只有B能解,B也知道只能是A發的
Key { data+Sa [ hash ( data ) ] } + Pb (key)
解析:
A向B發數據時,在原始數據data後加A的私鑰簽名,[hash(data)]為哈希算法對數據做的摘要,此串數據 data+Sa [ hash ( data ) ]用對稱秘鑰key加密,拿對方B的公鑰把對稱秘鑰key加密,
B接收A的數據時,因為只有B可解,B的私鑰解開對稱秘鑰key可得到data數據,但是數據來源不確定,就用A的公鑰解開,得到的數據是一串,把前面第一個data數據用哈希算法得出結果,與後面的第二個data作比較,若結果一樣,說明數據來源是A.
單向散列
?將任意數據縮小成固定大小的“指紋”
? 任意長度輸入
? 固定長度輸出
? 若修改數據,指紋也會改變(“不會產生沖突”)
? 無法從指紋中重新生成數據(“單向”)
?功能:數據完整性
?常見算法
md5: 128bits、sha1: 160bits、sha224、sha256、sha384、sha512
?常用工具
? md5sum | sha1sum [ --check ] file
? openssl、gpg
? rpm -V
使用gpg實現對稱加密
?對稱加密file文件
gpg -c file
ls file.gpg
在另一臺主機上解密file
gpg -o file -d file.gpg
使用gpg工具實現公鑰加密
在hostB主機上用公鑰加密,在hostA主機上解密
在hostA主機上生成公鑰/私鑰對
gpg --gen-key
?在hostA主機上查看公鑰
gpg --list-keys
?在hostA主機上導出公鑰到wang.pubkey
gpg -a --export -o wang.pubkey
?從hostA主機上復制公鑰文件到需加密的B主機上
scp wang.pubkey hostB:
在需加密數據的hostB主機上生成公鑰/私鑰對
gpg --list-keys
gpg --gen-key
在hostB主機上導入公鑰
gpg --import wang.pubkey
gpg --list-keys
用從hostA主機導入的公鑰,加密hostB主機的文件file,生成file.gpg
gpg -e -r wangxiaochun file
file file.gpg
復制加密文件到hostA主機
scp fstab.gpg hostA:
在hostA主機解密文件
gpg -d file.gpg
gpg -o file -d file.gpg
刪除公鑰和私鑰
gpg --delete-keys wangxiaochun
gpg --delete-secret-keys wangxiaochun
openssl命令
生成密鑰對兒:man genrsa
生成私鑰
openssl genrsa -out /PATH/TO/PRIVATEKEY.FILE NUM_BITS
(umask 077; openssl genrsa –out test.key –des 2048)
openssl rsa -in test.key –out test2.key 將加密key解密
?從私鑰中提取出公鑰
openssl rsa -in PRIVATEKEYFILE –pubout –out PUBLICKEYFILE
openssl rsa –in test.key –pubout –out test.key.pub
?隨機數生成器:偽隨機數字
鍵盤和鼠標,塊設備中斷
/dev/random:僅從熵池返回隨機數;隨機數用盡,阻塞
/dev/urandom:從熵池返回隨機數;隨機數用盡,會利用軟件生成偽隨機數,非阻塞
ssh客戶端
?客戶端組件:
?ssh, 配置文件:/etc/ssh/ssh_config
Host PATTERN
StrictHostKeyChecking no 首次登錄不顯示檢查提示
? 格式:ssh [user@]host [COMMAND]
ssh [-l user] host [COMMAND]
? 常見選項
-p port:遠程服務器監聽的端口
-b:指定連接的源IP
-v:調試模式
-C:壓縮方式
-X:支持x11轉發
-t:強制偽tty分配
ssh -t remoteserver1 ssh -t remoteserver2 ssh remoteserver3
ssh服務基於密鑰登錄驗證
?基於密鑰的登錄方式
1 首先在客戶端生成一對密鑰(ssh-keygen)
2 並將客戶端的公鑰ssh-copy-id 拷貝到服務端
3 當客戶端再次發送一個連接請求,包括ip、用戶名
4 服務端得到客戶端的請求後,會到authorized_keys中查找,如果有響應的IP和用戶,就會隨機生成一個字符串,例如:magedu
5 服務端將使用客戶端拷貝過來的公鑰進行加密,然後發送給客戶端
6 得到服務端發來的消息後,客戶端會使用私鑰進行解密,然後將解密後的字符串發送給服務端
7服務端接受到客戶端發來的字符串後,跟之前的字符串進行對比,如果一致,就允許免密碼登錄
基於key認證實現
?基於密鑰的認證:
?(1) 在客戶端生成密鑰對
ssh-keygen -t rsa [-P ‘‘] [-f “~/.ssh/id_rsa"]
?(2) 把公鑰文件傳輸至遠程服務器對應用戶的家目錄
ssh-copy-id [-i [identity_file]] [user@]host
?(3) 測試
?(4) 在SecureCRT或Xshell實現基於key驗證
在SecureCRT工具—>創建公鑰—>生成Identity.pub文件
轉化為openssh兼容格式(適合SecureCRT,Xshell不需要轉化格式),並復制到需登錄主機上相應文件authorized_keys中,註意權限必須為600,在需登錄的ssh主機上執行:ssh-keygen -i -f Identity.pub >> .ssh/authorized_keys
基於key認證
?(5)重設私鑰口令:
ssh-keygen –p
?(6)驗證代理(authentication agent)保密解密後的密鑰
? 這樣口令就只需要輸入一次
? 在GNOME中,代理被自動提供給root用戶
? 否則運行ssh-agent bash
?(7)鑰匙通過命令添加給代理
ssh-add
rsync命令
? 基於ssh和rsh服務實現高效率的遠程系統之間復制文件
? 使用安全的shell連接做為傳輸方式
? rsync -av /etc server1:/tmp 復制目錄和目錄下文件
? rsync -av /etc/ server1:/tmp 只復制目錄下文件
? 比scp更快,只復制不同的文件
? 常用選項:
-n 模擬復制過程
-v 顯示詳細過程
-r 遞歸復制目錄樹
-p 保留權限
-t 保留時間戳
-g 保留組信息
-o 保留所有者信息
-l 將軟鏈接文件本身進行復制(默認)
-L 將軟鏈接文件指向的文件復制
-a 存檔,相當於–rlptgoD,但不保留ACL(-A)和SELinux屬性(-X)
pssh示例
?通過pssh批量關閉seLinux
pssh -H [email protected] -i ‘sed -i
"s/^SELINUX=.*/SELINUX=disabled/" /etc/selinux/config’
?批量發送指令
pssh -H [email protected] -i setenforce 0
pssh -H [email protected] -i hostname
?當不支持ssh的key認證時,通過 -A選項,使用密碼認證批量執行指令
pssh -H [email protected] -A -i hostname
?將標準錯誤和標準正確重定向都保存至/app目錄下
pssh -H 192.168.1.10 -o /app -e /app -i “hostname”
pscp.pssh命令
?pscp.pssh功能是將本地文件批量復制到遠程主機
?pscp [-vAr] [-h hosts_file] [-H [user@]host[:port]] [-l user] [-p par] [-o
outdir] [-e errdir] [-t timeout] [-O options] [-x args] [-X arg] local remote
?pscp-pssh選項
-v 顯示復制過程
-r 遞歸復制目錄
?將本地curl.sh 復制到/app/目錄
pscp.pssh -H 192.168.1.10 /root/test/curl.sh /app/
pscp.pssh -h host.txt /root/test/curl.sh /app/
?將本地多個文件批量復制到/app/目錄
pscp.pssh -H 192.168.1.10 /root/f1.sh /root/f2.sh /app/
?將本地目錄批量復制到/app/目錄
pscp.pssh -H 192.168.1.10 -r /root/test/ /app/
pslurp命令
?pslurp功能是將遠程主機的文件批量復制到本地
?pslurp [-vAr] [-h hosts_file] [-H [user@]host[:port]] [-l user] [-p par][-o
outdir] [-e errdir] [-t timeout] [-O options] [-x args] [-X arg] [-L localdir]
remote local(本地名)
?pslurp選項
-L 指定從遠程主機下載到本機的存儲的目錄,local是下載到本地後的名稱 -r 遞歸復制目錄
批量下載目標服務器的passwd文件至/app下,並更名為user
pslurp -H 192.168.1.10 -L /app /etc/passwd user
?SSH 端口轉發能夠提供兩大功能:
?加密 SSH Client 端至 SSH Server 端之間的通訊數據
?突破防火墻的限制完成一些之前無法建立的 TCP 連接
SSH端口轉發
?本地轉發:
-L localport:remotehost:remotehostport sshserver
?選項:
-f 後臺啟用
-N 不打開遠程shell,處於等待狀態
-g 啟用網關功能
?示例
ssh –L 9527:telnetsrv:23 -Nfg sshsrv
telnet 127.0.0.1 9527
當訪問本機的9527的端口時,被加密後轉發到sshsrv的ssh服務,再解密被轉發到telnetsrv:23data ? ? localhost:9527 ? ? localhost:XXXXX ? ? sshsrv:22 sshsrv:YYYYY ? ? telnetsrv:23
SSH端口轉發
?遠程轉發:
-R sshserverport:remotehost:remotehostport sshserver
?示例:
ssh –R 9527:telnetsrv:23 –Nf sshsrv
讓sshsrv偵聽9527端口的訪問,如有訪問,就加密後通過ssh服務轉發請求到本機ssh客戶端,再由本機解密後轉發到telnetsrv:23
Data ? ? sshsrv:9527 ? ? sshsrv:22 ? ? localhost:XXXXX ? ?
localhost:YYYYY ? ? telnetsrv:23
SSH端口轉發
?動態端口轉發:
?當用firefox訪問internet時,本機的1080端口做為代理服務器,firefox的訪問請求被轉發到sshserver上,由sshserver替之訪問internet
ssh -D 1080 root@sshserver -fNg
在本機firefox設置代理socket proxy:127.0.0.1:1080
curl --socks5 127.0.0.1:1080 http://www.google.com
sudo
?配置文件:/etc/sudoers, /etc/sudoers.d/
?時間戳文件:/var/db/sudo
?日誌文件:/var/log/secure
?配置文件支持使用通配符glob
? 任意單一字符

  • 匹配任意長度字符
    [wxc] 匹配其中一個字符
    [!wxc] 除了這三個字符的其它字符
    \x 轉義
    [[alpha]] 字母 示例: /bin/ls [[alpha]]*
    ?配置文件規則有兩類
    1、別名定義:不是必須的
    2、授權規則:必須的

sudoers
?授權規則格式:
用戶 登入主機=(代表用戶) 命令
?示例:
root ALL=(ALL) ALL
?格式說明:
user: 運行命令者的身份
host: 通過哪些主機
(runas):以哪個用戶的身份
command: 運行哪些命令
sudo別名和示例
?別名有四種類型:User_Alias, Runas_Alias, Host_Alias ,CmndAlias
?別名格式:[A-Z]([A-Z][0-9]
)
?別名定義:
Alias_Type NAME1 = item1, item2, item3 : NAME2 = item4, item5
?示例1:
Student ALL=(ALL) ALL
%wheel ALL=(ALL) ALL
?示例2:
student ALL=(root) /sbin/pidof,/sbin/ifconfig
%wheel ALL=(ALL) NOPASSWD: ALL
sudo示例
?示例3
User_Alias NETADMIN= netuser1,netuser2
Cmnd_Alias NETCMD = /usr/sbin/ip
NETADMIN ALL=(root) NETCMD
?示例4
User_Alias SYSADER=wang,mage,%admins
User_Alias DISKADER=tom
Host_Alias SERS=www.magedu.com,172.16.0.0/24
Runas_Alias OP=root
Cmnd_Alias SYDCMD=/bin/chown,/bin/chmod
Cmnd_Alias DSKCMD=/sbin/parted,/sbin/fdisk
SYSADER SERS= SYDCMD,DSKCMD
DISKADER ALL=(OP) DSKCMD
sudo示例
?示例4
User_Alias ADMINUSER = adminuser1,adminuser2
Cmnd_Alias ADMINCMD = /usr/sbin/useradd,/usr/sbin/usermod,
/usr/bin/passwd [a-zA-Z]
, !/usr/bin/passwd root
ADMINUSER ALL=(root) NOPASSWD:ADMINCMD,
PASSWD:/usr/sbin/userdel
?示例5
Defaults:wang runas_default=tom
wang ALL=(tom,jerry) ALL
?示例6
wang 192.168.1.6,192.168.1.8=(root) /usr/sbin/,!/usr/sbin/useradd
?示例7
wang ALL=(ALL) /bin/cat /var/log/messages
sudo命令
?ls -l /usr/bin/sudo
?sudo –i –u wang 切換身份
?sudo [-u user] COMMAND
-V 顯示版本信息等配置信息
-u user 默認為root
-l,ll 列出用戶在主機上可用的和被禁止的命令
-v 再延長密碼有效期限5分鐘,更新時間戳
-k 清除時間戳(1970-01-01),下次需要重新輸密碼
-K 與-k類似,還要刪除時間戳文件
-b 在後臺執行指令
-p 改變詢問密碼的提示符號
示例:-p ”password on %h for user %p:”
PAM認證機制
?PAM相關文件
?模塊文件目錄:/lib64/security/
.so
?環境相關的設置:/etc/security/
?主配置文件:/etc/pam.conf,默認不存在
?為每種應用模塊提供一個專用的配置文件:/etc/pam.d/APPNAME
?註意:如/etc/pam.d存在,/etc/pam.conf將失效
pam認證原理
?PAM認證一般遵循這樣的順序:Service(服務)→PAM(配置文件)→pam
.so
?PAM認證首先要確定那一項服務,然後加載相應的PAM的配置文件(位於
/etc/pam.d下),最後調用認證文件(位於/lib64/security下)進行安全認證
PAM認證機制
?PAM認證過程:
1.使用者執行/usr/bin/passwd 程序,並輸入密碼
2.passwd開始調用PAM模塊,PAM模塊會搜尋passwd程序的PAM相關設置文
件,這個設置文件一般是在/etc/pam.d/裏邊的與程序同名的文件,即PAM會
搜尋/etc/pam.d/passwd此設置文件
3.經由/etc/pam.d/passwd設定文件的數據,取用PAM所提供的相關模塊來進
行驗證
4.將驗證結果回傳給passwd這個程序,而passwd這個程序會根據PAM回傳的
結果決定下一個動作(重新輸入密碼或者通過驗證)
PAM認證機制
?通用配置文件/etc/pam.conf格式
application type control module-path arguments
?專用配置文件/etc/pam.d/
格式
type control module-path arguments
?說明:
?服務名(application)
telnet、login、ftp等,服務名字“OTHER”代表所有沒有在該文件中明確配
置的其它服務
?模塊類型(module-type)
?control PAM庫該如何處理與該服務相關的PAM模塊的成功或失敗情況
?module-path 用來指明本模塊對應的程序文件的路徑名
?Arguments 用來傳遞給該模塊的參數
PAM認證機制
?模塊類型(module-type)
?Auth 賬號的認證和授權
?Account 與賬號管理相關的非認證類的功能,如:用來限制/允許用戶對某
個服務的訪問時間,當前有效的系統資源(最多可以有多少個用戶),限制用
戶的位置(例如:root用戶只能從控制臺登錄)
?Password 用戶修改密碼時密碼復雜度檢查機制等功能
?Session 用戶獲取到服務之前或使用服務完成之後需要進行一些附加的操作,
如:記錄打開/關閉數據的信息,監視目錄等
?-type 表示因為缺失而不能加載的模塊將不記錄到系統日誌,對於那些不總是
安裝在系統上的模塊有用

加密與安全部分 實驗及知識點