网络吧 关注:925,013贴子:1,557,893
  • 8回复贴,共1

关于linux,一位技术员大师的指点

取消只看楼主收藏回复

感谢@icebirds 的指点,由于本吧还是4级限制,在离婚吧暂时发布的内容,我决定亲自搬到本吧,让更多人学习。


来自手机贴吧1楼2013-05-21 20:48回复
    和windows不同,Linux自从成为一个完整系统开始,就拥有一套沿袭自Unix的完善的用户权限机制。它的权限机制大致是这样:
    === 用户分类 ===
    1. root 用户。 可以大致把root用户理解为windows下的Administrator。但严格来说并不是这样。因为windows下拥有最高权限的,并非Administrator,而是system。但system权限在win下是不允许被操作者直接获取的。win下你用Administrator登录的时候,还会有一些系统关键文件是不允许你修改和删除的。但linux中的root用户登录时,你把整个系统都删了也允许。
    或许有人会觉得这样非常不安全。是的,如果Linux也像win一样成天需要用root登录系统的话,确实安全性还不如Windows。但Linux用普通用户登录也可以正常进行工作。win下如果使用权限比较低的用户登录,很多我们现在常用的软件,就废了。
    另外值得说明的一点是:现在多数的Linux发行版,默认的情况下其实root用户是被禁用的,也就是说,你不能直接用root用户登录系统。只能使用管理员用户。


    来自手机贴吧2楼2013-05-21 20:51
    回复
      2. 普通用户。 普通用户只能在系统中进行给予了自己这个用户权限的操作。不具有权限的事情是做不了的。例如属于root用户的那一批文件,给予普通用户的就只是读取运行的权限。那么普通用户想要修改这些文件,就不允许。
      3. 管理员用户。 严格来说,这个才是Administrator。管理员用户具有一定的root权限,但并不完全完整,例如我今天想对把一个二进制的iso文件展开到我的U盘中的时候,系统的权限机制就发飙了,它不让我改,最后只能无奈用root来操作。但和win下不同的是,使用管理员用户登录的时候,平时你的操作权限仍然和普通用户相同。如果你进行了超过你的权限的事情,那么就需要用到一个叫做sudo的东西。你可以认为这个单词是Super User Do。只有这样十分明确地指定你要进行超级用户操作,它才会允许你的操作。并且在要求执行这个操作的时候,还会要求你输入你的密码来确认。


      来自手机贴吧3楼2013-05-21 20:52
      回复
        === 权限体系 ===
        Linux下每个目录每个文件都拥有两个标志:第一个叫做owner。就是文件到底属于哪个人。第二个是权限。
        owner就不用多说了,很容易理解。权限是怎么回事?如果你用过Lin,就会发现在列目录操作的时候,每个文件都会有类似这样的一个东西:
        -rwxr-xr-x
        这个就是权限。正确的说,它是使用了两个字节的长度,来定义这个文件的权限。具体的定义方式如下:
        d rwx rwx rwx
        N G O
        权限标识分为四组,第一组只有一个二进制位,用来标识列出的这个是否是目录。
        第二组标识,是这个文件的所有者具有的权限。r代表读取,w代表写入,x代表可执行。如果你把这个权限标识设置成了只有r,那么也就意味着连这个用户自己都无法对这个文件进行修改,只能改变权限后再说。注意,这里没有root用户什么事,除非是root用户自己的文件。而且root用户默认也是可以随意修改任何文件的。


        来自手机贴吧4楼2013-05-21 20:53
        回复
          第三组标识,是这个文件所有者所在的用户组其他用户对这个文件所拥有的权限。这样的设定,是因为如果你的计算机是多人使用的,你可以给一起工作的同事设置同一个用户组。以便他们查看和修改你的工作。
          第四组标识,是除了文件所有者和所有者所在的用户组之外的其他用户所具有的权限。这一组标识如果全部清空的话,其他用户甚至连这个文件都别想看到,更别提读写了。


          来自手机贴吧5楼2013-05-21 20:54
          回复
            === 讨论一下如何实现Linux下的病毒 ===
            1. 正常渠道。
            如果你写的病毒正好遇到了一个傻X成天用root用户登录系统。那么恭喜你,这台电脑可以轻易搞定了。不过这样的病毒要想传播开,除非全世界的Linux用户都是傻X。不然病毒的传播必然会被这个权限机制阻断。那么,就得先考虑攻陷这个权限机制。
            第一种方案,就是调用sudo命令并且骗用户输入密码。前提是这个电脑上登录的用户是管理员用户。如果是不具有任何越权能力的普通用户,其实什么都干不了,好吧,其实现在的linux桌面发行版多数都是用管理员用户登录的,服务器就不想了,感染桌面电脑倒可以试试看。不过这样干有一个明显的缺点,就是病毒每修改一个文件,就要要求用户输入一次密码,于是在病毒感染一个系统的过程中,需要用户十分配合的输入个几十上百次的密码,把那用户累个半死,终于可以完全感染这台电脑了。不过这样的话,用户再傻,也知道系统出问题了吧。所以,这种方案基本可以被Cancel了。


            来自手机贴吧6楼2013-05-21 20:56
            回复
              2. 非正常渠道。
              所谓非正常渠道,就是利用Linux系统的漏洞,非法获取root权限。这一点看起来似乎是可行的。因为理论上来说世界上不存在没有缺陷的系统。不过,如果真以为这样能行得通,你就错了。
              要知道Linux的维护人员是全球大量顶级黑客。这帮家伙闲时最常干的事情就是寻找和修补系统漏洞,并且把这些漏洞的补丁发布出去。由于Linux是免费的,也因此这些补丁的扩散渠道根本不存在任何阻隔。我在用Linux系统的过程中,每隔几天都会收到不少更新其中至少有半数是对软件或者系统的一些小小的漏洞和BUG进行修补。对于这些更新,我也敢放心大胆地更新。因为它们的来源是发行版的在线软件源服务器。并且所有这些东西都是免费的,我不必担心会像windows一样,更新了之后就黑屏,然后不断给你什么使用了盗版的提示。在Linux的世界中没有盗版这一说。


              来自手机贴吧7楼2013-05-21 20:58
              回复
                3. 你要能够保证自身的绝对安全。通过这种方式提交代码,你的IP地址和个人身份信息是不可能做到很保密的。一旦在代码提交的过程中被发现,或者在它发挥作用后被发现,那么你可能就要考虑一个很现实的问题了:Linux的维护人员不乏全球各国的网络安全部门人员。甚至不少国家的安全部门都直接参与其中,你的行为必然引发众怒。被人肉是跑不了的。或许还要面临各国的情报安全部门和警察的通缉。所以,你在这么干之前,还得保证你身后有一个强大到可以无视各国情报部门和警方压力的强大势力为你提供支持和保护。并且如果你玩的太大,造成了各国巨大的损失,你可能还会面临国际刑警的通缉,甚至你所在的势力都要面临美军的压力。
                    .★ * ★..
                .*★ *.  *..*

                ★         *
                ★     ★’
                ‘*.        *
                   ‘★    ★
                     ‘*..★'


                来自手机贴吧9楼2013-05-21 21:03
                回复
                  嗯我懂了,也可以说如果android也可以通过提升默认用户权限而不是人人都去获取root权限,应该更安全,不过依然需要一个强大的审核机制阻止通讯录、个人信息等等自动恶意上传


                  来自手机贴吧10楼2013-05-21 21:17
                  回复