Linux基础教程(清华课件)-第11章账号管理.ppt_第1页
Linux基础教程(清华课件)-第11章账号管理.ppt_第2页
Linux基础教程(清华课件)-第11章账号管理.ppt_第3页
Linux基础教程(清华课件)-第11章账号管理.ppt_第4页
Linux基础教程(清华课件)-第11章账号管理.ppt_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Linux基础教程(1)操作系统基础,清华大学计算机基础教育课程系列教材 汤荷美 董渊 李莉 程志锐 编著,总 目 录,第1部分 Linux操作系统 第1章 操作系统概述 第2章 处理机管理 第3章 存储管理 第4章 调度 第5章 设备 第6章 文件系统,第2部分 操作系统命令及shell编程 第7章 Linux基本命令 第8章 使用vi编辑文件 第9章 shell编程 第3部分 系 统 管 理 第10章 Linux系统软件的获取和安装 第11章 账号管理 第12章 文件系统管理 第13章 TCP/IP网络管理 第14章 备份与恢复 第15章 XWindow及Genie应用程序,第11章 账

2、号 管 理,11.1 了解账号管理 11.2 Linux系统中的归属关系模式 11.3 超级用户 11.4 其他特殊用户 11.5 普通用户 11.6 用户组策略 11.7 账号相关的配置文件 11.8 小结 习题,Linux系统通过账号管理维护系统的安全性,防止用户非法或越权使用系统资源。本章介绍账号管理以及与用户账号相关的系统资源的归属和用户组的概念,11.1了解账号管理 Linux是一个多用户系统,与单用户的MS-DOS有很大的不同。单用户系统可以由使用者本人负责系统的安全性,而多用户系统中的所有用户都可以共享机器中的资源,包括软件资源和硬件资源。系统对每一个普通用户都设置一定的权限,让

3、其在自己的组内自由工作,而不能跨越这种限制。同时对系统资源设置了访问控制表(access control list),即属主(文件拥有者)、组用户和其他人对资源的访问是可读、可写还是可执行。从这里可以看出,账号管理实际就是一种安全策略。它源自UNIX,在其他的多用户操作系统如Windows NT中也广为采用,系统的这种安全机制有效地防止了普通用户对系统的破坏。例如存放于/dev目录下的设备文件分别对应于硬盘驱动器、打印机、光盘驱动器等硬件设备,系统通过对这些文件设置用户访问权限,使得普通用户无法通过覆盖硬盘而破坏整个系统,从而保护了系统。 用户账号一般包括普通用户账号、管理账号和系统账号。为了

4、鉴别用户身份以及加强系统安全,系统为每个使用它的人分配了一个账号,这就是普通用户账号。每个人拥有一个独立的普通用户账号,每个账号有不同的用户名和密码。用户可以为自己的文件设置保护,允许或限制别人使用它们。用户账号被用来控制对系统的使用,只有拥有账号的人才,被允许使用机器。另外,账号还被用来确认用户,保持系统日志,用发送者的名字标记电子邮件,等等。 除了普通用户账号外,系统还提供了具有管理功能的账号,例如系统管理员使用的超级用户root,有了这个账号,管理员可以突破系统的一切限制,方便地维护系统。普通用户也可以用su命令使自己转变为超级用户。 # su password:(此处提示输入root的

5、密码) 如果想回到原来用户账号,用exit命令即可,系统中还有一些账号不能被人交互使用,通常这些账号只能被系统守护进程使用。它们经常必须以除root及普通用户账号外的某个特殊用户的UID访问某些文件。 系统管理员(拥有管理账号的人)的工作之一就是为系统中的所有普通用户添加账号。为了更好地理解账号管理的必要性,下面介绍Linux和UNIX系统中的归属关系模式,11.2Linux系统中的归属关系模式 Linux和UNIX一样,其进程和文件都存在一个相关联的归属关系的概念。文件与进程的拥有者对其有绝对的控制权,可以控制文件和进程是否允许其他用户访问,这种权力只有root用户才可以超越。这些归属关系就

