我的嵌入式Linux系统使用管理员用户帐户执行一些受限的管理任务。该用户的主目录是/mnt/foo。该目录是/etc/fstab在引导时挂载的分区的挂载点:
/dev/mmcblk1p6 /mnt/foo ext4 defaults 0 0
问题是/mnt/foo目录的权限:
$ ls -ld /mnt/foo/
drwxr-xr-x 16 root root 4096 Mar 23 07:54 /mnt/foo/
此权限不允许管理员用户创建/写入任何文件:
$ pwd
/mnt/foo
$ touch hello
touch: hello: Permission denied
这个问题可以很容易地解决在rcS启动脚本中将777权限设置为/mnt/foo:
$ chmod 777 /mnt/foo
但我不喜欢这种解决方案。我尝试在fstab中设置不同的选项(gid=admin,uid=admin,umask=000(,但ext4文件系统似乎不支持这些装载选项。
rcS启动脚本是解决此问题的唯一可行方法吗?谢谢
您可以更改/etc/fstab输入行中的默认值:
/dev/mmcblk1p6 /mnt/foo ext4 defaults 0 0
成为
/dev/mmcblk1p6 /mnt/foo ext4 file_mode=0755,dir_mode=0755 0 0
或者你想给的任何权限