我将要创建用户,并在另一个用户的主目录中设置它的主目录--我正在漫游,是吗:
案件:
ftp_user1 home dir是/var/www/vhosts/website/
我想要
ftp_user2 home将是/var/www/vhosts/website/subfolder/
(当然,我知道我必须选择一个用户,它将成为/var/www/vhosts/website/subfolder/__的所有者)
发布于 2016-06-01 16:54:47
允许进入*nix世界
实际上,在*nix世界里,任何东西都是被允许的。
有可能(我还没有在测试箱里试过)
是的,这是可能的。当用户被分配一个主目录时,这是默认情况下用户在登录时将cd到的目录。您可以在ftp_user2中使用-d选项更改usermod的S主目录:
usermod -d [directory] [ftp_user2]
在您的例子中,它应该是这样的:usermod -d /var/www/vhosts/website/subfolder ftp_user2
如果仍然需要创建ftp_user2,则可以在使用useradd创建它们时分配它们的主目录。
useradd -m -d /var/www/vhosts/website/subfolder -s /bin/bash ftp_user2
如果用户的主目录还不存在,-m选项将创建它。-d选项指定要分配给用户的主目录。-s选项指定用户登录时将使用的shell。不需要-s,但如果用户将登录到该用户,则通常可以指定用户默认的shell。
它有什么公认的消极方面吗?
我唯一能想到的消极方面是:如果有人决定删除ftp_user1和他们的主目录,那么ftp_user2的主目录也会被删除。
发布于 2016-06-02 00:06:54
用户的主目录可能在另一个目录中,但这是很少见的,有充分的理由。通常,用户可以写到他们的主目录。如果ftp_user1可以写到/var/www/vhosts/website/,那么ftp_user1可以重命名/var/www/vhosts/website/subfolder,并可以根据该名称创建一个新目录,该目录属于ftp_user1,内容由ftp_user1选择。例如:
mv /var/www/vhosts/website/subfolder /var/www/vhosts/website/subfolder.user2
mkdir /var/www/vhosts/website/subfolder
echo 'cp /bin/sh /tmp/sh.user2; chmod u+s /bin/sh.user2' >/var/www/vhosts/website/subfolder/.profile下次ftp_user2登录时,他们的.profile将运行并创建setuid,允许ftp_user1 (以及其他任何人)访问ftp_user2帐户。(当然,这一概念的证明可以变得更加有力。)
如果ftp_user1不能写入他们的主目录,那么这是安全的,但它有点混乱。可能有更好的方法让你这么做。
https://unix.stackexchange.com/questions/286942
复制相似问题