我正在将现有的 sambaserver (14.04) 转换为 18.04 上的新安装。我将继续使用现有数据分区(在单独的 HD 上),并在新硬盘上安装了新服务器。所以我需要尽可能接近地“重建”以前的服务器的行为。
我面临的一个问题与我的用户可以通过 samba 访问的目录有关/home
。在旧系统中,这些目录位于数据分区,可从/srv/smb/[user1]
现在,在新的安装中,我以某种方式弄乱了home
现在位于的文件夹/home/[user1]
,所以我想使用数据驱动器中的 /homes 文件夹,并且想知道如何调整它。
像...这样的符号链接会怎样?
mv /home/[user1] /home/[somethingelse]
ln -l /srv/smb/[user1] /home/[user1]
... 能完成任务吗?或者有更巧妙的方法来实现这个目标吗?
按照要求(不知道如何以评论的形式发表)
~ $ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 186.3G 0 disk
├─sda1 8:1 0 512M 0 part /boot/efi
├─sda2 8:2 0 250M 0 part /boot
├─sda3 8:3 0 27G 0 part /
├─sda4 8:4 0 4G 0 part [SWAP]
└─sda5 8:5 0 150G 0 part /home
sdb 8:16 0 1.8T 0 disk
├─sdb1 8:17 0 698.5G 0 part /srv/smb
└─sdb2 8:18 0 93.1G 0 part
答案1
这就是我解决这个问题的方法
home
1. 更改前一个服务器的名称
sudo mv /srv/smb/usr1 /srv/smb/usr1_old
2. 将新的主文件夹移动usr1
到/srv/smb/
目录
sudo usermod -md /srv/smb/usr1/ usr1
3. 检查 passwd 文件(该文件应显示 usr1 的新目录)
cat /etc/passwd | grep usr1
如果看起来不错......
4. 将旧主目录的内容复制到新主目录
sudo rsync -azvv --ignore-existing /srv/smb/usr1_old/* /srv/smb/usr1/
a) 该--ignore-existing
选项确保新主文件夹(用户创建时自动创建)中的.
文件(即)不会被旧主文件夹中的文件覆盖(不确定这是否真的有很大的不同,但我仍然会这样做) b) 我相信你也可以用来实现同样的结果,我仍然使用 rsync,因为我更熟悉它.profile
.
cp
然后...我就开始运行了!我想再检查一下访问权限是否与新系统匹配(我之前已经做过了)应该不会有什么坏处,而且您可能已经完全忘记了旧服务器上现有的 acl,这可能会造成一些麻烦,所以如果遇到任何问题,也值得研究一下这一点。
希望这能帮助有同样问题的人。感谢@Sebastian Stark 的上述评论。不知何故,他们帮助我找到了自己的路