AFP no puede escribir debido a un volumen bloqueado

1

Estoy intentando escribir contenido en mis carpetas compartidas en mi Raspberry Pi sobre AFP. Sin embargo, sigo recibiendo el mismo error / advertencia con respecto a los permisos y el volumen bloqueado:

Estoybastantesegurodequelospermisossoncorrectos,estoyregistradoy,comousuariopipredeterminado,yusochown-Rpi/mnt/seagateenelpiparaserpropietariodemiHDDmountparaelusuariopi.
Estonofuncionó,asíqueintentéestablecerpermisosparamicarpeta/var/wwwconchmod-R777/var/www,loqueresultóenelmismoerrorquesemuestraarriba.

ComprobandolospermisosenelFinderparalacarpetadeinicio(quenodeberíaserunproblema,haberiniciadosesióncomousuariopi)veoquetodostienenpermisosdeRW.


Creoqueelproblemanoesculpademipi(deahíquepubliquéestoaquíynoenraspberrypi).CreoquedebehaberalgúnproblemaconlaconfiguracióndemiAFPenmiMac(tambiéntengaencuentaqueuséestemétododecompartircarpetasdepiconAFPamacantesysiemprefuncionóantes).Adjuntounacapturadepantallademiconfiguracióndeafpacontinuación,yaquenotengoniideadeloquepodríaestarmal.Siesnecesarioparaayudar,tambiénpuedoproporcionarlasconfiguracionesparanetatalk(protocoloafpenlapi).

    
pregunta thibmaek 05.04.2015 - 23:15

1 respuesta

1

Probablemente algunos permisos y / o las configuraciones están mal configurados en tu Raspberry. Sospecho que la unidad externa o una carpeta compartida en la unidad externa tienen permisos configurados incorrectamente. Compare eso con la carpeta de su casa en la Raspberry, donde probablemente tenga acceso completo a r / w.

Por favor, intente esto como un primer paso. Puede aplicar configuraciones / configuraciones especiales más tarde. A continuación, asumo que su disco externo es sdb y contiene un volumen ext4 sdb1 con el nombre seagate. ¡El volumen / partición en sí mismo no debería ser propiedad de pi sino de root!

Primero detiene netatalk con:

sudo /etc/init.d/netatalk stop

Desmonte su volumen externo después de verificar los volúmenes montados con df o cat /proc/mounts para obtener el identificador de su disco externo:

sudo umount /dev/sdb1

Primero tenemos que arreglar tu punto de montaje:

Deben aplicarse los siguientes permisos (verifique esto con ls -la en la frambuesa):

Para / mnt

drwxr-xr-x  3 root root  4096 Apr  6 13:52 mnt

Compruebe que la carpeta / mnt contiene una carpeta seagate con ls -la :

drwxr-xr-x  3 root root 4096 Apr  6 13:52 .
drwxr-xr-x 22 root root 4096 Apr  6 11:21 ..
drwxr-xr-x  8 root root 4096 Apr  6 14:14 seagate

Agregue la carpeta si es necesario con sudo mkdir /mnt/seagate y cambie los permisos y la propiedad en consecuencia con chown y chmod.

Obtenga el UUID de todos los volúmenes con sudo blkid . Deberías obtener una salida similar a esa:

/dev/sda5: UUID="7a7dd5de-758e-4488-b78d-dd7f7c61cfbc" TYPE="swap" 
/dev/sda1: UUID="9b4285a8-3290-469a-91f3-7517f286856e" TYPE="ext4" 
/dev/sdb1: LABEL="seagate" UUID="522e7f4c-ee90-4265-82c1-e46f48f969b5" TYPE="ext4"

sda1 y sda5 son su partición interna principal y de intercambio. sdb1 es el primer volumen en su disco externo.

Verifique con sudo nano /etc/fstab si su archivo fstab monta el volumen del disco externo en / mnt / seagate. Reemplace los UUID a continuación con los que se encuentran en su configuración.

# /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/sda1 during installation
UUID=9b4285a8-3290-469a-91f3-7517f286856e /               ext4    errors=remount-ro 0       1
# swap was on /dev/sda5 during installation
UUID=7a7dd5de-758e-4488-b78d-dd7f7c61cfbc none            swap    sw              0       0
/dev/sr0        /media/cdrom0   udf,iso9660 user,noauto     0       0
UUID=522e7f4c-ee90-4265-82c1-e46f48f969b5" /mnt/seagate/     ext4    errors=remount-ro 0       1

Vuelva a montar sdb1 con sudo mount /dev/sdb1 y verifique el punto de montaje con df . Debería verse así:

...
...
/dev/sdb1   8256916  170156   7667332    3% /mnt/seagate

Ahora cree una carpeta base para el usuario pi:

sudo mkdir /mnt/seagate/pi

Mueve todas tus carpetas personales a pi con:

sudo mv /mnt/seagate/folder sudo mv /mnt/seagate/pi/folder

Ejemplo:

sudo mv "/mnt/seagate/Film - 1" "/mnt/seagate/pi/Film - 1"

Luego aplique la propiedad recursivamente con

sudo chown -R pi:pi /mnt/seagate/pi

Vuelva a aplicar la propiedad y los permisos de / mnt / seagate / lost + found with

sudo chown -R root:root /mnt/seagate/lost+found
sudo chmod 700 /mnt/seagate/lost+found

Ahora tienes que revisar netatalk y arreglarlo si es necesario:

Localice las siguientes opciones de inicio y cámbielas como se indica a continuación en / etc / default / netatalk con sudo nano /etc/default/netatalk :

ATALKD_RUN=no
PAPD_RUN=no
CNID_METAD_RUN=yes
AFPD_RUN=yes
TIMELORD_RUN=no
A2BOOT_RUN=no 

Vaya al final del archivo /etc/netatalk/afpd.conf. Debería verse similar a esto:

# default:
- -tcp -noddp -uamlist uams_dhx.so,uams_dhx2.so -nosavepassword

Ahora configure los volúmenes compartidos en /etc/netatalk/AppleVolumes.default cerca del final del archivo:

~/              "Home Directory"
/mnt/seagate/pi "pi-seagate" allow:pi

El primero es el directorio para compartir, el segundo es el nombre visible en "Conectarse al servidor" - > La ventana "Volúmenes para seleccionar" y más adelante en su escritorio y el tercero son los usuarios permitidos.

Reinicia netatalk con:

sudo /etc/init.d/netatalk start

Intente conectarse a los recursos compartidos con su cliente Mac OS X 10.10 ingresando: "afp: // ip-address" en 'Ir a ...' - > 'Conectar al servidor'.

    
respondido por el klanomath 06.04.2015 - 14:48

Lea otras preguntas en las etiquetas