如何避免 sudo?

如何避免 sudo?

我位于/datadrive/作为 的挂载点的文件夹中/dev/sdc1(在 中,/etc/fstab我有/dev/sdc1 /datadrive ext4 defaults,nofail 1 2),每当我尝试在此文件夹中进行任何操作(例如mvcptouch...)时,都需要 root 权限(sudo)。我猜这是因为文件系统是“只读的”(抱歉我的无知,但我对此不确定)。

由于我要执行许多脚本,所以我想将这里的文件系统转换为我猜测的“读/写”,这样就sudo不再需要了(如果我错了,请纠正我)。

我已经尝试过了,sudo mount -o remount,rw '/datadrive/'没有任何效果。您知道如何删除该sudo要求吗?

编辑

ls -l得到:

total 52
drwxr-xr-x 10 1002 1002  4096 Feb 22 15:53 ./
drwxr-xr-x 24 root root  4096 Feb 22 16:13 ../
drwxrwxr-x  5 1002 1002  4096 Feb 22 16:04 NGS-SparkGATK/
drwxr-xr-x  3 root root  4096 Feb 22 15:36 delete/
drwx--x--x 14 root root  4096 Feb 22 16:13 docker_var/
drwxrwxr-x  9 1002 1002  4096 Jan 22 15:18 fastq/
drwxr-xr-x  6 root root  4096 Feb 22 15:54 libraries/
drwx------  2 root root 16384 Sep 25 13:23 lost+found/
drwxrwxr-x  4 1002 1002  4096 Nov 14 11:37 reference/
drwxrwxrwt 16 root root  4096 Feb 21 12:53 tmp/

答案1

从输出中可以看出ls -l,这些文件归用户root和组所有root,或者归未知的 uid/gid 所有1002,并且不是所有人都可写的。

chown您可以使用命令将分区上所有文件和目录的所有者更改为当前用户。请参阅man chown有关如何使用该命令的文档。

答案2

man mount

  defaults
          Use the default options: rw, suid, dev, exec, auto, nouser, and async.

   The non-superuser mounts.
          Normally, only the superuser can mount filesystems.  However, when fstab contains the user option on a line, anybody can mount the corresponding filesystem.

          Thus, given a line

                 /dev/cdrom  /cd  iso9660  ro,user,noauto,unhide

          any user can mount the iso9660 filesystem found on an inserted CDROM using the command

                 mount /dev/cdrom

          or

                 mount /cd

          For more details, see fstab(5). 

defaults将条目中的关键字替换/datadrive /etc/fstabrw,suid,dev,exec,auto,user,async。再读man mount一遍,考虑改为...nosuid,nodev,noexec...

相关内容