Montar USB com o flag exec por padrão [closed]

0

Eu tenho um sistema de arquivos ext4 com um programa que eu uso. No entanto, toda vez que eu inicializo meu computador, eu tenho que remontar a unidade com o sinalizador exec para executar o aplicativo. Como eu iria editar o / etc / fstab para montar a unidade com o sinalizador exec por padrão?

    
por ETPOF 05.10.2017 / 21:14

2 respostas

1

Permissões comuns com sistemas de arquivos da Microsoft no Linux

Ao montar sistemas de arquivos da Microsoft (NTFS e FAT), você define as permissões de todos os arquivos e diretórios.

Permissões individuais com sistemas de arquivos Linux

Mas com sistemas de arquivos Linux (você tem um sistema de arquivos ext4 ) você pode definir e deve definir as permissões de arquivos e diretórios individualmente .

Quando você cria arquivos em um diretório, eles herdam as permissões do diretório. Então eu sugiro que você modifique um diretório, onde você tem seus programas e scripts,

sudo chmod ugo+x /path-to/directory-name

Desta vez, você já tem o seu arquivo de programa, então modifique suas permissões

sudo chmod ugo+x /path-to/program-name

Editar 1: Você também pode querer alterar a propriedade de alguns diretórios e arquivos individualmente, o que também é possível e recomendado em sistemas de arquivos linux.

sudo chown user:group /path-to/directory-name

e

sudo chown user:group /path-to/file-name

em que usuário e grupo devem ser substituídos pelo ID do usuário e pelo ID do grupo reais que você deseja possuir o arquivo (o ID do grupo pode ser ignorado ou definido como o ID do usuário).

Editar 2:

Uma linha com a opção de montagem exec no fstab para uma unidade USB com ext4

Funciona para mim (no Ubuntu 16.04 LTS, assim como no Artful para se tornar 17.10) para executar arquivos executáveis em ext4 file systems, quando montados automaticamente e quando montados via /etc/fstab sem a opção de montagem exec .

Mas não é o caso para você. Então eu testei para adicionar uma linha em /etc/fstab , com a opção de montagem exec (no Artful para se tornar 17.10), e funciona para mim. Espero que isso resolva seu problema.

  • Crie um ponto de montagem

    sudo mkdir -p /mnt/usb-ext4
    
  • Identifique o UUID da partição na unidade USB a ser montada

    sudo blkid
    

    Use a string sem aspas.

  • Edite /etc/fstab

    sudo nano /etc/fstab
    

    Eu adicionei as seguintes linhas no meu teste

    # external drive with ext4 partition
    UUID=984666a5-594c-4edc-93a9-8923e6f52c80 /mnt/usb-ext4   ext4    defaults,exec,errors=remount-ro 0 2
    

Editar 3:

Outra linha com opções de montagem user,noauto,exec in fstab

Quando você adiciona a linha no parágrafo anterior em fstab , o sistema deseja que a unidade USB seja inserida. Se você quiser inicializar sem ele , pode se dar bem se adicionar as opções de montagem user,noauto à lista de opções nessa linha de fstab .

UUID=984666a5-594c-4edc-93a9-8923e6f52c80 /mnt/usb-ext4   ext4    user,noauto,exec,errors=remount-ro 0 2

Mas você precisa iniciar a montagem depois, por exemplo, com

mount -L <label>

ou

mount <mountpoint>

no meu exemplo

mount -L test-exec

ou

mount /mnt/usb-ext4

O mesmo usuário pode desmontá-lo

umount /mnt/usb-ext4

Saída de teste

Após a reinicialização, executei os seguintes comandos.

mtab:

$ grep /mnt/usb-ext4 ext4 /etc/mtab
/dev/sdb1 /mnt/usb-ext4 ext4 rw,relatime,errors=remount-ro,data=ordered 0 0

fstab:

$ cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/sda2 during installation
UUID=10880524-3839-4142-b7db-f65845d87825 /               ext4    errors=remount-ro 0       1
# /boot/efi was on /dev/sda1 during installation
UUID=E556-B809  /boot/efi       vfat    umask=0077      0       1
/swapfile                                 none            swap    sw              0       0
# external drive with ext4 partition
UUID=984666a5-594c-4edc-93a9-8923e6f52c80 /mnt/usb-ext4   ext4    defaults,exec,errors=remount-ro 0 2

Eu criei um diretório e alterei a propriedade:

cd /mnt/usb-ext4
sudo mkdir bin
sudo chown $USER:$USER bin

Então eu criei um pequeno shellscript e o tornei executável:

cd bin
echo 'echo Hello World'>hello
chmod ugo+x hello

Lista longa para verificar as permissões e a propriedade:

$ ls -l
totalt 4
-rwxrwxr-x 1 tester tester 17 okt  6 07:51 hello

e pode ser executado

$ ./hello
Hello World

Comandos gerais que identificam o sistema

lsb_release:

tester@tester-SATELLITE-PRO-C850-19W:/mnt/usb-ext4/bin$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu Artful Aardvark (development branch)
Release:    17.10
Codename:   artful

uname:

tester@tester-SATELLITE-PRO-C850-19W:/mnt/usb-ext4/bin$ uname -a
Linux tester-SATELLITE-PRO-C850-19W 4.13.0-12-generic #13-Ubuntu SMP Sat Sep 23 03:40:16 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

