《《系统安全》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《系统安全》PPT课件.ppt(27页珍藏版)》请在三一办公上搜索。
1、第3章 系统安全,本章要点 文件和目录的访问权限设置 用户管理与维护基本知识、常用命令 组管理与维护基本知识、常用命令,3.1 文件和目录的访问权限设置 1文件和目录的访问权限 在“ls-l”命令的显示结果中,每行第1个字段的第210位表示文件或目录的访问权限。,在表示权限时,具有某种权限就在该位置用相应的权限字母表示,不具有该权限,使用“-”表示。,读权限、写权限和执行权限对文件和目录具有不同的含义。文件的访问权限:读权限(r):只允许用户读其内容,而禁止做任何的更改操作。写权限(w):允许用户修改或删除文件。执行权限(x):用户可以将该文件作为一个程序执行。执行权限只 对可执行文件起作用,
2、例如可执行的二进制文件或脚本文件,对 其他格式的文件则不起作用。目录的访问权限:读权限(r):允许列出存储在该目录下的文件,即读目录内容列表。写权限(w):允许从目录中删除或添加新的文件或目录。执行权限(x):允许在目录中查找,并能用cd命令将工作目录转到该目录。,文件和目录的访问权限除了用r、w、x、-表示之外,还可以使用数字来表示,2改变文件和目录的访问权限chmod命令 文件和目录具有的权限并不是一成不变的,用户可以根据需要对权限进行修改。普通用户在未授权的情况下,只能对个人主目录中的文件和目录修改权限,而超级用户可以对系统中所有的文件和目录修改权限。修改权限使用chmod命令。语法:c
3、hmod 参数模式 文件或目录参数:-R:改变目录的权限时,对目录下的所有文件与子目录 进行相同权限的变更(即以递归的方式逐个变更)。-f:强制改变文件的访问权限,如果是文件的拥有者,则 不会出现错误信息。模式有两种形式,一种称为字符方式,一种称为数字方式。字符方式由用户、操作符、许可权三部分组成,表示增加/减少/设置何种用户对文件的何种操作权限。,用户用以下的字母表示:u 文件所属用户 g 同组用户 o 其他用户 a 所有用户(默认值,和ugo联合使用时等价),操作符包括:+在原有权限基础上增加权限-在原有权限基础上减少权限=重新指定权限,原有权限将全部消失,许可权包括:r 读权限 w 写权
4、限 x 执行权限 u 和文件拥有者权限相同 g 和文件拥有者同组的用户权限相同 o 和其他用户权限相同,例1:增加所属用户对appc文件的执行权限,增加同组用户对appc文件的写权限:rootlocalhost test#chmod u+x,g+w appc例2:取消所属用户对myfile文件的写权限:rootlocalhost test#chmod u-w myfile 数字方式是指直接用八进制的权限码表示文件和目录的权限。例如:rootlocalhost test#chmod 444 myfile,3设置默认权限掩码umask命令 当用户创建一个新的文件或目录时,Linux系统根据umas
5、k命令的参数来设定新创建文件和目录的访问权限,umask命令的参数称为默认权限掩码。新建文件和目录的权限是由以下两条共同决定的:系统默认权限默认权限掩码 目录的系统默认权限为777,文件的系统默认权限为666,即系统不会自动为新建文件设置执行权限。公式:新建文件和目录的权限等于系统默认权限逻辑与默认权限掩码的反码。语法:umask 默认权限掩码值 默认权限掩码是位的掩码,掩码位为1表示新创建的文件和目录的相应访问权限应该被关闭。,例如:rootlocalhost test#umask 077 系统默认权限掩码的设置只在当前系统中有效,系统重新启动后,默认权限掩码又会恢复到系统的默认值,如果想让
6、设置的默认权限掩码在系统重启后保持不变,可以将umask的设置写到系统配置文件/etc/profile中。,4改变文件或目录的所属组chgrp命令语法:chgrp 参数 组 文件或目录列表 chgrp命令用于改变文件或目录所属的用户组。其中组可以是组ID,也可以是组名。文件或目录列表支持通配符。参数:-R:递归地改变目录及其所有的文件和子目录的属组。例如:rootlocalhost root#chgrp-R book/opt/local/book 改变/opt/local目录、/book目录及其子目录下的所有文件和子目录的属组为book。,5.改变文件或目录的所属用户或所属组chown命令语法
7、:chown 参数 用户:组 文件或目录列表 chown命令可以改变文件或目录的拥有者,也可以改变文件或目录的所属组。用户可以是用户名或用户ID。组可以是组名或组ID。文件或目录列表支持通配符。参数:-R:递归地改变目录及其下的所有文件和子目录的拥有者或所属组。例如:rootlocalhost root#chown oracle oraclefile.tar 将文件oraclefile.tar的所有者改为oracle。,3.2 用户管理 3.2.1 用户的分类 Linux中的用户分为两种类型,一种是超级用户,一种是普通用户。除了用户帐号外,Linux还为用户分配了数字型的用户ID号,超级用户的
8、ID为0,普通用户的ID一般在50060000之间。3.2.2 用户帐号文件 Linux系统使用帐号文件来保存用户账户信息,其中包括/etc/passwd、/etc/shadow。对用户的管理过程实质上就是对帐号文件的修改过程。1/etc/passwd 该文件由许多条记录组成,每条记录占一行,记录了一个用户帐号的必要信息。每条记录由7个字段组成,字段间用冒号“:”隔开,其格式如下:,用户名:密码:用户ID:组ID:个人信息:用户主目录:使用的Shell用户名:用户登录系统使用的帐号。密 码:用户登录时验证其身份的密码。用户ID:系统中用来惟一标识用户的数字。组ID:用户所在基本组的标识,Lin
9、ux系统内部使用它来区分不同的组,相同的组具有相同的GID。个人信息:记录了用户的一些个人信息,如电话、传真等,也可以为空,用于finger命令的输出。用户主目录:通常在/home下,目录名和用户名相同,是用户成功登录后的默认当前目录。使用cd 可以转到当前用户的主目录。Shell:用户登录后,要启动一个进程,负责将用户的操作传给内核,这个进程是用户登录到系统后运行的命令解释器或某个特定的程序,即Shell。,2/etc/shadow 该文件又称为影子文件,存放有用户真正的密码,只对超级用户可读。文件中包含一行行的记录,每行记录和passwd文件的记录行相对应。每行记录由9个字段组成,字段之间
10、以冒号“:”分隔。这些字段分别是:用户名:加密后的密码:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志 用户名:与/etc/passwd文件中的用户名一致。加密后的密码:为空则表示用户不需密码即可登录。为“!”表示密码未设置。如果第一个字符是“*”则表示该用户被禁用。最后一次修改时间:从1970年1月1日到用户最后一次修改密码经过的天数。最小时间间隔:两次修改密码间隔的最小天数。最大时间间隔:密码保持有效的最大天数。警告时间:从系统提出警告到密码正式失效的天数。不活动时间:密码过期多少天后,该账号被禁用。失效时间:从1970年1月1日到密码失效的绝对天数。标
11、志:未使用。,3.2.3 用户帐号管理 1增加用户 增加用户使用useradd或adduser命令,只有超级用户root才能执行添 加用户操作。语法:useradd 参数 用户名参数:-c comment:关于用户的注释性描述。-d dirctory:为用户设置主目录。默认是在/home下和用户名同名的目录。-g group:为用户设置基本组。如不指定该参数,则建立用户同时会建 立一个和用户名同名的组,组ID为当前最大的组ID加1,作为用 户的基本组。-G group:为用户设置附属组,该用户将同时是这些组的成员。如果有 多个组,不同组之间用“,”隔开。group必须是事先存在的。-m:若用户
12、的主目录不存在,则建立此目录。,-k shell_dir:在使用m选项时,把shell_dir目录中的文件复制到用户的主目录中。如不指定shell_dir,则将/etc/skel下的文件复制过去。注意,此选项必须和-m选项同时使用。-s shell:设置用户登录后进入的Shell。-u uid:设置用户的UID。例如:rootlocalhost root#useradd user1 手工建立用户主要是执行以下几个步骤:1)在/etc/passwd文件中增加一行用户信息。2)建立用户主目录,并赋予用户对主目录的读、写、执行权限。3)将/etc/skel目录下的内容包括隐藏文件全部拷贝到用户主目录
13、中。4)执行pwconv命令,使passwd文件和shadow文件保持一致。5)设置用户初始密码。,2设置用户密码 添加用户后,还必须为用户设置密码才能使用该帐号登录系统。用户密码以后可以随时由超级用户或用户自己进行修改。语法:passwd 用户名 3删除用户密码 语法:passwd-d 用户名,4禁用和恢复用户帐号 暂时禁止某用户登录系统,或是为禁止的用户解禁。使用带参数的passwd命令。语法:passwd 参数 用户名参数:-l:锁定用户,该用户将被禁用,无法登录系统。-u:对被锁定的用户解除锁定,用户可以继续登录系统。-S:查看用户当前的状态。5删除用户语法:userdel 参数 用户
14、名参数:-r:删除用户帐户的同时,将用户主目录及其下的所有文件和目录全 部删除掉。,6查看登录用户(1)who命令 功能:查看当前有哪些用户登录到系统中来。(2)whoami命令 功能:查看当前本终端登录系统的用户名称。(3)w命令 功能:系统管理员在任意时刻都可以查看有哪些用户登录到系统中并且在做什么。语法:w 用户名(4)last命令 在进行系统维护时,管理员可以查看过去都有哪些用户登录到系统中来,这时使用last命令。last命令可以查看的信息包括:登录的用户名、登录用户使用的终端、登录的日期和时间,登录用户现在的状态。,3.2.5 单用户模式 当root用户忘记了自己的登录密码,或是因
15、为误操作删除了系统的帐号文件,而又退出了系统时,可以进入单用户模式修改root密码。在红旗Linux5.0系统中,单用户模式的系统提示符为:sh-3.00#启动单用户模式有几种方式:在多用户模式或图形方式下,执行init 1命令。修改/etc/inittab文件,使系统默认启动单用户模式。id:3:initdefault:#系统默认启动完全多用户模式 将3改为1,则默认启动单用户模式 通过GRUB启动管理器对系统内核参数进行修改,3.2.6 用户身份的转换 su命令可以实现用户身份的转换,前提是能够提供新身份的正确密码,超级用户转换为其他用户不需要输入密码。su命令有两种语法形式:su-s s
16、hell-c command用户帐号 su-s shell-c command-用户帐号参数:-s shell:指定转换后的用户使用的Shell。-c command:执行command时使用转换后的身份,执行完毕再 转换回原来的身份。注意:-和用户帐号之间有一个空格间隔。,3.3 组的管理 3.3.1 组帐号文件 和用户管理类似,组的管理也使用帐号文件保存组的信息。1/etc/group文件 文件中的每一行记录了一个组的信息,每行记录包括4个字段,不同的字段之间用冒号隔开,内容包括:组名:组密码:组GID:组成员组密码:加入组时需要的密码,通常并不使用。组GID:系统为组分配的数字值,用于系
17、统内部对组的标识,组名不同,GID也不相同。组成员:属于该组的用户帐号列表,各帐号间用逗号分隔。,3.3.2 组的添加和删除 组的添加使用groupadd命令,只能由超级用户执行添加组操作。语法:groupadd 组名例如:rootlocalhost root#groupadd workgroup删除组使用groupdel 组名 注意:删除组时,如果该组是用户的基本组,则组不能被删除。另外,组被删除时,组所拥有的文件并不会被删除掉,这些文件的所属组信息也不会发生改变。,3.3.3 组的维护1修改组的属性语法:groupmod 参数 组名参数:-g newgid:把组的GID改成newgid。-
18、n newname:把组的名称改成newname。2组中用户的添加和删除语法:gpasswd 参数 组名参数:-a username:把指定用户加入组中。-d username:把指定用户从组中删除。-r:取消组的密码。-A username:将指定用户作为组的管理员。,3查看用户所属组的信息 使用id命令可以查看用户的UID和GID。语法:id 参数 用户名参数:-g:显示用户基本组的GID。-G:显示用户附属组的GID。-u:显示UID。-n:以字符形式而不是数字形式显示UID和GID。,作业,添加一个用户,并设置密码添加一个用户,工作目录为/tmp/uesr1删除该用户切换身份查看配置文件passwd和group添加一个组查看用户组信息,