我知道 /root 不在 /home 中的一个原因是 /home 通常安装在不同的磁盘上,如果它失败了,我们仍然希望 root 可以访问。这种结构的其他一些原因是什么?
我有一个我在cent os 7 上设置的openldap 服务器。我将它混合以与我的所有其他VM 一起工作,这些VM 从nfs 服务器为他们的/home 安装nfs 安装。
我刚刚发现,如果我创建一个新的 ldap 用户并尝试登录某个 VM,它可以让我登录,但说明它无法创建 /home/user 并且无法对其进行 chngdir。
但我也了解到,如果我首先 ssh user@mynfsserver 它登录,创建适当的 /home/user 然后我可以使用我的 ldapuser ssh 到任何其他 VM,它工作得很好,不再抱怨无法创建该用户在家中的文件夹。
我在每个带有 home.map 文件的 VM 上使用 autofs,它看起来具有正确的权限:
* -fstype=nfs,rw,nosuid,soft 10.10.1.139:/home/&
所以这感觉像是某种权限问题,用户在使用新创建的 ldap 凭据登录 VM 时出错。但是,如果同一用户登录到 10.10.1.139(从其中映射 home 的 nfs 服务器),那么似乎让他们登录到虚拟机而不再出现无法创建 /home/user 错误。
我的 openldap 服务器是否必须以某种方式了解 nfs 服务器?
除了必须先登录到 nfs 服务器的麻烦之外,我可以转到另一个虚拟机,触摸该主文件夹中的文件,然后宾果游戏就在我登录的任何其他虚拟机上。所以它就像 95% 的工作,只是烦人必须首先使用 ldap 用户登录到 nfserver 以使 /home/user 的创建首先在其他 VM 上工作。
我正在尝试在用户第一次登录之前预先填充用户的主目录。我想以编程方式执行此操作。现在,我可以创建一个文件夹,但是当用户登录时,它会创建一个不同的文件夹,并将域添加到末尾。这是到目前为止的内容。
@echo off
IF EXIST C:\USERS\%1 GOTO COMPLETE
GOTO FIRSTLOGON
:FIRSTLOGON
:: Create user folder on C:\
mkdir "C:\USERS\%1"
:: copy folder structure from template to new user folder
mkdir "c:\Users\%1\Desktop"
mkdir "c:\Users\%1\Documents"
mkdir "c:\Users\%1\Downloads"
mkdir "c:\Users\%1\Music"
mkdir "c:\Users\%1\Pictures"
:: Set rights on new folder
::: Remove inheritance, grant owner everything and admin everything
icacls "C:\USERS\%1" /inheritance:r /grant DOMAIN\%1:(OI)(CI)F
icacls "C:\USERS\%1" /grant %computername%\Administrator:(OI)(CI)F
GOTO END
:COMPLETE
echo Folder creation complete
:END
但是,该文件夹不会是用户的主目录。我猜我需要将带有用户 GUID 的注册表项添加到 HKLM > SOFTWARE > Microsoft > Windows NT > CurrentVersion > ProfileList,但不确定如何从用户名中获取 GUID,以及是否需要做任何其他事情。
注意:我不想更改每台计算机的用户主目录,只是他们正在登录的那个。
在过去一周左右的时间里,我一直在解决一个问题,但我的想法已经不多了。
我在我的 Centos 7 VPS 上为 git 服务器添加了一个新用户,并且(根据几篇文章的建议)将用户的主目录放在里面/var
而不是/home
.
然后,我尝试使用 ssh 登录该用户,它工作正常。但是,公钥身份验证无法正常工作。在调试过程中,我最终使git
用户和主用户在各方面都相同——他们都是 sudoers,他们有相同的.ssh
目录,相同的authorized_keys
文件,我什至将git
用户移动到/home
,但无济于事。
为了进一步测试,我创建了两个新用户:test1
和test2
. test1
的主目录位于 中/home
,而test2
的主目录位于/var
. 果然,pubkey auth 为test1
而不是test2
. 我认为这不是权限问题,因为/var
具有相同的权限/home
,并且用户目录都具有正确的权限。此外,我很困惑原始git
用户即使将其移至/home
.
如果我在详细模式下运行 ssh,我可以看到在发送密钥后发生了阻塞:
debug1: Offering RSA public key: /home/user/.ssh/foo.key
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
当连接到主用户或 时test1
,它的行为不同:
debug1: Offering RSA public key: /home/user/.ssh/foo.key
debug2: we sent a publickey packet, wait for reply
debug1: Server accepts key: pkalg ssh-rsa blen 279
我发现的唯一线索:尝试以不存在的用户身份登录时,我得到了与第一个相同的响应(等待回复,然后跳过 pubkey auth)。那么,机器是否让git
用户对外界不可见?为什么会这样做?
我通常可以完成这些事情,但我认为这次我很难过。谢谢你的帮助!
我的 AuthUserFile 位于/etc/proftpd/proftpd.passwd
. 默认根是~
. 该文件当前列出了单个用户(用户名、密码哈希、主目录)。如何更改此虚拟用户的主目录?
我在 Active Directory 中有许多现有用户需要创建主目录。他们不直接登录到 Solaris,而是登录到运行在该机器上的服务。
如果我以他们的身份登录,他们的主目录就会被创建,然后他们就可以登录了。
新用户也一样!
由于有很多用户,我需要一种方法来自动执行此操作,以便新用户和现有用户自动创建它。
这可能吗??
我使用的是 CentOS 5.8 x64 位
我的所有用户目录都在 /home/ 目录中,CentOS 与 /home 一起安装的驱动器位于
/dev/mapper/VolGroup01-LogVol00
它越来越满了,我还剩下 12%。我预测它会在2个月内装满。所以我在想的是向服务器添加 1TB 驱动器,然后将 /home 重新挂载到新驱动器上,例如
/dev/sdd1 917G 1G 916G 1% /home
但是我在这里遇到了一些障碍。
在我编辑安装点之前,你认为我必须将所有用户文件夹复制到新驱动器上fstab
吗?
所以这个过程可能类似于这样;
- 格式化/分区新驱动器
- 在临时文件夹 /tempfolder 下挂载驱动器
- 将 /home 的内容复制到 /tempfolder
- 编辑挂载到 /home 的位置而不是 /tempfolder
我们的许多用户都将他们的主文件夹设置为离线可用。他们的 Windows 7 笔记本电脑将在几周内恢复到我们的网络中。与此同时,我们正在设置新的服务器并重新组织我们的文件,因此主文件夹的网络路径将完全不同。
根据我所做的一些测试,当用户返回时,他们在离线时创建或修改的任何文件都将消失,并且新的主文件夹将在那里并且不会设置为同步。旧主文件夹的离线缓存仍然可以通过同步中心访问,但他们不会想要挖掘它并试图找到丢失的内容。避免这种情况需要保留旧服务器并亲自将每个人移动到新位置,因此我们确定他们首先同步。
有什么方法可以避免这种不那么乏味的情况,例如快速注册表编辑或将旧的离线缓存指向新位置的方法?
adduser -h /blah user
我使用busybox将用户添加到pure-ftpd 。
不幸的是,他能够爬上树并看到根文件夹。
我怎么能禁止这个?
是否可以将 Nose ( http://somethingaboutorange.com/mrl/projects/nose/0.11.1/ ) 安装到 Linux 机器上我的主目录的子目录中?(我不在该机器的 sudoers 列表中。)如果是这样,我该怎么做?