supman
V2EX  ›  问与答

linux 怎么设置用户的权限呢?

  •  
  •   supman · Feb 14, 2015 · 2990 views
    This topic created in 4155 days ago, the information mentioned may be changed or developed.

    有没有一种方法, 可以让用户只有浏览自己目录的权限呢?

    目前设置的方法是 /home/a01-a30 每个文件夹的权限是700, 这样用户就只能看到自己目录, 看不到别人的了. 不过如果用户跳出home目录, 就可以看到其他目录, 比如 usr share什么的..

    想问下大家有没有好的方法呢? 我目前想到的是, 把服务器所有文件的权限都设置成770, 但又担心影响其他程序的访问..

    12 replies    2015-02-14 09:30:37 +08:00
    ryd994
        1
    ryd994  
       Feb 14, 2015 via Android
    770是肯定不行的
    usr这些都是系统文件,本意就是要让所有用户都看得见,才能用嘛,否则系统文件都看不见,怎么跑?
    如果你需要安全,那么可以chroot或openvz之类,一般在客户没有root权限时完全足够。如果还要更安全,那就只有kvm之类了,这个肯定跳不出来
    supman
        2
    supman  
    OP
       Feb 14, 2015
    @ryd994
    有道理..看来设置770是肯定没戏了.

    那就一会儿看看服务器有什么见不得人的, 比如网站目录什么的 设置成770~~~

    谢谢你啦
    octopus_new
        3
    octopus_new  
       Feb 14, 2015
    linux访问控制列表(acl)可以满足你的要求。还有一种办法是使用bash -r,控制用户可以使用的bash命令,可以把用户控制在home directory里。
    ryd994
        4
    ryd994  
       Feb 14, 2015
    @octopus_new 对的,谢谢,学习了
    @supman 最好的办法是不要给shell,不给shell会安全非常多。
    方便的话透露一下这个shell为什么而给,说不定会有更安全的解决方案
    Eleutherios
        5
    Eleutherios  
       Feb 14, 2015 via iPhone
    @octopus_new bash这个没什么用吧
    调用个/bin/sh什么的说不定就跳过了

    @ryd994 你可以参考下 访问受限的SFTP用户 的设置方法

    另外还有人做了个Docker容器,支持多用户、通过SSH、登入自己的容器 名字记不得了……
    ryd994
        6
    ryd994  
       Feb 14, 2015
    @Eleutherios 我就是说啊,问楼主到底为什么需要,如果是ftp之类的完全可以调用自带的chroot解决
    Eleutherios
        7
    Eleutherios  
       Feb 14, 2015 via iPhone
    supman
        8
    supman  
    OP
       Feb 14, 2015 via iPad
    @ryd994
    @octopus_new
    @Eleutherios

    谢谢大家啦, 给shell是为了方便学生们在服务器写c++的作业
    Eleutherios
        9
    Eleutherios  
       Feb 14, 2015
    @ryd994 我错了, 刚刚用手机看得, 把你当初楼主了...

    @supman 我记得我们学校是只给home设置了700权限 + 低权限用户组, 没对其他目录做什么特别设定. 可能是服务器比较干净吧...
    ryd994
        10
    ryd994  
       Feb 14, 2015 via Android
    @supman 这个我建议kvm。天知道一群熊孩子能干出什么来………
    看学生水平了,反正我们学校是只准网页上传源码,当场编译运行,过了就给分,全自动。具体实现不太清楚。
    shell要给就kvm里给吧,kvm带balooning,只开ssh的话openvz对恶意程序还是感觉有点不够实际开销不大。用好lvm的snapshot,有事drop snapshot就行。或者干脆不管,定期清空就是了,确认好的作业就ftp到母鸡
    ryd994
        11
    ryd994  
       Feb 14, 2015 via Android
    最后一段有点混乱
    shell要给就kvm里给吧,kvm带balooning,只开ssh的话实际开销不大。openvz对恶意程序还是感觉有点不够。用好lvm的snapshot,有事drop snapshot就行。或者干脆不管,定期清空就是了,确认好的作业就ftp到母鸡
    twl007
        12
    twl007  
       Feb 14, 2015 via iPhone
    这样…… 不如弄个vmware跑虚拟计算了 最小安装也占用不了多少空间……

    我现在在帮教授干一样的事情……
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   935 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 21:34 · PVG 05:34 · LAX 14:34 · JFK 17:34
    ♥ Do have faith in what you're doing.