我在这里要问一些花费我很多时间的东西,现在我不知道如何继续下去,这是一个非常大的社区。
那么问题是我正在为学校和大学做一个分布式的Linux系统,它从Apache服务器获取SquashFS,通过TFTP加载initrd和内核,当它启动时,它将所有系统加载到RAM中。 这个想法是尽可能的安全,当计算机closures时,系统的所有数据都是干净的,但问题是与主文件夹…
主文件夹是在一个NFS服务器,我试图为每个用户做不同的文件夹,使用计算机的MAC地址在NFS服务器中创build一个文件夹并连接到它,但我不知道如何在启动时传递MAC地址以在第一次创build文件夹,并且如果该MAC的主文件夹存在,则连接到它,使用fstab就像现在使用用户validation文件夹一样。
提前致谢!
我为MythTV系统做了一个非常类似的事情。 每个无盘前端机器使用DHCP PXE和TFTP进行networking引导。 系统正在运行Ubuntu 16.04 LTS。 (IP 1.1.1.1是客户机,2.2.2.2是服务器)
在/etc/dhcp/dhcpd.conf中IP和主机名是基于MAC分配的:
group { use-host-decl-names on; #forces hostname to host host bedroom { hardware ethernet 00:00:00:00:00:00; fixed-address 1.1.1.1; } }
TFTP在引导init时调用一个安装脚本,该脚本根据主机名安装NFS主目录。 浏览文件夹结构时,我使用主机名来提高可读性。 您可以parsingMAC并将其用于文件夹名称。 TFTP pxelinux.cfg默认文件:
LABEL linux DEFAULT vmlinuz-4.4.0-53-generic root=/dev/nfs initrd=initrd.img-4.4.0-53-generic nfsroot=2.2.2.2:/pxeroot init=/boot/mountscript.sh ip=dhcp rw
mountscript.sh:
#!/bin/bash HOSTNAME=`hostname` MOUNT_OPTS="rw,intr,async,bg,tcp" mount -t nfs 2.2.2.2:/path/to/homes/home-${HOSTNAME} /home -O MOUNT_OPTS exec /sbin/init </dev/console >/dev/console 2>&1
此外,/ etc / exports还有NFS导出设置,它将所需的主文件夹映射到唯一的静态IP地址:
/path/to/homes/home-bedroom 1.1.1.1(rw,async,insecure)
新家园文件夹和每个新机器的NFS导出条目必须手动添加。
请注意:这个例子适用于存储一些独特的configuration信息的单用户单用户机器(主要是连接到电视机的IR命令)。 它实现了您的每个MAC的主文件夹的目标,但我怀疑,每个用户的主文件夹是你实际上正在寻找joeqwerty提到。 该解决scheme不允许用户login到任何机器,并且需要按用户,每台机器创build主文件夹。 这也意味着,没有一个混乱的符号链接networking,不会有简单的方法来访问不同的计算机上的相同的文件。