blkid:

tester@tester-SATELLITE-PRO-C850-19W:/mnt/usb-ext4/bin$ sudo blkid
/dev/sda1: UUID="E556-B809" TYPE="vfat" PARTLABEL="EFI System Partition" PARTUUID="b3276a58-ea15-4cea-8c74-095b13ea7aa6"
/dev/sda2: UUID="10880524-3839-4142-b7db-f65845d87825" TYPE="ext4" PARTUUID="d399063d-1c12-4a62-86d9-0112b15a3e40"
/dev/sdb1: LABEL="test-exec" UUID="984666a5-594c-4edc-93a9-8923e6f52c80" TYPE="ext4" PARTUUID="4b07dce4-4bde-4fe9-9b2f-2442a62b0b87"

lsblk:

tester@tester-SATELLITE-PRO-C850-19W:~$ sudo lsblk -fm
[sudo] lösenord för tester: 
NAME   FSTYPE LABEL     UUID                                 MOUNTPOINT     SIZE OWNER GROUP MODE
sda                                                                        55,9G root  disk  brw-rw----
├─sda1 vfat             E556-B809                            /boot/efi      480M root  disk  brw-rw----
└─sda2 ext4             10880524-3839-4142-b7db-f65845d87825 /             55,4G root  disk  brw-rw----
sdb                                                                        30,2G root  disk  brw-rw----
└─sdb1 ext4   test-exec 984666a5-594c-4edc-93a9-8923e6f52c80 /mnt/usb-ext4 30,2G root  disk  brw-rw----
sr0                                                                        1024M root  cdrom brw-rw----
    
por sudodus 05.10.2017 / 21:33
0

Veja como forcei meu sistema Ubunto 16.04.3 a montar uma coisa com as opções padrão, leia man mount , especialmente as partes sobre "OPÇÕES DE MONTAGEM INDEPENDENTE FILESYSTEM" e "Opções de montagem para gordura". Eu fiz

w3@aardvark:~(0)$ sudo lsblk --output "NAME,UUID,PARTUUID,SIZE,STATE"
NAME           UUID                                 PARTUUID                               SIZE STATE
sda                                                                                      465.8G running
├─sda1         362254e8-2b99-442d-8ad9-4a348bc08032 ab519d4e-b282-4ca4-87a4-c3e5b143291f 111.3G 
└─sda2         191289bd-73e0-4935-8f17-700559c83570 0109ac9a-7539-4323-9f1a-b24c59066e46 354.5G 
sdb                                                                                      465.8G running
├─sdb1                                              000a3a79-01                            7.5G 
│ └─cryptswap1 022bb8c1-4a34-444c-a359-b0aef01e3191                                        7.5G running
├─sdb2                                              000a3a79-02                              1K 
├─sdb5         83a64b80-5a37-4659-b797-221b88ef41f8 000a3a79-05                          165.2G 
└─sdb6         12817b99-9d2b-4357-a4ca-c11eab672a20 000a3a79-06                            293G 
sdc            0123-4567                                                                   3.7G running
sdd            0123-4567                                                                   7.4G running
sdf                                                                                      931.5G running
└─sdf1         ff359af0-d996-4949-b27e-f24ce453c48c 00051704-01                          931.5G 
sdi            F440-F7F4                                                                   3.7G running

Eu escolhi sdi para este exemplo, YMMV

w3@aardvark:~(0)$ mount | grep /dev/sdi
/dev/sdi on /home/w3/mnt/mp3/OTHER type vfat (rw,nosuid,nodev,relatime,uid=1003,gid=1000,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,showexec,utf8,flush,errors=remount-ro)  

echo -e para forçar a interpretação de \t , \n , selecione as opções desejadas

w3@aardvark:~(0)$ echo -e "# Added by $USER $(date)\nUUID=F440-F7F4 /home/w3/mnt/mp3/OTHER\tvfat rw,exec,nosuid,nodev,relatime,uid=1003,gid=1000,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,utf8,flush,errors=remount-ro 0 0" 
# Added by w3 Fri Oct  6 00:35:20 EDT 2017
UUID=F440-F7F4 /home/w3/mnt/mp3/OTHER   vfat rw,exec,nosuid,nodev,relatime,uid=1003,gid=1000,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,utf8,flush,errors=remount-ro 0 0
w3@aardvark:~(0)$ !! | sudo tee -a /etc/fstab
echo -e "# Added by $USER $(date)\nUUID=F440-F7F4 /home/w3/mnt/mp3/OTHER\tvfat rw,exec,nosuid,nodev,relatime,uid=1003,gid=1000,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,utf8,flush,errors=remount-ro 0 0"  | sudo tee -a /etc/fstab
# Added by w3 Fri Oct  6 00:35:40 EDT 2017
UUID=F440-F7F4 /home/w3/mnt/mp3/OTHER   vfat rw,nosuid,nodev,relatime,uid=1003,gid=1000,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,showexec,utf8,flush,errors=remount-ro 0 0

Isso é bom pela PRIMEIRA vez. Posteriormente, você pode editar /etc/fstab com

sudoedit /etc/fstab

Tenha muito cuidado, mantenha uma cópia de backup do último trabalho fstab . Se você quebrar fstab , seu sistema não funcionará.

    
por waltinator 06.10.2017 / 06:51