V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
shaojz2005
V2EX  ›  Linux

问一个 Linux 的权限问题

  •  
  •   shaojz2005 · 2018-06-16 17:33:54 +08:00 · 3196 次点击
    这是一个创建于 2387 天前的主题,其中的信息可能已经有所发展或是发生改变。
    Linux 使用 lnmp 作为服务器环境,创建站点时,会使用 www:www 作为目录的创建用户;如果我希望让别人登录服务器去管理文件,但不希望给他 root 权限,应该怎么做?

    因为 www:www 是 lnmp 创建的用户,好像是没有用户目录的,也不能作为登录用户使用。我试过创建另外一个用户,放在 www 用户组里,并且设置网站目录的权限为所在组可读写。但如果别人通过这个用户来登录 Linux,他所创建的文件会属于当前用户,而不是 www,这就不太方便管理了。

    我是否要想办法把 www 用户设置为可登录用户?
    17 条回复    2018-06-22 15:24:54 +08:00
    a7a2
        1
    a7a2  
       2018-06-16 17:47:00 +08:00
    '所创建的文件会属于当前用户,而不是 www',这样是正确的,本来这个目录就是其他用户可写的话文件当然记录为其他用户,否则才叫无迹可查。其他 nginx、php 之类设置为组可执行即可。
    shaojz2005
        2
    shaojz2005  
    OP
       2018-06-16 17:49:52 +08:00
    可以让 www 用户变为可登录吗?
    20has
        3
    20has  
       2018-06-16 18:17:53 +08:00 via Android
    useradd --help can help u!
    20has
        4
    20has  
       2018-06-16 18:18:19 +08:00 via Android
    还有 sudo 了解一下,哈哈哈哈
    likuku
        5
    likuku  
       2018-06-16 18:20:30 +08:00 via iPhone
    FACL 了解下,这个能满足你需求。

    同一个文件 /目录,可递归给不同用户授予不同权限。
    afpro
        6
    afpro  
       2018-06-16 18:22:20 +08:00
    @shaojz2005 www 用户不可以登陆不正是这个用户产生的原因之一吗?
    artandlol
        7
    artandlol  
       2018-06-16 18:28:39 +08:00 via iPhone
    很简单,把代码设置成 770 即对 www 组下的用户完全控制, 再创建个账户,账户为组 www
    qiongyue
        8
    qiongyue  
       2018-06-16 18:30:32 +08:00
    首先作为程序文件,不一定非得是 www 用户所有才行,只要保证个别需要有写权限的目录赋与 www 写权限就好了,这样也更安全。

    其实真要两个用户能同时维护一个目录,设置好目录的组权限不可以解决问题?
    artandlol
        9
    artandlol  
       2018-06-16 18:31:48 +08:00 via iPhone
    usermod -s /bin/bash www 这样就能登陆了
    omph
        10
    omph  
       2018-06-16 18:35:38 +08:00
    还有 acl 可以设权限,比系统的灵活很多
    要么就开 ftp 或者 samba 服务器来远程管理文件,这样都不用给他系统帐号
    plko345
        11
    plko345  
       2018-06-16 18:38:40 +08:00 via Android
    特殊权限 guid,可以让其它用户在该目录下创建的文件的组为该目录的所属组
    duola
        12
    duola  
       2018-06-16 19:13:08 +08:00
    先登录 root 管理,执行下面命令

    passwd www

    usermod -s /bin/bash www
    nosay
        13
    nosay  
       2018-06-16 19:17:57 +08:00 via iPhone
    我感觉除了一些特殊的目录,比如说缓存和日志目录,其余的所属人和组就不应该给 www.给一个可登录的普通用户就好
    shaojz2005
        14
    shaojz2005  
    OP
       2018-06-16 23:19:18 +08:00
    谢谢,回来看到一堆回复真感动
    msg7086
        15
    msg7086  
       2018-06-17 03:16:42 +08:00
    如果这个网站是设计成其他人管理的,那么应该让网站属于这个人的账号(账号可以是一个共享的集体账号)。比如某个网站应该由账号 devteam 来管理,那么整个目录可以归给 devteam,然后把 www 账号加入 devteam 组,PHP pool 之类的也可以设置成以 devteam 用户权限运行。
    nicevar
        16
    nicevar  
       2018-06-17 08:39:13 +08:00
    其实最方便的办法是直接通过 ftp 账号来管理,其次添加一个用户对该网站目录有读写权限, 用 usermod 处理
    Lwf1995
        17
    Lwf1995  
       2018-06-22 15:24:54 +08:00
    如果我没有记错的话 www 用户是 nginx 或者 php 的进程的从属用户,在这些 nginx 或者 php 的配置文件的开头有写出来的,你可以修改这个用户,或者从属组就可以了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2844 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 14:06 · PVG 22:06 · LAX 06:06 · JFK 09:06
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.