Как избежать sudo?

Это простая задача, вам просто нужно «открыть» файл (ы) с исполняемым скриптом следующим образом:

#!/bin/bash
echo $@ >>~/Documents/mp3log.log
for i in "$@"; do
  xdg-open "$i"
done

xdg-open "$@" может быть лучшей альтернативой для цикла, если вы хотите иметь дело только с одним типом файла - конечно, вы также можете пропустить xdg-open и открыть его напрямую с помощью желаемой программы, например vlc "$@".

Чтобы запустить выбранные файлы по сценарию по умолчанию, просто сделайте его по умолчанию для нужного типа файла, используя ваш файловый менеджер.

0
задан 22 February 2018 в 23:10

6 ответов

Как вы можете видеть на выходе ls -l, файлы принадлежат пользователю root и группе root, или неизвестному uid / gid 1002, и не доступны для записи в мире.

1] Вы можете изменить владельца на текущего пользователя, используя команду chown, для всех файлов и каталогов на этом разделе. Используйте man chown для документации о том, как использовать команду.

2
ответ дан 22 May 2018 в 12:57
  • 1
    Спасибо чувак! Необходимо было использовать chown -R user /datadrive/, где «пользователь» это имя пользователя, который зарегистрировался на виртуальной машине. Не стесняйтесь сообщать команду в своем ответе, чтобы помочь следующим пользователям :) – Vzzarr 22 February 2018 в 22:57

Как вы можете видеть на выходе ls -l, файлы принадлежат пользователю root и группе root, или неизвестному uid / gid 1002, и не доступны для записи в мире.

Вы можете изменить владельца на текущего пользователя, используя команду chown, для всех файлов и каталогов на этом разделе. Используйте man chown для документации о том, как использовать команду.

2
ответ дан 17 July 2018 в 20:12

Как вы можете видеть на выходе ls -l, файлы принадлежат пользователю root и группе root, или неизвестному uid / gid 1002, и не доступны для записи в мире.

Вы можете изменить владельца на текущего пользователя, используя команду chown, для всех файлов и каталогов на этом разделе. Используйте man chown для документации о том, как использовать команду.

2
ответ дан 23 July 2018 в 20:56

Из 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/fstab на rw,suid,dev,exec,auto,user,async. Снова прочитайте man mount и перейдите к ...nosuid,nodev,noexec...

0
ответ дан 22 May 2018 в 12:57
  • 1
    спасибо за ваш ответ, в любом случае теперь строка / etc / fstab is /dev/sdc /datadrive ext4 rw,suid,dev,exec,auto,user,async,nofail 1 2, но даже после перезагрузки мне все равно придется использовать sudo, например, для создания файла (sudo touch example.txt). Более того, в другой VM у меня есть те же параметры, что и в строке / etc / fstab, поэтому я думаю, что проблема не здесь – Vzzarr 22 February 2018 в 22:28

Из 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/fstab на rw,suid,dev,exec,auto,user,async. Снова прочитайте man mount и перейдите к ...nosuid,nodev,noexec...

0
ответ дан 17 July 2018 в 20:12

Из 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/fstab на rw,suid,dev,exec,auto,user,async. Снова прочитайте man mount и перейдите к ...nosuid,nodev,noexec...

0
ответ дан 23 July 2018 в 20:56
  • 1
    спасибо за ваш ответ, в любом случае теперь строка / etc / fstab is /dev/sdc /datadrive ext4 rw,suid,dev,exec,auto,user,async,nofail 1 2, но даже после перезагрузки мне все равно придется использовать sudo, например, для создания файла (sudo touch example.txt). Более того, в другой VM у меня есть те же параметры, что и в строке / etc / fstab, поэтому я думаю, что проблема не здесь – Vzzarr 22 February 2018 в 22:28

Другие вопросы по тегам:

Похожие вопросы: