技术解析

关于为 Linux 用户的 home 目录设置软链接
0
2021-06-29 08:33:02
idczone
今天遇到一个问题,有个应用总读取以大写开头的用户名目录,/home/Abc。结果当然 no such file or directory。
我现在没法修改那个应用,于是想给设置个软连接 /home/Abc-->/home/abc。结果发现任何用户执行这条命令都提示 permission denied。
想问两个问题:
1.软连接不能用于 home 目录?还有什么限制吗?
2.有没有办法让 /home/Abc 指向 /home/abc ?
说明一下,那个应用所在的是另一个普通用户,读取我的 home 目录只是为了加载我的脚本

sudo 不行?

root 都不行。试了一下,/home 目录下是不能直接创建目录的。也许都要通过 useradd 之类的命令,不过这样只能添加用户

两个用户,Abc 和 abc 都改成相同 sid 和 gid 呢?

root 用户在 home 目录可以随意创建目录,创建软连接,你需要的是提供详尽的操作系统版本,和操作步骤,以及详尽的操作用户信息,都弄上来,大家才能帮你看问题

什么系统?
/home 下目录不是随便加的么?

我在自己的 centos6 上试了添加目录是可以,设置软连接是不行。
生产环境是 centos5,root 用户都没法在 /home 下创建文件,可能是管理员做了什么限制吧。

sudo 还是可以设置软连接的,看来要么是 centos5 的问题,要么是管理员做了什么限制

home 目录默认情况下并没有显示,home 和其他目录是一样的,useradd 会在 home 下面创建用户目录是因为默认 /etc/default/useradd 文件中指定的是 /home,如果你改成其他的,那么默认的用户主目录就会再你修改后的目录中创建

home 目录默认情况下并没有特殊权限,home 和其他目录是一样的,useradd 会在 home 下面创建用户目录是因为默认 /etc/default/useradd 文件中指定的是 /home,如果你改成其他的,那么默认的用户主目录就会再你修改后的目录中创建


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


谢谢各位积极的回复,我试了一下确实是我的生产环境特有的问题,其他系统上试正常的。已经叫管理员将我用户名改为小写开头了。找到原因的话会来 update 一下。

楼主,就算不能 Ln,你还能 mount --bind

mount 也得先创建 /home/Abc 目录,楼主的问题是无法在 /home 下创建目录。
不能创建符号链接的话,那么普通文件应该也不能创建,用"ls -l /home"看一下权限,很可能是连 root 也没有写的权限。

权限没问题的,owner 是 root,好像是 751 吧

sudo mkdir /home/Abc
sudo chown xxx
sudo mount --bind /home/abc /home/Abc

哦似乎不需要 chown 也可以的。不过没影响咯

我也觉得是 chown 的问题,home 下面的默认应该是用户文件夹,所属会有问题

root 都不行的话,可能是设置了附加权限

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服