Linux-基础教程--系统安全基础.ppt

上传人:豆**** 文档编号:26544869 上传时间:2022-07-18 格式:PPT 页数:87 大小:253.50KB
返回 下载 相关 举报
Linux-基础教程--系统安全基础.ppt_第1页
第1页 / 共87页
Linux-基础教程--系统安全基础.ppt_第2页
第2页 / 共87页
点击查看更多>>
资源描述

《Linux-基础教程--系统安全基础.ppt》由会员分享,可在线阅读,更多相关《Linux-基础教程--系统安全基础.ppt(87页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、本章内容要点n基本的系统安全n物理安全和登录安全n禁用root登录和sudon可插拔认证模块(PAM)n基于PAM的口令安全和口令策略n基于PAM的访问控制本章学习目标 n掌握基本的系统安全配置n掌握物理安全和登录安全配置n掌握sudo的配置和sudo命令的使用n理解PAM机制及其执行过程n掌握PAM客户配置文件的语法n学会使用PAM模块增强口令安全n学会使用PAM模块配置访问控制基本的系统安全基本的系统安全基本系统安全n安全的磁盘布局n使用挂装选项提高文件系统的安全性n查找并取消文件/目录的非必要的特殊权限n避免安装不必要的软件包n配置软件包更新的Email通知n关闭不必要的服务n关闭IPv

2、6的内核功能磁盘布局n/目录中必须包括 /etc、/lib、/bin、/sbin,即不能在此四个目录上使用独立的分区或逻辑卷n除了 / 、/boot 和 SWAP 之外您应该根据自己的需要尽量分离数据到不同的分区或逻辑卷n建议创建独立的 /usr、/var、/tmp、/var/tmp 文件系统n根据日志管理需要,您可能应该创建独立的 /var/log、/var/log/audit 文件系统n若所有普通用户数据存储在本机,您还应该创建独立的 /home 文件系统n若系统对外提供大量服务(如Web虚拟主机等),应该创建独立的 /srv 文件系统提高文件系统的安全性n常用如下三个挂装参数提高文件系统

3、的安全性qnoexec:不允许在本分区上执行二进制程序,即防止执行二进制程序但允许脚本执行qnodev:不解释本分区上的字符或块设备,即防止用户使用设备文件qnosuid:不允许在本分区上执行 SUID/SGID 的访问n例如/dev/sda5 /srv/www ext3 defaults,nosuid,nodev,noexec 1 2/dev/sda6 /var/ftp ext3 defaults,nosuid,nodev,noexec 1 2/dev/sda7 /tmp ext3 defaults,nosuid,nodev,noexec 1 2去除非必要的特殊权限n查找系统中权限为SUID

4、/SGID 的文件# find / -xdev ( -perm -4000 -o -perm -2000 ) -lsn查找指定目录/dir下的所有用户可写的设置了粘着位(sticky-bit)的目录 # find /dir -xdev -type d ( -perm -0002 -a ! -perm -1000 ) -ls使用 chmod 命令去除文件或目录的非必要的特殊权限# chmod u-s # chmod g-s# chmod o-t检查重要的文件权限n查找指定目录/dir下的所有用户 可写的文件# find /dir -xdev -type f -perm -0002 -lsn查找指

5、定目录/dir下的非有效用户或有效组的文件# find /dir -xdev ( -nouser -o -nogroup ) -ls使用 chmod 命令修改权限# chmod o-w 使用 chown 命令修改文件属主或组# chown USER:GROUP 避免安装不必要的软件包n在安装过程中仅仅安装必要的软件包n使用如下命令查找、删除不必要的软件包# yum list installed# yum remove PackageNamen通常服务器无需运行X系统,尤其是被托管的服务器。n在系统运行过程中,可以安装需要的软件包# yum install PackageName软件包的更新n保

6、持系统中软件包的更新极为重要q当软件的编制者发现软件的漏洞之后将对其进行修复,修复后的软件包就会发布到相应的yum仓库中n软件包的更新的方法q启用 yum-updated 服务q编写 cron 脚本配置软件包更新的Email通知# vi /etc/yum/yum-updatesd.confmainrun_interval = 3600updaterefresh = 600emit_via = emailemail_to = email_from = dbus_listener = yesdo_update = nodo_download = nodo_download_deps = no# c

7、hkconfig yum-updated on# service yum-updated restart关闭不必要的服务n使用 ntsysv 或 chkconfig 管理工具n可以编写自己的脚本文件关闭不必要的服务#!/bin/bash# /root/bin/stop_services.sh# 请将要停止的服务以空格间隔写入变量stop_servicesstop_services=bluetooth hidd irqbalance rawdevices for i in $stop_services; doecho disabling $ichkconfig $i offdone关闭IPv6的

8、内核功能# echo install ipv6 /bin/true /etc/modprobe.conf# echo /etc/sysconfig/networkNETWORKING_IPV6=noIPV6INIT=no_END_# service network restart# chkconfig ip6tables off# service ip6tables stop物理安全和登录安全n配置GRUB的口令n为单用户模式启用认证n禁用重启热键n为单用户模式启用认证n禁用启动时的交互热键n设置屏幕锁定n为 BASH 设置超时自动注销生成 GRUB 口令nGRUB可以允许用户绕过所有的安全验

9、证而进入单用户模式n管理员应该设置GRUB口令避免修改启动参数从而提供安全性n为GRUB生成MD5口令# grub-md5-cryptPassword:Retype password:$1$WqFGw/$hkFDqkoGxqescpPKVt8/I1启用GRUB配置文件的口令n修改启动参数时需要口令验证qpasswd 配置语句位于全局部分(第一个“title”之前)n进入所选择的系统前需要口令验证qpasswd 配置语句位于引导参数部分(每个“title”部分之后)default=0timeout=5splashimage=(hd0,0)/grub/splash.xpm.gzhiddenmenu

10、password -md5 $1$WqFGw/$hkFDqkoGxqescpPKVt8/I1 # 添加此行title CentOS (2.6.18-194.32.1.el5) root (hd0,0) kernel /boot/vmlinuz-2.6.18-194.32.1.el5 ro root=LABEL=/ initrd /boot/initrd-2.6.18-194.32.1.el5.img password -md5 $1$WqFGw/$hkFDqkoGxqescpPKVt8/I1 # 添加此行为单用户模式启用认证n在 RHEL/CentOS 中默认情况下进入单用户模式无需认证n为了

11、提高安全性启用单用户模式的用户认证# echo “:S:wait:/sbin/sulogin” /etc/inittab# init q禁用重启热键n在 RHEL/CentOS 中默认情况下可以通过键盘热键 + 重启系统n为了提高安全性禁用重启热键# vi /etc/inittab注释如下的行:#ca:ctrlaltdel:/sbin/shutdown -t3 -r now# init q禁用启动时的交互热键nRHEL/CentOS 允许控制台用户在启动过程中通过热键“i”执行交互式启动设置。n为了提高安全性,禁用启动时的交互热键# sed -i s/PROMPT=yes/PROMPT=no/

12、 /etc/sysconfig/init设置屏幕锁定n安装vlock包# yum -y install vlockn使用vlock命令锁定屏幕q锁定当前屏幕:$ vlockq锁定所有已登录的终端会话并禁止虚拟控制台切换:$ vlock -a为 BASH 设置超时自动注销# vi /etc/profile.d/autologout.shTMOUT=300 # 5分钟后超时readonly TMOUTexport TMOUT# chmod +x /etc/profile.d/autologout.sh禁止禁止ROOT账号登录账号登录sudo简介nsudo 允许授权用户以超级用户超级用户或其他用户其

13、他用户身份执行命令qsudo 能限制指定用户在指定主机上运行某些命令q默认情况下,只有root用户可以使用sudo命令nsudo 使用普通用户自己的口令qsudo 是设置了SUID权限位的执行文件nsudo 使用时间戳文件来完成类似“检票”的系统q当用户执行 sudo 时,5分钟分钟 内不用再输入口令n记录所有登录(包括成功的和不成功的登录)q/var/log/secure与sudo相关的文件n/usr/bin/sudo:以其他用户身份执行命令n/etc/sudoers:sudo的配置文件q列出哪(些)个用户在哪个(些)主机上执行哪个(些)命令n/usr/sbin/visudo:用于编辑 su

14、doers 文件q防止两个用户同时进行修改q进行有限的语法检查n/var/run/sudo/目录:包含用户的时间戳文件sudo 的执行过程 n在 /var/run/sudo/$USER目录中查找时间戳文件q若时间戳已过期,提示用户输入自己的口令n若口令输入错误则退出 sudo 的执行n若口令输入正确则继续 sudo 的执行过程q若时间戳未过期,继续 sudo 的执行过程n读取配置文件 /etc/sudoers,判断用户是否具有执行此 sudo 命令的权限q若有权限执行则执行 sudo 后面的命令q若无权执行则退出 sudo 的执行快速配置sudon将所有需要使用sudo的普通用户添加到 whe

15、el组中# usermod -G wheel osmond# usermod -G wheel jasonn配置允许wheel组可以执行sudo命令# visudo/ 删除如下行的注释符,之后保存退出%wheel ALL=(ALL) ALLsu与sudo比较nsuq直接切换为超级用户q普通用户要切换为超级用户必须知道超级用户的口令q适用于系统中只有单个系统管理员的情况nsudoq直接使用 sudo 命令前缀执行系统管理命令q执行系统管理命令时无需知道超级用户的口令q适用于系统中有多个系统管理员的情况n允许 root 为几个用户或组委派权利,使之能运行部分或全部由 root (或另一个)用户执行

16、的命令nsudo 设计者的宗旨宗旨:给用户尽可能少的权限但仍允许完成他们的工作n当然系统只有单单个系统管理员时也也可以使用/etc/sudoers 的配置语法n(Runas)部分可以省略,省略时表示(root)n四个部分均可设置多个项目多个项目,每个项目用逗号间隔逗号间隔。n在User部分使用“%组名”的形式为组中的所有用户授权。n在Cmnd部分q使用NOPASSWD:前缀参数,表示不用输入口令即可执行Cmnd。q使用 ! 前缀前缀表示逻辑非。使用Shell通配符通配符 匹配可以执行的命令。nALL表示所有。以#开始的行为注释行。行末的为续行符。User Host = (Runas) Cmnd

17、被授权的用户被授权的用户在哪些主机中使用在哪些主机中使用允许执行哪些命令允许执行哪些命令可切换可切换为哪些为哪些用户用户/etc/sudoers 的配置语法续n定义四种别名qUser_AliasqHost_AliasqRunas_AliasqCmnd_Aliasn语法n使用别名简化授权User_Alias USER_ALIAS_NAME = user1, user2, .Host_Alias HOST_ALIAS_NAME = host1, host2, .Runas_Alias RUNAS_ALIAS_NAME = runas1, runas2, .Cmnd_Alias COMMAND_AL

18、IAS_NAME = cmnd1, cmnd2, ./etc/sudoers 的配置举例1n专职系统管理员(millert,mikef和dowdy)可以在任何主机上以root用户身份执行任何命令而不需要进行身份验证。User_Alias FULLTIMERS = millert, mikef, dowdyFULLTIMERS ALL = NOPASSWD: ALL/etc/sudoers 的配置举例2n兼职管理员(jalala, sonar和huge)可以在任何主机上以root用户身份运行别名 BROWSE、PROCESSES、USERS 中定义的命令,同时可以修改除了 root 用户之外的所

19、有用户口令。User_Alias PARTTIMERS2 = jalala, sonar , hugeCmnd_Alias BROWSE = /bin/ls, /bin/cd, /bin/catCmnd_Alias PROCESSES = /bin/nice, /bin/kill, /usr/bin/killallCmnd_Alias USERS = /usr/sbin/useradd A-z*,/usr/sbin/userdel -r A-z*PARTTIMERS2 ALL= USERS,PROCESSES,BROWSE, /usr/bin/passwd A-z*, !/usr/bin/pa

20、sswd rootsudo命令n-H : 将环境变量中的$HOME指定为要变更身份的使用者的目录(如不加-u参数就是/root)。n-b : 在后台执行指令。n-u username|#uid :以指定的用户作为新的身份。省略此参数表示以root的身份执行指令。n-i : 模拟一个新用户身份的初始Shell。n-s : 执行环境变量$SHELL所指定的Shell,或是/etc/passwd里所指定的Shell。sudo -V | -h | -k | -l | -vsudo -Hb -u username|#uid -i | -s | sudo命令举例n查看当前用户可以使用sudo执行的命令列表

21、$ sudo -ln进入交互式( interactively)登录,类似“su -”$ sudo -in直接执行授权的命令$ sudo /usr/sbin/useradd otheruser$ sudo /usr/bin/passwd otheruser$ sudo sh -c cd /home ; du -s * | sort -rn USAGE可插拔认证模块(可插拔认证模块(PAM)PAM简介nPAM(Pluggable Authentication Modules)qhttp:/www.kernel.org/pub/linux/libs/pam/index.htmlq本地文档:/usr/

22、share/doc/pam-/nPAM 是一系列被应用程序共享的可配置的动态加载是一系列被应用程序共享的可配置的动态加载的用于用户验证和授权的库文件的用于用户验证和授权的库文件qPAM 将应用程序的验证机制从应用程序中独立出来q应用程序调用PAM来实现用户验证和授权qPAM 独立的模块化实现便于功能扩展和维护qPAM 为认证模块的编制建立了标准的API,以便各应用程序能方便地使用qPAM 验证机制对其上层的应用程序和最终用户都是透明的PAM的组成nPAM由PAM核心和PAM模块组成nPAM核心q负责调用PAM模块q/lib/libpam.sonPAM模块q用于实现各种验证的动态可加载的库文件q

23、对每个 PAM 模块都会执行 通过通过 或 失败失败 的测试qPAM 模块保存在 /lib/security 目录中q一些 PAM 模块需要模块的配置文件,模块配置文件通常保存在 /etc/security 目录下PAM 客户nPAM客户:使用PAM验证功能的应用程序n判断应用程序是否为PAM客户# ldd /bin/login|grep libpamn查询系统已安装的PAM客户# rpm -q -whatrequires libpam.so.0 | grep -v pamnPAM客户配置文件q每个PAM客户都可以调用不同的PAM模块实现验证q决定了PAM模块在什么时候如何被PAM客户使用q保

24、存在 /etc/pam.d 目录下PAM客户调用PAM的过程nPAM客户(如:login)调用PAM核心 /lib/libpam.so nPAM核心收到来自应用程序的请求后在/etc/pam.d目录下查找与应用程序同名的配置文件(如:/etc/pam.d/ login)nPAM核心根据配置文件的设置执行指定的PAM模块q在执行一些模块(如:pam_access)时,还会读取/etc/security目录下相应的模块配置文件(如:/etc/security/access.conf)nPAM核心接收每一个PAM模块的执行结果(或成功或失败),根据PAM模块的返回结果和配置文件的设置决定验证是否通过

25、nPAM核心将最终结果返回给调用它的应用程序,应用程序根据返回结果决定验证是否通过PAM客户的配置文件n/etc/pam.d/*q每个配置文件均使用同样的语法n配置文件中每一行的格式为:模块类型模块类型 控制标记控制标记 模块路径模块路径 执行参数执行参数q模块类型(模块类型(module-type):指定模块的测试类型q控制标记(控制标记(control-flag):决定PAM如何使用模块调用后的返回值q模块路径(模块路径(module-path):指定相对于/lib/security/目录的模块文件名q执行参数(执行参数(module-arguments):指定模块参数,多个参数之间用空格

26、间隔(可选项)PAM的模块类型nPAM的四种模块类型qauth 验证某用户的确是这个用户qaccount 批准某账户的使用qpassword 控制密码的修改qsession 打开、关闭、并记录会话n每一类都会在需要时被调用,并为服务提供独立的结果PAM的控制标志n模块可以被堆叠 (同种类型的模块按先后顺序依次执行)n控制标志决定每个类型测试将如何影响同类型的测试以及最终的测试结果qrequired:必须通过,若失败则继续测试qrequisite :与 required 类似,不同之处是它在失败后停止测试qsufficient :如果到此为止一直通过,现在就返回成功;如果失败 ,忽略测试,继续检

27、查qoptional:测试通过与否都无关紧要qinclude:返回在被调用的文件中配置的测试的总体测试值控制标志的复杂语法nvalueN可以是:qPAM函数库中任何一个函数的返回值,如:nnew_authtok_reqd、user_unknownnsuccess、Ignore、default 等nactionN可以是:qignore:忽略此测试的值,即此值对最终测试结果无关紧要qbad:这个返回值应该被看作整个层叠模块验证失败qok:这个返回值直接作为整个层叠模块的返回值q非负整数非负整数:表示需要忽略后面堆叠的n个同类型的模块value1=action1 value2=action2 .控制

28、标志的两种语法的关系nrequired 等价于qsuccess=ok new_authtok_reqd=ok ignore=ignore default=badnrequisite 等价于qsuccess=ok new_authtok_reqd=ok ignore=ignore default=diensufficient 等价于qsuccess=done new_authtok_reqd=done default=ignorenoptional 等价于qsuccess=ok new_authtok_reqd=ok default=ignore示例:/etc/pam.d/login#%PAM-

29、1.0auth user_unknown=ignore success=ok ignore=ignore default=bad pam_securetty.soauth include system-authaccount required pam_nologin.soaccount include system-authpassword include system-auth# pam_selinux.so close should be the first session rulesession required pam_selinux.so closesession include s

30、ystem-authsession required pam_loginuid.sosession optional pam_console.so# pam_selinux.so open should only be followed by sessions to be executed in the user contextsession required pam_selinux.so opensession optional pam_keyinit.so force revoke共享验证文件:system-authnsystem-auth 为许多 PAM客户 提供了一个“通用的全局配置”

31、nsystem-auth 包含了若干标准验证测试nsystem-auth 由 include 控制标志调用nsystem-auth 对可共享的标准系统验证实现简单、统一的管理n修改 system-auth 配置文件可以同时影响多个PAM客户的验证/etc/pam.d/system-auth#%PAM-1.0auth required pam_env.soauth sufficient pam_unix.so nullok try_first_passauth requisite pam_succeed_if.so uid = 500 quietauth required pam_deny.so

32、account required pam_unix.soaccount sufficient pam_succeed_if.so uid =0时,N代表新口令最多可以有多少个阿拉伯数字。当N0时,N代表新口令最少要有多少个阿拉伯数字。nucredit=N:与dcredit书写规则类似,但此处指大写字母。nlcredit=N:与dcredit书写规则类似,但此处指小写字母。nocredit=N:与dcredit书写规则类似,但此处指特殊字符。使用pam_cracklib.so模块设置口令策略n/etc/pam.d/system-authpassword requisite pam_crackli

33、b.so try_first_pass retry=3 minlen=10 dcredit=-1 ucredit=-1 ocredit=-1 lcredit=-1pam_tally2.so模块n设置在登录失败若干次之后锁定账户n将用户失败的登录次数记录于二进制文件/var/log/tallylogn管理员可以使用如下命令将某用户的失败登录计数器清零从而解除账户锁定# /sbin/pam_tally2 -user -resetn常用的模块参数qonerr=fail:当登录失败时qdeny=n:n次之后禁止登录使用pam_tally2.so模块设置登录失败后的账户锁定n/etc/pam.d/sys

34、tem-authauth required pam_tally2.so deny=5 onerr=failaccount required pam_tally2.so访问控制n登录访问控制pam_access.son列表访问控制pam_listfile.son时间访问控制pam_time.son资源访问控制pam_limits.sopam_access.so模块简介n通过 用户及其来源用户及其来源 实现登录访问控制q根据指定的 (user, host) 允许或拒绝用户的网络登录网络登录q根据指定的 (user, tty)允许或拒绝用户的本地登录本地登录n可用的模块测试类型qauth, acco

35、unt, password and sessionn默认的模块配置文件q/etc/security/access.conf# man 5 access.confn常用模块参数qaccessfile=n指定与默认模块配置文件分离的其他配置文件pam_access的模块配置文件n权限(permission)q+代表允许,-代表拒绝n用户(users)q以空格间隔的用户名或组名,ALL表示所有用户n来源(origins)qttyX 表示非远程登录, LOCAL 表示任何本地登录qsomehostname、FQDN、 q192.168.0.1、192.168.0.、192.168.0.0/24qALL

36、 表示所有来源,EXCEPT 表示除了之外权限 : 用户 : 来源pam_access.so举例(举例(1)n修改login的PAM配置文件 /etc/pam.d/loginaccount required pam_nologin.soaccount required pam_access.son修改配置文件 /etc/security/access.conf- : root : tty2- : jjheng : LOCAL EXCEPT tty4禁止禁止 root 用户从用户从 tty2 上登录,上登录,用户用户 jjheng 可以在除可以在除 tty4 本地终端之外的所有终端登录本地终端之

37、外的所有终端登录。pam_access.so举例(举例(2)n修改sshd的PAM配置文件 /etc/pam.d/sshdaccount required pam_nologin.soaccount required pam_access.so accessfile=/etc/ssh/sshd_access.confn修改配置文件 /etc/ssh/sshd_access.conf- : root : ALL EXCEPT centos.ls-al.me- : root : ALL EXCEPT 192.168.0.0/24- : ALL EXCEPT osmond : ALL限制限制 roo

38、t 用户只能从用户只能从 centos.ls-al.me 主机上使用主机上使用 ssh 登录登录本系统,本系统,限制限制 root 用户只能从用户只能从 192.168.0.0/24上使用上使用 ssh 登录登录本系统,本系统,禁止所有除了禁止所有除了 osmond 之外的用户使用之外的用户使用 ssh 登录登录本系统本系统。pam_listfile.so模块简介n使用允许/禁止列表实现访问控制q基于 user 的允许/禁止列表q基于 group 的允许/禁止列表q基于 tty|rhost|ruser|shell 的允许/禁止列表n可用的模块测试类型qauth, account, passwo

39、rd and sessionn模块配置文件q存放同类型的项目,如全部为用户名或全部为组名q每一行存放一个项目pam_listfile.so的模块参数nitem=tty|user|rhost|ruser|group|shellq设置访问控制的对象类型nfile=/path/to/filenameq指定保存有“item”对象的文件位置nsense=allow|denyq在文件file中找到指定的 item 对象时的动作(或允许或拒绝)q如果在文件中找不到相应的item对象,则执行相反的动作nonerr=succeed|failq指定当某类事件发生时的返回值(或成功或失败)napply=user|g

40、roupq指定规则所适用的对象q只有当 item=tty|rhost|shell 时才有意思pam_listfile.so举例(举例(1)n/etc/pam.d/vsftpdsession optional pam_keyinit.so force revokeauth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeedn/etc/vsftpd/ftpusersrootbinVsftpd 的默认配置的默认配置:拒绝:拒绝/etc/vsftpd/ftpusers中列出的用户登录

41、中列出的用户登录ftppam_listfile.so举例(举例(2)n编辑 /etc/pam.d/sshdauth include system-auth auth required pam_listfile.so item=user sense=deny onerr=succeed file=/etc/ssh/sshd.deny n编辑 /etc/ssh/sshd.deny rootjjheng拒绝拒绝 /etc/ssh/sshd.deny 中列出的用户中列出的用户 ssh 登录登录pam_listfile.so举例(举例(3)n编辑 /etc/pam.d/suauth sufficient

42、 pam_rootok.soauth required pam_listfile.so item=user onerr=fail sense=allow file=/etc/security/su.okn编辑 /etc/security/su.okroottom使用使用 su 时只能切换为时只能切换为 /etc/security/su.ok 中列出的用户中列出的用户pam_time.so模块简介n实现基于时间的登录访问控制q通过通过 login 限制本地登录的访问时间限制本地登录的访问时间q通过通过 sshd 限制网络登录的访问时间限制网络登录的访问时间n可用的模块测试类型qaccountn默

43、认的模块配置文件q/etc/security/time.conf# man 5 time.confpam_time的模块配置文件n服务、终端、用户服务、终端、用户 是逻辑表达式的列表是逻辑表达式的列表q“!”表示非;“|”表示或;“&”表示与n服务(services) 即PAM客户q应用PAM功能的服务名称(如:login、sshd)n终端(ttys) 应用此规则的终端名q“*”表示任何终端n用户(users) 应用此规则的用户名q“*”表示任何用户服务 ; 终端 ; 用户 ; 时间pam_time的模块配置文件续n时间(times) 应用此规则的时间范围q用星期几表示日期nMo、Tu、We、

44、Th、Fr、Sa、Su(周(周1周日)周日)nWk指每一天,指每一天,Wd指周末,指周末,Al也指每一天也指每一天nMoTuSa:指星期一星期二和星期六nAlFr:指除星期五外的每一天q时间使用24小时制nHHMM- HHMM 的形式nAl1800-0800:指每天下午6点整到第二天的早晨8点整q可用“!”表示除此以外的所有日期/时间q“|”表示或pam_time.so举例(1)n修改配置文件 /etc/pam.d/loginaccount include system-authaccount required pam_time.son编辑配置文件 /etc/security/time.con

45、f# 允许fanny和david在周1、3、5早9点到晚10点登录本机login ; tty* ; fanny|david ; MoWeFr0900-2200# 允许以student开始的用户每天早8点到晚6点登录本机login ; tty* ; student* ; Wk0800-1800# 禁止所有普通用户登录本机login ; tty* ; !root ; !Al0000-2400限制用户本地登录的登录时间pam_time.so举例(2)n修改配置文件 /etc/pam.d/sshdaccount include system-authaccount required pam_time.

46、son编辑配置文件 /etc/security/time.conf# 允许用户osmond每天0点到晚11点登录本机sshd ; * ; osmond ; Al0000-2300# 允许所有以student开始的用户每天早8点到晚6点登录本机sshd ; * ; student* ; Wk0800-1800 # 允许所有普通用户每天晚6点到次日早8点或周末全天登录sshd ; * ; !root ; Wd0000-2400 | Wk1800-0800限制用户ssh远程登录的登录时间pam_limits.so模块简介n实现资源访问的限制q限制用户或组的同时登录数q限制用户在会话过程中对系统资源的

47、使用n可用的模块测试类型qsessionn默认的模块配置文件q/etc/security/limits.conf# man 5 limits.confpam_limits的模块配置文件1nDomain:指定被限制的用户名或组名q组名组名前面加以示与用户名区别q通配符 * 表示所有用户nType:指定限制类型qsoft 指的是当前系统生效的设置值qhard 表明系统中所能设定的最大值n可以超出软限制(警告),但不能超过硬限制(soft hard )q用 - 就表明同时设置 soft 和 hard 的值nValue:指定限制值 pam_limits的模块配置文件2nItem:指定被限制的资源项目q

48、CPUncpu:最大的CPU占用时间(分钟)nnproc:最大进程数q文件nfsize:最大的文件大小(KB)nnofile:最大可以打开的文件数量nlocks: 最大可锁定文件的数目 pam_limits的模块配置文件3nItem:指定被限制的资源项目q内存ndata:最大的数据段大小(KB)nstack:最大的堆栈段大小(KB)nrss:最大的可驻留空间(KB)nmemlock:最大锁定内存地址空间大小(KB)nmsqqueue:POSIX信息队列的最大可使用的内存(bytes)q登录数登录数nmaxlogins:该用户可以登录到系统的最多次数nmaxsyslogins:系统能够同时登录的

49、最大用户数 pam_limits.so举例(1)n cat /etc/pam.d/system-authsession required pam_limits.son编辑 /etc/security/limits.conf# 限制 osmond 用户的同时登录数为2osmond hard maxlogins 2# 限制 students 组中的用户同时登录数为20students hard maxlogins 20# 限制系统能够同时登录的最大用户数为50* hard maxsyslogins 50限制用户/组、系统的最大登录数pam_limits.so举例(2)n cat /etc/pam.

50、d/system-authsession required pam_limits.son编辑 /etc/security/limits.conf# 限制用户 jjheng 最多允许创建 20 个进程jjheng hard nproc 20# 限制 student 组最多允许创建 200 个进程student hard nproc 200# 限制用户 jjheng 的最多打开 50 个文件jjheng hard nofile 50# 限制用户 jjheng 创建文件的最大限制为 100MBjjheng hard fsize 102400限制用户/组在一个会话过程中可使用的系统资源本章思考题n在安

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