开发的时候用nfs把主机目录挂载到板子上是很方便的, 我们就是如此.

nfs的配置文件是/etc/exports, 可以设置具体目录的具体参数, 包括只读或者可写. 一般情况下, 目录挂载为只读就可以, 但这几天有点新需求, 需要往nfs主机目录写文件, 于是问题就来了: 写入的文件的owner是root, 管理起来麻烦得很, 尤其我们的nfs主机是一台服务器, 我在上面只有普通帐户没有root权限.

研究了下exports的写法, 发现有个User ID Mapping的功能, 可以将客户端的操作请求视为主机上的某个用户, 例如:

/home/adam/nfs *(rw,sync,all_squash,anonuid=500,anongid=600)

重点在all_squash,anonuid=500,anongid=600这三个选项, 500和600是我在nfs主机上的用户id和组id. 这样一来, 写入的文件的owner就是我了, 可以任意操作了, 舒服.