Директория монтирования для пользователей без прав администратора при двойной загрузке

У меня есть компьютер с двойной загрузкой (Ubuntu 12.04 с gnome, windows Vista), и администратор использует все диски, включая диск C в Windows.

Я хотел бы предоставить пользователям со стандартными привилегиями возможность читать (не писать, а только обращаться к документу) единственный подкаталог с именем A с диска C.

Таким образом, в файле /etc/fstab /media/123.../A (C:\A в Windows) следует связать с каталогом документов пользователя / A (/home/user/Documents/A), только для обычных пользователей (не администраторов).

Это должно включать подкаталоги A тоже и все файлы. Есть ли способ сделать это?
Спасибо заранее!

5
задан 13.04.2020, 22:55

3 ответа

Вы можете установить разрешения для раздела Windows, но вы не можете установить разрешения для отдельных файлов / папок в разделе; во время монтажа вы устанавливаете права доступа к диску целом .

В своем вопросе вы не упомянули, должны ли пользователи со стандартными привилегиями иметь «доступ только для чтения к подкаталогу A и доступ на запись к остальной части раздела Windows », или msgstr "доступ только для чтения к подкаталогу A и нет доступа к остальной части раздела ". К сожалению, оба этих сценария не могут быть точно выполнены из-за вступительного предложения этого ответа.

Если вы хотите предоставить пользователю доступ только для чтения к определенной папке в разделе Windows, этот пользователь будет иметь доступ только для чтения ко всему разделу. Если с вами все в порядке, вот объяснение, как это сделать:

  1. Сначала создайте группу для пользователей, которые будут иметь доступ только для чтения. Ради этого примера мы будем использовать WindowsRO. Итак, команда для создания группы:

    sudo groupadd WindowsRO
  2. Во-вторых, мы добавим пользователей (которым мы хотим предоставить доступ только для чтения) к группе. Предполагая, что пользователь называется notadmin, это команда:

    sudo usermod -a -G WindowsRO notadmin

    Повторите эту команду для всех необходимых пользователей.

  3. Теперь нам нужно получить GID (ID группы) группы, потому что мы будем использовать его при монтировании диска. Чтобы сделать это, выполните следующее:

    grep WindowsRO /etc/group | cut -d: -f3

    Запишите число, которое выводится, потому что оно понадобится нам на шаге 5. В этом примере я предполагаю, что результат равен 1003. [ 1159] [тысяча сто сорок-один]

  4. Теперь нам нужно получить UID (идентификатор пользователя) учетной записи администратора, потому что мы будем использовать его при монтировании диска. В этом примере предполагается, что учетной записью администратора является bob. Для этого выполните следующее:

    grep bob /etc/passwd | cut -d: -f3

    Запишите число, которое выводится, потому что оно понадобится нам на шаге 5. Для этого примера я предполагаю, что результат равен 1000. [ 1 161] [тысяча сто сорок-два]

  5. Теперь мы отредактируем файл /etc/fstab. Я предполагаю, что рассматриваемый раздел Windows - /dev/sda2, что вы монтируете его на /media/123, и что это раздел ntfs. Вот строка, которую вы должны иметь:

    /dev/sda2    /media/123    ntfs    rw,gid=1003,uid=1000,dmask=027,fmask=037,#AnyOtherOptions#
    • gid=1003 - это число, которое мы получили на шаге 3 (GID группы).
    • uid=1000 - это число, которое мы получили на шаге 4 (UID учетной записи администратора).
    • dmask=027 устанавливает разрешения для папок следующим образом: -rwxr-x---, что означает, что владелец (учетная запись администратора) будет иметь полный доступ (rwx), а группа будет иметь доступ только для чтения (r-x ), и никто другой не будет иметь доступа вообще (---).
    • fmask=037 устанавливает права доступа к файлам следующим образом: -rwxr-----. Это похоже на dmask; группа будет иметь доступ только для чтения к файлам.
    • Вам следует заменить #AnyOtherOptions# другими вариантами, которые у вас есть. Например, у вас может быть auto, который автоматически монтирует раздел при запуске.
  6. Как только вышеперечисленное будет сделано, выполните sudo mount -a, чтобы применить изменения, которые мы сделали, к файлу fstab. Надеюсь, вы не получите никаких ошибок.

    Теперь вы должны проверить, что пользователи могут получить доступ к разделу. Если да, перейдите к следующему шагу, чтобы добавить ссылку A в папку «Документы».

  7. Предполагая, что домашний каталог для нашей учетной записи notadmin - /home/notadmin, и что эта папка A - в /media/123/some/folder/A, сделайте следующее:

    ln -s /media/123/some/folder/A /home/notadmin/Documents/A

    Вы должны теперь смотрите ссылку в notadmin Документах, указывающую на A. Он будет иметь доступ только для чтения к нему (и его подкаталогам, поскольку у него есть доступ только для чтения ко всему разделу). Выполните то же самое для других пользователей.

Все вышеперечисленное должно отвечать вашим требованиям, за исключением пункта, который я упомянул в начале: какой доступ должен иметь пользователь к остальной части раздела? Вышесказанное даст им доступ только для чтения ко всему разделу, а не только к разделу A; мы не можем устанавливать разрешения для определенных файлов / папок при монтировании разделов Windows.

5
ответ дан 13.04.2020, 22:55
  • 1
    ничего особенного для высказывания Вы покрыли все! – Kevin 13.04.2020, 22:56

Если вы хотите смонтировать доступный для записи каталог в режиме только для чтения в другом месте, можно использовать bind mount .

Например, смонтировать каталог home в режиме только для чтения @ / tmp / home

sudo mount --bind ~ /tmp/home
sudo mount -o ro,remount  /tmp/home

Если вы хотите получить доступ только для чтения к определенной папке затем обычный пользователь монтирует раздел в недоступном месте (пример / root / abc ).

0
ответ дан 13.04.2020, 22:56

Просто возможно с overlayfs

Руководство по монтированию папки Windows в режиме только для чтения для обычного пользователя (режим записи для root или другого пользователя)

  1. [ 1113] Создание точки монтирования для пользователя ROOT

    sudo mkdir /root/win
    
  2. Создание точки монтирования для обычного пользователя

    mkdir /home/$USER/folder
    mkdir /tmp/folder
    
  3. Монтирование раздела Windows в режим записи

    sudo mount /dev/disk/by-label/winOS /root/win
    
  4. Монтирование папки раздела Windows в режиме только для чтения

    sudo mount -t overlayfs -o ro,lowerdir=/root/win/folder,upperdir=/tmp/folder  overlayfs /home/$USER/folder
    

Доступ к доступному для записи разделу Windows от имени пользователя root

[ 114]

Доступ к папке только для чтения в разделе Windows

nautilus /home/$USER/folder
1
ответ дан 13.04.2020, 22:57

Теги

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