6、是通过规划用户的权限来体现的。 Linux中,每个文件都有一个属主和属组,属主可以任意设置文件的访问权限。文件的访问权限包括属主的访问权限,属组的访问权限及其他人的访问权限。属主可以用chmod命令去修改,当然,万能的root也可以这样做。另外,root还可以使用chown和chgrp命令分别修改文件的属主和属组,但要注意,属主本身只有chgrp的权限,而没有,chown这个权限。例如,文件file1的属主为dongyuan,属组为A,而用户dongyuan同时是A组和B组成员,则dongyuan可以用newgrp B命令改变自己当前的属组,进入B组,然后就可以使用chgrp将自己的文件属组改

7、为组B。 例如,dongyuan使用chgrp改变file1的属组键入命令: # chgrp B file1 这样file1的属主仍为dongyuan,而属组变成了B。 root用户使用chown可以同时改变file1的属组和属主,例如键入命令: chown lily:A file1,这样file1的属主仍为lily,而属组变成了A。 Linux中的每个进程也有类似的归属关系。每个进程都有4个关联的数值:实际UID,有效UID,实际GID,有效GID。通常情况下,实际ID与有效ID是相同的,进程的属主可以给进程发信号,也可以降低进程的优先级,但不可以升高,除非是root。而在某些特殊情况下(如

8、设置了setuid或setgid位的程序进程),当该进程运行另一个用户的程序文件时,它的有效UID或有效GID分别被临时设置为该程序文件的属主的实际UID或实际GID,从而可以像该属主一样执行该程序文件。比如普通用户用passwd命令修改口令时,可以临时获得root权限,修改/etc/passwd文件的内容。简单地说,就是使程序,具备了属主的特权,而不是让程序使用者拥有程序属主的特权。 注意,setuid、setgid程序由其他用户执行时,返回的是该用户的shell,而不是程序属主的shell。否则,假如用户执行完这种程序返回后就变成了该程序的属主,那么要获得root身份,只要执行这么一个程序

9、就可以了,系统就没有安全可言了。所以作为系统管理员,对这些程序要格外小心。 综上所述,账号管理就像是一把锁。劣质的管理就好比上了一把不用钥匙的锁,人人可以窥探你的隐私。对于如何保障个人权益,答案是两方面的,作为普通用户,不要把你的账号和密码告诉别人;作为管理员,要执行严格的账号管理,11.3 超级用户 超级用户就是拥有root权限的用户。它在Linux或UNIX系统中拥有至高权限、能够胜任所有管理工作。在系统管理员手中,它是系统的守护神;在黑客手中,它就成为系统和管理员的灾难。 11.3.1 root的权威性和危险性 只要掌管了root,就拥有对系统内所有用户的生杀大权,对所有文件的处置权,以

10、及对所有服务的使用权。当然,如果不小心敲错了命令,就可能给系统带来毁灭性的打击。一个普通用户只能在系统中做有限的事情,例如编辑自己的文件、修改本组的程序、建立自己的目录、决定别人以何种权限(可读、可写、可执行)访问自己的文件及目录,以及,同组的用户如何访问它们。而root不受这些限制,不管用户对自己的文件作了何种保护,root都能置之不理。这一方面体现了root的特权性,也从另一方面表现出了极大的危险性。例如,普通用户想删除目录/home/lily目录下的文件,执行以下命令: rm-fr /home/lily 但是不小心在home前多了一个空格,命令成了: rm-fr /home/lily 在

11、Linux系统中,rm可以接受多个参数,即要删除“/”和“/home/lily”两个目录,而“/”表示整个文件系统。当然作为普通用户权限较小,系统不允许这么做。但是如果用户以root身份执行这个命令的话,没有任何方法阻拦他,可想而知,这对系统将是灾难性的,另外一些特定的操作只能由root执行,如shutdown命令,该命令使用一个系统调用使系统脱机,但普通用户无权执行这个系统调用,否则系统的稳定性将难以预测。例如: # shutdown 10 The Server will be closed after 10 minutes 这个命令通知各个终端用户系统将在10分钟后关机,便于普通用户做好充

