问题背景
需要对一批机器挂载nfs server上的同一个目录,要求永久生效。使用ansible mount模块来实现:
ansible tm -i hosts.ini -m mount -a 'src=192.168.1.2:/home/nfs_data path=/data fstype=nfs opts=defaults passno=1 state=mounted'
执行后报错permission denied,原因是root才可以修改/etc/fstab文件
问题解决
加上 -b --become-user=root即可,当然前提是hosts.ini定义的ansible_ssh_user有sudo权限,或者直接定义hosts.ini里的ansible_ssh_user=root
ansible tm -i hosts.ini -m mount -a 'src=192.168.1.2:/home/nfs_data path=/data fstype=nfs opts=defaults passno=1 state=mounted' -b --become-user=root