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

关于为 Linux 用户的 home 目录设置软链接

  •  
  •   lusheldon · 2017-07-04 14:27:26 +08:00 · 5588 次点击
    这是一个创建于 2700 天前的主题,其中的信息可能已经有所发展或是发生改变。
    今天遇到一个问题,有个应用总读取以大写开头的用户名目录,/home/Abc。结果当然 no such file or directory。
    我现在没法修改那个应用,于是想给设置个软连接 /home/Abc-->/home/abc。结果发现任何用户执行这条命令都提示 permission denied。
    想问两个问题:
    1.软连接不能用于 home 目录?还有什么限制吗?
    2.有没有办法让 /home/Abc 指向 /home/abc ?
    19 条回复    2017-07-05 09:12:43 +08:00
    lusheldon
        1
    lusheldon  
    OP
       2017-07-04 14:30:04 +08:00 via Android
    说明一下,那个应用所在的是另一个普通用户,读取我的 home 目录只是为了加载我的脚本
    xmadi
        2
    xmadi  
       2017-07-04 14:33:58 +08:00 via iPhone
    sudo 不行?
    lusheldon
        3
    lusheldon  
    OP
       2017-07-04 14:42:51 +08:00 via Android
    @xmadi root 都不行。试了一下,/home 目录下是不能直接创建目录的。也许都要通过 useradd 之类的命令,不过这样只能添加用户
    operafans
        4
    operafans  
       2017-07-04 14:44:15 +08:00
    两个用户,Abc 和 abc 都改成相同 sid 和 gid 呢?
    hl
        5
    hl  
       2017-07-04 14:46:32 +08:00   ❤️ 1
    root 用户在 home 目录可以随意创建目录,创建软连接,你需要的是提供详尽的操作系统版本,和操作步骤,以及详尽的操作用户信息,都弄上来,大家才能帮你看问题
    jarlyyn
        6
    jarlyyn  
       2017-07-04 14:47:17 +08:00
    什么系统?

    /home 下目录不是随便加的么?
    lusheldon
        7
    lusheldon  
    OP
       2017-07-04 15:06:32 +08:00 via Android
    @jarlyyn 我在自己的 centos6 上试了添加目录是可以,设置软连接是不行。
    生产环境是 centos5,root 用户都没法在 /home 下创建文件,可能是管理员做了什么限制吧。
    lusheldon
        8
    lusheldon  
    OP
       2017-07-04 15:08:30 +08:00 via Android
    sudo 还是可以设置软连接的,看来要么是 centos5 的问题,要么是管理员做了什么限制
    ipchy
        9
    ipchy  
       2017-07-04 15:15:37 +08:00
    home 目录默认情况下并没有显示,home 和其他目录是一样的,useradd 会在 home 下面创建用户目录是因为默认 /etc/default/useradd 文件中指定的是 /home,如果你改成其他的,那么默认的用户主目录就会再你修改后的目录中创建
    ipchy
        10
    ipchy  
       2017-07-04 15:16:21 +08:00   ❤️ 1
    home 目录默认情况下并没有特殊权限,home 和其他目录是一样的,useradd 会在 home 下面创建用户目录是因为默认 /etc/default/useradd 文件中指定的是 /home,如果你改成其他的,那么默认的用户主目录就会再你修改后的目录中创建
    jarlyyn
        11
    jarlyyn  
       2017-07-04 16:12:26 +08:00   ❤️ 1
    @lusheldon

    /home 就是一普通目录………………

    lusheldon
        12
    lusheldon  
    OP
       2017-07-04 16:19:33 +08:00 via Android
    @ipchy 谢谢各位积极的回复,我试了一下确实是我的生产环境特有的问题,其他系统上试正常的。已经叫管理员将我用户名改为小写开头了。找到原因的话会来 update 一下。
    jarlyyn
        13
    jarlyyn  
       2017-07-04 16:30:10 +08:00
    楼主,就算不能 Ln,你还能 mount --bind
    mononite
        14
    mononite  
       2017-07-04 16:44:50 +08:00
    @jarlyyn mount 也得先创建 /home/Abc 目录,楼主的问题是无法在 /home 下创建目录。
    不能创建符号链接的话,那么普通文件应该也不能创建,用"ls -l /home"看一下权限,很可能是连 root 也没有写的权限。
    lusheldon
        15
    lusheldon  
    OP
       2017-07-04 18:03:43 +08:00 via Android
    @mononite 权限没问题的,owner 是 root,好像是 751 吧
    lechain
        16
    lechain  
       2017-07-04 19:01:01 +08:00
    sudo mkdir /home/Abc
    sudo chown xxx
    sudo mount --bind /home/abc /home/Abc
    lechain
        17
    lechain  
       2017-07-04 19:01:33 +08:00
    @lechain #16 哦似乎不需要 chown 也可以的。不过没影响咯
    xratzh
        18
    xratzh  
       2017-07-04 19:26:09 +08:00 via iPhone
    我也觉得是 chown 的问题,home 下面的默认应该是用户文件夹,所属会有问题
    panzhc
        19
    panzhc  
       2017-07-05 09:12:43 +08:00
    root 都不行的话,可能是设置了附加权限
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   6021 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 46ms · UTC 02:16 · PVG 10:16 · LAX 18:16 · JFK 21:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.