12、分准备。 以上事实充分说明root是一把双刃剑,所以通常情况下系统管理员要为自己分配一个普通用户账号,必要时才用su命令将自己改变成为root,以避免因疏忽导致的意外错误,正因为root用户拥有这种特殊的地位,保护超级用户的密码也就成了加强系统安全的关键。这样,从某种意义来说,对系统的管理问题也就成了对超级用户密码的管理。系统管理员要严格保护密码,并经常更换,而且密码要足够复杂、足够长,特别是对于重要的系统来说,更要建立严格的密码管理制度。 11.3.2 root的登录方式 前面已经提到一种登录方式,就是系统管理员以普通用户的身份进入系统,必要的时候再用su命令使自己转变成超级用户。不过su命

13、令转换身份有一个环境变量转变的问题,读者可以用env命令查看身份转换前后的环境变量有何变化,假设有一个用户要转变成root身份,请读者比较使用以下两条指令会有什么区别: (1) su root (2) su-root 这里的root是默认值,可以不敲。也可以用su转换成其他用户,前提是知道其密码。 格式同上: su 用户账号 su-用户账号 通过比较,我们可以看出使用第一条命令转变成root后,除了少数变量改变外,其他的变量几乎没有变化,好像继承了原用户的环境一样,变化的变,量根据不同的发行版本不同,如XLinux与RedHat就有差别。但是加上“-”后,环境变量就跟root直接登录时一样,即

14、“-”的意思就是要使用root的环境变量。同样,这些规则同样适用于用su转换成其他用户账号的情况。 这种方式对于远程维护系统是绝对必要的,因为root不能从网络直接telnet登录主机。所以系统管理员要实现远程登录,就必须给自己分配一个普通账号。 另外一种登录方式就是从控制台直接登录,对于UNIX和Linux系统来说,前面我们提到超级用户主宰一切,实际上很有可能是“控制台”主宰一切。这里的控制台指的就是直接通过数据线连接到主机的显示终端,对于Linux而言,普通的Intel平台的RedHat系统,只要在Linux启动时输入以下参数即可不需要密码进入单用户模式: boot:linux 1 而XL

15、inux甚至可以直接从启动菜单中选择。即使启动过程不允许输入参数,也可以通过光盘或软盘启动进入系统,这些在安全部分再做介绍。当然对于商业模式,我们可以采用物理隔离的办法来保护主机。不过对于系统管理员来说,应该重视控制台的安全,养成良好的习惯,11.3.3 与root环境变量相关的脚本文件 在root根目录下有几个重要的脚本文件,熟知它们的内容有助于更好地控制自己的行为,养成良好的习惯。如PATH环境变量一般没有当前路径“.”,这样就会督促系统管理员使用绝对路径。 root跟其他用户一样,其基本行为和环境变量由/etc/bashrc(以bash shell为例)和/etc/profile设定。r

16、oot根目录下有两个配置文件.bashrc和.bash-profile,这两个文件可以由用户个人修改,以添加一些个人爱好的环境设置。修改后必须执行后方可生效,如修改完“.bashrc”文件后,执行如下: # .bashrc,普通用户也可以自行设置自己的环境参数,建议读者动手修改这些脚本,只有试验过才会有更深的体会。 11.4 其他特殊用户 除了root和普通账号之外,系统中还存在一些账号,它们不能供任何人登录使用,只能由系统内核使用。这些账号有bin、sys、nobody、daemon等。这些账号在不同的操作系统中有很大区别,甚至名称也不一样,如AIX中的system就相当于sys。尽管其中许

17、多已经没有被使用,Linux系统中仍保留了这些账号。Linux系统中更多地依赖管理员的安全意识,也体现了它是玩家的宠物,没有过多地考虑操作的安全性,11.5 普通用户 任何一个提供用户服务的主机都需要对用户账号进行规划、管理,因为系统资源是共享的,又要保证用户的隐私,必须设置足够的安全屏障,一个认真负责的系统管理员就必须建好这个安全屏障。系统管理员一般都有大量的工具软件包,以帮助自己顺利、便捷地完成工作。为了让读者对工具的幕后工作有所了解,11.7节还将介绍如何通过修改配置文件达到目的。 11.5.1增加普通用户 Linux中有一条管理用户的命令useradd,还有一条命令叫adduser,这

