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----