18、两者是一回事,adduser是useradd的符号链接,通常情况下,增加用户可以不必指定用户的组,下面的命令会自动完成相应的工作,例如用下面的命令将为cheng创建一个普通用户账号:# useradd cheng系统默认处理用户ID与组ID相同,但是AIX和Solaris都需要指定用户组。同时命令脚本为用户创建主目录和相应的环境变量。 上面的命令实际上完成了以下几个工作: (1) 向/etc/passwd、/etc/shadow、/etc/group中写入用户信息 (2) 建立用户主目录/home/cheng (3) 将/etc/skel下的内容拷贝到/home/cheng下,为用户建立环境变

19、量和准备脚本环境,读者可以自己通过试验比较文件内容的变化。如果通过root权限手工创建主目录,一定要重新设置该主目录及该目录下文件的属主和属组。 11.5.2设置用户口令 现在已经成功地在系统中添加了一个用户,但是用户还不能登录。为了让用户cheng使用系统,必须为cheng设置口令。不同的系统在处理用户口令的问题上也有不同的策略,Alpha的RedHat版本在设置口令之前会禁止用户登录,系统管理员必须为用户设置一个第一次登录使用的密码,可以使用如下命令: # passwd cheng,系统会提示你输入密码,并提示确认你的输入。只有当两次输入一致,密码设置才算成功。用户用这个密码登录以后可以自

20、己修改密码,命令格式同上,即“# passwd”,然后根据系统提示输入密码,不过系统会要求你先提供老的密码,即未修改前的密码。 密码成功设置完毕,这个用户就拥有了系统的使用权。不同的用户可以设置自己的目录和文件访问权限。默认情况下,用户之间是不可以互相访问的。用户的密码信息保存在/etc/passwd和/etc/shadow配置文件中,11.5.3删除用户 删除一个用户账户可以用命令完成,也可以手工进行,需要以下的步骤: (1) 删除/etc/passwd文件中此用户的信息记录。 (2) 删除/etc/group用户列表中出现的此用户,默认设置为一行。 (3) 删除用户的主目录以及由此用户创建

21、的文件,还有此用户在/var/spool/mail中的信箱也要一并删除。 用命令userdel能完成所有这些工作。命令如下: # userdel-r cheng,注意,如果不加参数-r,userdel将保留用户的主目录,只删除其他的几项内容。 一般情况下,用户只有对主目录的写权限,随着主目录的删除,其相关文件也随之消失。但也有可能对该用户开放了其他的目录写权限,因此保存在其他位置的文件就要用find命令查找。利用find命令的-user、-uid选项可以很方便的找到属于某个用户的文件。命令如下: # find /-user cheng-ls 或 # find /-uid userid-ls,该

22、命令用ls -l显示所有属主为cheng的文件。读者可以用以下命令查看find命令的功能,它带有许多参数,熟练使用它们可以带来许多便利。 注意: 使用-user选项时/etc/passwd文件中必须有用户的记录信息。当一条命令要用到用户的登录名或组名时,系统在执行这个命令的过程中,就需要根据/etc/passwd和/etc/group中的相关记录,将命令行中的登录名和组名转化为UID和GID。如果找不到相关的记录,系统就不能够识别给出的登录名和组名,这时就要直接使用该用户的UID和GID来标识用户。当管理员使用userdel命令删除了用户信息后,就必须根据用户的UID查找属于该用户的其他文件,

23、UID就是上例中-uid参数后的userid,11.5.4 禁用用户 有时,由于用户本身的原因或者考虑到系统安全的需要,需要查封一个账号。大多数系统都采用了shadow技术,对于这种系统,最简单的做法就是在/etc/shadow文件中找到该用户,并在其password域的前面插入一个“*”符号,以后要解封时只要删除这个标记即可。 如用户lily被禁用,则/etc/shadow中关于lily用户的表述为: lily:*1QRfSIh.26UokDtNIau1sjTsEAe3Kp0:11258:0:99999:7,另外有些版本的UNIX在/etc/passwd文件中对用户的password域符号有

24、特殊规定,比如AIX 3中就规定“!”代表可登录账号,而其他符号表示该账号不可登录。对这类系统只要简单地在此处改写一下登录符号即可。 第11.7节将在配置文件中介绍什么是password域等概念。 11.5.5 修改用户信息 很多系统都提供了一些专用命令,如usermod、groupmod、chfn等等来修改用户信息,这些信息存放在/etc/passwd和/etc/group文件中;passwd命令可以用来修改用户密码,输入的密码经加密后,存放在/etc/shadow文件中。如修改用户所在的属组, usermod-g B lily,即把lily的属组改为B。 修改用户的私人信息用chfn命令,

25、运行时,对一般用户来说,要求先输入密码,再依次输入真实姓名、办公室地址、办公室电话、家庭电话等信息。 # chfn Changing finger information for lily. Password: Name : lily Office : 1407 Office Phone : 6273845 Home Phone : 4566653 这些信息将存入/etc/passwd文件中,这些信息可以通过finger命令查看,修改用户的shell用chsh命令,同chfn一样,它也需要普通用户提供密码,也可以通过finger命令查看到修改后的信息如下: # finger lily Logi

26、n: lily Name: lily Directory:/home/lily Shell:/bin/bash Office: 1407,627-3845 Home Phone: 456-6653 Never logged in. No mail. No Plan. 由上面的叙述可知,用户信息保存在3个文件中,/etc/passwd、/etc/shadow及/etc/group,所以直接修改这些文件也可以简单直观地达到目的,11.6 用户组策略 组的概念对于管理用户的文件特别关键。用户可以决定自己的文件对同组的用户开放到什么程度,即可读、可写或可执行,或者三者的某个组合。对组外用户的访问限制可

27、以更加严格,例如仅给只读的权限。 使用ls-l命令就可以看到每个文件的属主和属组,以及文件的权限。在11.2节中提到可以使用chown、chgrp、chmod等命令来改变目录及文件的访问权限。使用groups命令可以列出当前的注册用户所属的所有组的名称,Linux中如果创建用户时不指定用户组的话,系统默认地为用户生成一个组,其标识符GID与用户的UID是大小相等的整数。实际系统中,根据不同的需求,用户可以属于多个组,用户可以在不同的组中切换。11.2节中也提供了切换到另一个组的方法,即newgrp命令。用户组的相关信息在/etc/group配置文件中。 除了将用户添加到其他组以外,有些系统提供

28、密码访问的方式访问其他组,这种方法安全性不是很高,很少采用,11.7 账号相关的配置文件 11.7.1 passwd 文件在Linux系统中,用户账号的基本信息存放在文件/etc/passwd中,每个用户的信息占有一行。一个典型的passwd文件如下: root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin: daemon:x:2:2:daemon:/sbin: adm:x:3:4:adm:/var/adm: lp:x:4:7:lp:/var/spool/lpd: sync:x:5:0:sync:/sbin:/bin/sync shutdown:x

29、:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt,mail:x:8:12:mail:/var/spool/mail: news:x:9:13:news:/var/spool/news: uucp:x:10:14:uucp:/var/spool/uucp: operator:x:11:0:operator:/root: games:x:12:100:games:/usr/games: gopher:x:13:30:gopher:/usr/lib/gopher-data: ftp:x:14:50:FTP User

30、:/home/ftp: nobody:x:99:99:Nobody:/: gdm:x:42:42:/home/gdm:/bin/bash squid:x:101:101:/var/spool/squid:/dev/null cheng:x:500:500:cic:/home/cheng:/bin/bash,可以看出,passwd文件中每条用户记录都具有以下格式: 登录账号:密码域:用户标识符UID:组标识符GID:用户信息:主目录:用户shell(若为空格则默认为/bin/sh) 登录账号用来区分不同的用户,在系统中是惟一的。用户名的命名规则通常限制在8个字母或数字的组合之内。 现在的Linu

31、x系统通常都使用了shadow技术,将加密后的口令放在shadow文件中,而只在密码域中放一个“x”,改成其他符号也没有关系,主要是习惯问题。这样,一般用户就无法得到加密后的口令,增加了系统的安全性,UID是用户标识符,Linux中普通用户的UID默认为500以后的某个整数,系统在内部处理进程和文件保护时使用UID。UID应当是独一无二的,其他用户不应当有相同的UID数值。如果在/etc/passwd文件中有两个不同的登录账号有相同的UID,则这两个用户对相互的文件具有相同的存取权限。登录账号和UID相比较更直观,对用户来说,使用登录账号更方便,对系统来说UID更重要。 GID是组标识,表示用

32、户所在组别的一个整数。组的概念对用户是相当重要的,一个组中可以包含多个用户,同组中的用户可以享有组内的特权,如可以访问相同的目录或文件等。默认添加用户时为用户分配一个和UID同等的组值,用户信息域中存放用户相关的信息,如真实姓名、办公室地址、电话等。当然也可以不填写。同样可以通过chfn命令输入用户信息。 主目录域标明用户的主目录,当用户登录时,shell自动将主目录作为它的工作目录。普通用户的主目录一般放在/home下,例如用户cheng的主目录就是/home/cheng。 用户shell域是用户登录时运行的程序。它实际上是一个命令解释器,类似于dos中的command,它通常放在/bin目

33、录下,由第2部分可以知道,shell有许多版本,用户可以根据个人喜好任选一种,前提是该shell程序必须存在于系统中,11.7.2 shadow文件 用户账号的口令对系统的安全至关重要,/etc/shadow文件中就保存了所有系统用户口令的加密信息。只要得到了文件,在internet上随便找一个密码破解程序就能找出相当一部分用户的密码。另外,paasswd对一般用户是可读的,如果加密后的密码信息放在该文件中,则系统中的每个用户都可以读到加密后的口令。以前由于硬件速度的限制,试图破解一个精心选择的口令几乎是不可能的,而随着硬件技术的不断发展,以及网络功能的充分利用,一般的加密算法已经不能保证密码

34、的安全性了,所以才产生了shadow技术,即将加密后的口令放在shadow文件中,而在passwd中相应的位置只放,一个“x”。shadow只对超级用户是可读的,一般用户无法读取。 下面我们列出一个典型的shadow文件的一部分: root:y9e2Gzjq/MCCc:11145:0:99999:7: bin:*:11145:0:99999:7: daemon:*:11145:0:99999:7: adm:*:11145:0:99999:7: lp:*:11145:0:99999:7: sync:*:11145:0:99999:7: shutdown:*:11145:0:99999:7: ha

35、lt:*:11145:0:99999:7: mail:*:11145:0:99999:7: news:*:11145:0:99999:7,uucp:*:11145:0:99999:7: operator:*:11145:0:99999:7: games:*:11145:0:99999:7: gopher:*:11145:0:99999:7: ftp:*:11145:0:99999:7: nobody:*:11145:0:99999:7: gdm:!:11145:0:99999:7: postgres:!:11145:0:99999:7: squid:!:11145:0:99999:7: che

36、ng:1PwqdIiQ0vBYHwbSA/Mt31OICCwSrI/:11242:0:99999:7,etc/shadow文件包含了用户口令的加密信息,以及口令的有效期信息,每个用户占一条记录,每条记录9个域,依次定义如下: (1) 登录账号 (2) 加密口令,“*”或其他符号表示不能用来登录。 (3) 口令上次更改时间与1970年1月1日相隔的天数 (4) 口令更改后不可以再次更改的天数,0表示可以随时更改 (5) 口令的有效期,即口令更改后必须再次更改的天数,99999表示未设有效期 (6) 口令失效前警告用户的天数 (7) 口令失效后距账号被查封的天数,默认值-1 (8) 账号被封时距1970年1月1日的天数,默认值-1 (9) 保留未用,其中,加密口令域不能为空,否则用户不用密码即可登录,包括系统账号在内。口令长度随加密算法的不同而不

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论