Página 1 de 2 12 ÚltimoÚltimo
Resultados 1 al 10 de 11

Tema: Leer escribir en carpeta que no tiene privilegios

  1. #1

    Predeterminado Leer escribir en carpeta que no tiene privilegios

    Soy novato en Linux, estoy usando Linux Mint y quisiera saber como se hace para tener privilegios persistentes en una carpeta que no es del sistema.

    Quiero crear archivos en una partición diferente y el sistema no me deja.

    Gracias
    Imagen suprimida por ImagesHack.

  2. #2
    Master Avatar de skabeche
    Ubicación
    Unas veces en Benicàssim y otras en Oviedo
    Mensajes
    1,875

    Predeterminado Re: Leer escribir en carpeta que no tiene privilegios

    Tal vez necesites permisos root
    Si lo haces desde terminal utiliza el comando "sudo" antes del comando normal, te pedirá la contraseña de root para efectuarlo.
    https://www.linuxtotal.com.mx/index....info_admon_014
    SKIZOPHONIC
    Web de mi grupo: www.skizophonic.es
    Facebook de mi grupo: www.facebook.com/skizophonic
    Escúchanos en Spotify: Skizophonic en Spotify

    Si yo no soy Curro Jiménez ¿Por qué tengo este trabuco?

  3. #3

    Predeterminado Re: Leer escribir en carpeta que no tiene privilegios

    Cita Iniciado por skabeche Ver mensaje
    Tal vez necesites permisos root
    Si lo haces desde terminal utiliza el comando "sudo" antes del comando normal, te pedirá la contraseña de root para efectuarlo.
    https://www.linuxtotal.com.mx/index....info_admon_014
    Me lo puedes explicar a un nivel aun mas sencillo?, quiero utilizar una partición diferente al disco en que esta Linux para crear y modificar archivos pero parece que no tengo permisos.

    Uso Linux Mint
    Imagen suprimida por ImagesHack.

  4. #4

    Predeterminado Re: Leer escribir en carpeta que no tiene privilegios

    Buenas, indica exactamente el error que te da al intentar crear esos archivos, ¿es en cualquier carpeta de esa partición? ¿sabes en qué formato está esa partición (ntfs, ext4, reiserfs)?

    Saludos

    Pd Otra cosa, sería interesante que abrieras una terminal de comandos y escribieras
    Código:
    cat /etc/fstab
    y nos pegues el resultado.
    "Azar es el nombre científico de la ignorancia."
    MUY IMPORTANTE Lee el REF Lee las normas|ESCANEOS Y MÁS ONLINE GRATUITOS|Protocolo de desinfección
    En este subforo hay una COMPARATIVA DE ANTIVIRUS Y CORTAFUEGOS, donde se discuten esos temas. Entra al CHAT

  5. #5

    Predeterminado Re: Leer escribir en carpeta que no tiene privilegios

    Esto es lo que me sale cuando ejecuto el comando:

    /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/sdb2 during installation
    UUID=eae332f5-9bab-4e12-989e-90f0deb6fdb0 / ext4 errors=remount-ro 0 1
    # /boot/efi was on /dev/sdb1 during installation
    UUID=E86C-EB40 /boot/efi vfat umask=0077 0 1
    /swapfile none swap sw 0 0


    La partición en la que quiero privilegios esta en NTFS

    Otro problema que tengo es que al instalar Mint en una partición, tengo Windows en otra pero no puedo acceder...no me sale el selector de arranque y en la BIOS elija el HD que elija siempre arranca Linux ahora...como puedo arreglarlo?
    Imagen suprimida por ImagesHack.

  6. #6
    El señor de los forillos Avatar de el_angel_caido
    Ubicación
    En un lugar de Asturias de cuyo nombre no quiero acordarme...
    Edad
    44
    Mensajes
    4,697

    Predeterminado Re: Leer escribir en carpeta que no tiene privilegios

    Hola.

    Hacía pila que no me logueaba, a ver si aún recuerdo como va ésto de los foros...

    Si quieres acceder a una partición en NTFS lo primero asegúrate que tienes instalado el paquete ntfs-3g. NTFS hace tiempo que es posible leerlo desde el kernel, pero no así escribir sobre él, por eso se utiliza ntfs-3g.

    Una vez tienes instalado el paquete toca ver las particiones que hay en el disco, su nombre y su orden. Pero antes, y viendo la salida del fstab, decirte que tienes la instalación en UEFI (lo indica el hecho que la partición de arranque esté montada como /boot/efi), con lo que no se si con fdisk -l podrás verlas, creo que sí, que hace tiempo que tiene soporte para GPT/UEFI. Te debería salir algo parecido a ésto (más o menos grande):
    Código:
    Disposit.   Comienzo     Final  Sectores Tamaño Tipo
    /dev/sda1       2048    616447    614400   300M Entorno de recuperación de Windows
    /dev/sda2     616448    821247    204800   100M Sistema EFI
    /dev/sda3     821248   1083391    262144   128M Reservado para Microsoft
    /dev/sda4    1083392 420513791 419430400   200G Datos básicos de Microsoft
    /dev/sda5  420513792 421562367   1048576   512M Sistema de ficheros de Linux
    /dev/sda6  421562368 526419967 104857600    50G Sistema de ficheros de Linux
    /dev/sda7  526419968 631277567 104857600    50G Sistema de ficheros de Linux
    /dev/sda8  631277568 639666175   8388608     4G Linux swap
    /dev/sda9  639666176 976773119 337106944 160,8G Datos básicos de Microsoft
    Eso se corresponde con mi disco de sistema, donde hay un Windows instalado. Si has visto alguna vez una tabla de particiones BIOS/MBR te darás cuenta que "faltan" y "sobran" cosas... "sobran" particiones primarias y "faltan" una partición extendida y unidades lógicas. Así mismo hay particiones con nombres "nuevos" (Sistema EFI y Reservado para Microsoft, principalmente). Esos nombres se los he dado yo, pero por lo general aparecen como EFI o ESP y MSR, respectivamente, y son las novedades en UEFI/GPT.

    Lo de /dev/sdxy indica el disco (sdx) y el número de partición (y), de modo que en el ejemplo sabemos que es el disco sda y que tiene 9 particiones. Si hubiera más discos aparecerían como sdb, sdc, etc. (o como hda, hdb, etc., pero esta es una nomenclatura antigua, principalmente usada con discos IDE).

    Ésto también se puede ver de forma gráfica con, por ejemplo, GParted, que además nos dirá el sistema de archivos de cada partición.

    Bien, imaginemos que la partición a la que quiero acceder es a la /dev/sda9, que además se que es una en NTFS (lo de datos básicos de Microsoft da ya una pista, pero puede que no aparezca, depende de la distro, de cómo lo hallamos instalado, etc.).
    En Linux las particiones se montan, es decir, se crea un punto de montaje, o dicho de otro modo, se asocia una carpeta a una partición con un sistema de archivos y unos permisos. ¿Cómo?

    - Creamos la carpeta:
    Pongamos que la quiero en mi escritorio y que se llame Datos (acordarse que Linux distingue entre mayúsculas y minúsculas):
    Código:
    mkdir /home/propietario/Escritorio/Datos
    O como está en mi carpeta y yo soy el propietario la puedo crear gráficamente desde el explorador de archivos del entorno gráfico que se use. Si quiero crearla en algún sitio donde no sea propietario o no tenga permisos de escritura (como miembro del grupo, por ejemplo), por ejemplo, en el raíz (/), habría que crearla con sudo o como root.

    - Creamos el punto de montaje:
    Aquí sí es necesario ser root o sudo, y la forma de montar una partición es:
    Código:
    mount -t ntfs-3g /dev/sda9 /home/propietario/Escritorio/Datos
    Mount es el comando de montaje, ntfs-3g es el controlador de sistema de archivos que quiero usar, luego indicamos la partición y finalmente la carpeta asociada.
    Si en vez de ser NTFS fuera una partición ext4 sería similar:
    Código:
    mount -t ext4 /dev/sda9 /home/propietario/Escritorio/Datos
    Esta es la forma sencilla de mount, ya que tiene más opciones y permite asignar permisos.

    Esta forma es temporal, una vez se reinicia se pierde el punto de montaje (que no los datos).

    Para mantener el punto de montaje de forma fija se recurre al /etc/fstab:
    Código:
    # <file system> <mount point>   <type>  <options>       <dump>  <pass>
    # / was on /dev/sdb2 during installation
    UUID=eae332f5-9bab-4e12-989e-90f0deb6fdb0 /               ext4    errors=remount-ro 0       1
    # /boot/efi was on /dev/sdb1 during installation
    UUID=E86C-EB40  /boot/efi       vfat    umask=0077      0       1
    /swapfile                                 none            swap    sw              0       0
    En tu caso el fstab nos dice que, de momento, sólo tienes una partición para raíz (/) y que está en un segundo disco (sdb), además que es la segunda partición (sdb2), y que tu partición de arranque para Linux (boot) se encuentra en ese segundo disco y que es la primera partición del disco (sdb1), además, como ya comenté, que está instalado en modo UEFI (/boot/efi) y que el sistema de archivos es FAT32 (vfat) (lo normal en UEFI, es más, si la partición EFI/ESP no está en FAT32 no funciona el arranque). Y, creo, porque nunca lo he instalado en archivo, que tienes la swap en un archivo y no en una partición.

    Y dirás... ¿Qué es éso del UUID? Pues uno de los posibles identificadores de particiones, que en este caso se obtiene mirando la salida del comando blkuid. Es el equivalente a lo de /dev/sdxy (si te fijas, la línea donde aparece esa nomenclatura es un comentario (#)).

    Hay más cosas pero vamos a dejarlas... al menos por ahora.

    Bien... vamos a editar el fstab con tu editor favorito... eso sí... como sudo o root... bueno... primero una copia del fstab, por si la liamos y no arranca el sistema: sudo cp /etc/fstab /etc/fstab.bak.

    Añadamos la línea que nos va a definir el punto de montaje fijo para la /dev/sda9 en NTFS:
    Código:
    /dev/sda9 /home/propietario/Escritorio/Datos  ntfs-3g user,users,uid=propietario,gid=users,fmask=113,dmask=002,locale=es_ES.UTF-8       0 0
    El /dev/sda9 puedes sustituirlo por el UUID de la partición u otro identificador de los posibles.

    Bien... ahí hay mucho más rollo que con el mount... pues sí, pues defino la partición al completo... y esos añadidos son para ntfs-3g, en otros sistemas de archivos puede haber otros:

    user: indico que el usuario puede montar y desmontar la partición.
    users: indico que los miembros del grupo users pueden montar y desmontar la partición.
    uid=propietario: indico que el propietario del punto de montaje es el usuario propietario. Esto es importante a la hora de usar la papelera de reciclaje en Linux.
    gid=users: indico que el grupo propietario del punto de montaje es el users.
    fmask: indico la máscara de ficheros.
    dmask: indico la máscara de directorios.
    locale: indico el código de idioma que se usará en el punto de montaje.
    0 0: los dejamos por el momento.

    Con uid y gid consigo que todo lo que cree en el punto de montaje tenga como propietario y grupo a los indicados.
    Con fmask y dmask indico los permisos por defecto de todo lo que cree en el punto de montaje.

    ¿Y qué son los números de fmask y dmask? Pues los permisos.

    En Linux hay 3 tipos de permisos básicos: lectura (r), escritura (w) y ejecución (x). Si haces, por ejemplo, un ls -lah, verás algo parecido a ésto:
    Código:
    drwxr-xr-x  5 propietario users 4,0K abr 30 13:26 Imágenes
    La d indica que eso es un directorio o carpeta, y el resto es lo comentado... y si te fijas siguen un orden de 3 en 3. Los 3 primeros son los permisos del owner (propietario), los 3 siguientes del grupo (group) y los 3 siguientes para el resto de usuarios (others). A continuación van el propietario y el grupo (propietario y users en este caso).

    Según eso tenemos que el propietario tiene permisos rwx, el grupo r-x y los otros r-x. En el caso de un directorio es necesario asignar el permiso de ejecución (x), si no se deniega el acceso.
    Un fichero sería similar, sin la d... y mejor no darle permisos de ejecución si no son necesarios:
    Código:
    rw-r--r--  4 propietario users 4,0K abr 30 13:26 Imágenes.txt
    Sin entrar en detalles (aunque recomiendo que lo busques), a la r se le asigna un valor de 4, a la w de 2 y a la x de 1... si hay un - se le asigna 0.
    Luego para el propietario: rw- --> 420 --> sumamos: 6
    Para el grupo: r-- --> 400 --> 4
    En el caso de un archivo y el propietario con rwx --> 421 --> 7
    El valor máximo es 7, donde tenemos rwx.

    ¿Entonces que hacen las máscaras? Simplifican los permisos... pero restando... ¿Cómor?

    Cojamos un fichero con: rw-rw----, donde el owner tiene permisos de lectura y escritura, lo mismo el grupo, y el resto no tiene permisos (ni pueden leer siquiera).
    Pasemos a números: 420420000---> como hemos dicho ya, van de 3 en 3, luego --> 660
    Si aplicamos la máscara de fmask: (7-6)(7-6)(7-0) --> 117 --> fmask=117 (sí, lo se, no es el resultado del fstab . Te dejo para tí porqué escojo en el fstab un fmask=113).

    Ídem para un directorio: drwxrwxr-x --> 421421401 --> 775 --> (7-7)(7-7)(7-5) --> 002 --> dmask=002

    El resto de las deducciones te las dejo a tí.

    Ahora tema del arranque... Estamos en UEFI... todo lo que vas para Grub2 y esté basado en MBR/BIOS no te sirve... es otro paradigma.

    Primero asegura que tienes instalado el paquete os-prober, además de sus dependencias (que ahora no me acuerdo de memoria), si no no será posible detectar otros sistemas operativos, entre ellos Windows.

    Bien, en BIOS/MBR el gestor de arranque (Grub2 en el caso de Linux) se instalaba en el MBR del disco duro... pero en UEFI/GPT no, se instala en la partición EFI. De hecho hay un gestor de arranque por cada sistema operativo instalado, que suele ser un fichero del tipo .efi, y que se escoge desde el menú de arranque en la UEFI, y ahí depende de cada UEFI.

    Desde Linux, los gestores de arranque suelen estar en /boot/efi/EFI.
    Un ejemplo:
    Código:
    ls /boot/efi/EFI/
    Boot  manjaro  Microsoft
    Código:
    ls /boot/efi/EFI/Boot/
    bootx64.efi
    Código:
    ls /boot/efi/EFI/manjaro/
    grubx64.efi
    Código:
    ls /boot/efi/EFI/Microsoft/Boot/
    BCD       bootmgfw.efi  da-DK  es-ES  hr-HR  lt-LT        pl-PL      ro-RO       sr-Latn-RS  zh-HK
    BCD.LOG   bootmgr.efi   de-DE  et-EE  hu-HU  lv-LV        pt-BR      ru-RU       sv-SE       zh-TW
    BCD.LOG1  BOOTSTAT.DAT  el-GR  fi-FI  it-IT  memtest.efi  pt-PT      sk-SK       tr-TR
    BCD.LOG2  boot.stl      en-GB  Fonts  ja-JP  nb-NO        qps-ploc   sl-SI       uk-UA
    bg-BG     cs-CZ         en-US  fr-FR  ko-KR  nl-NL        Resources  sr-Latn-CS  zh-CN
    En mi caso, en la UEFI, me aparecen los gestores de Grub2 (manjaro) y Windows (Microsoft/Boot), y tengo definido como principal el de Linux, el cual lanza Grub2 y me deja escoger a Windows (detectado por os-prober al instalar Grub2). Como puedes ver, Microsoft es complicado para todo, de hecho las UEFI tienen preferencia por el boot de Microsoft, en concreto por el bootmgfw.efi.

    Como dices que no ves el arranque de Windows y en el fstab aparece sólo el sdb, voy a pensar que Windows está en el sda. Mira primero si desde la UEFI (¿F8?, aunque depende de la placa base) te aparece el gestor de arranque de Windows (puede llamarlo Windows, Microsoft o similar) (no toques los archivos de EFI, son sólo para mostrar la estructura).
    Si no, tendrás que ejecutar de nuevo la configuración e instalación del Grub2 (una vez instalado os-prober):
    Código:
    sudo grub-mkconfig -o /boot/grub/grub.cfg
    Código:
    sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=Linux-Mint
    Mira antes la estructura de tu /boot/efi.

    Al ejecutar el primer comando, grub-mkconfig, debería salir algo como Windows found.

    Si sale todo bien, debería salirte ahora el gestor de arranque en la UEFI (no el boot menu de la UEFI) y apuntar a Grub2, y este lanzarse y que salga Windows en una de las opciones.

    Siento el rollo... pero es que no es tan simple como puedes ver... aunque luego lo haces casi sin mirar.

    Suerte y un saludo.

    P.D.: Hace mucho que no pongo eso de que: Linux no es Windows.

    NOTA: He hecho algunas correcciones en la teoría... había cosas que no me cuadraban, creo que ahora sí estan bien... aunque si usaste lo propuesto debería, como creo que ha sido, funcionarte bien.
    Es que no me cuadraba que en base 2 saliera 3 directamente y me sonaba a ida de pinza lo de que la d sumase 1, todo a que los ficheros en Linux no suelen ser ejecutables (x,1), salvo que así sea necesario, mientras que los directorios siempre tienen que tener x (1) como permiso para poder acceder a ellos. Sorry.
    Última edición por el_angel_caido; 21/05/2019 a las 10:20 Razón: Correcciones.


  7. #7

    Predeterminado Re: Leer escribir en carpeta que no tiene privilegios

    Gracias por la respuesta, completísima !

    Ahora ya puedo escribir, crear, modificar archivos
    Imagen suprimida por ImagesHack.

  8. #8

    Predeterminado Re: Leer escribir en carpeta que no tiene privilegios

    Otra consulta y aprovecho el hilo.

    He reinstalado w10 en otro ssd de mi portatil en el que ya tengo en el segundo ssd linux mint.

    Ahora cuando arranco puedo elegir so solo a traves de la bios eligiendo el ssd de arranque sino cuando arranco el ssd de mint el grub no me da a elegir la opcion de w10 solo la de mint.

    Como puedo hacer para arreglar ese arranque y añadir w? Si toca reinstalar linux donde le indico que plante el gestor de arranque en el ssd de w o en el mint?

    Gracias
    Imagen suprimida por ImagesHack.

  9. #9

    Predeterminado Re: Leer escribir en carpeta que no tiene privilegios

    Ahora cuando arranco puedo elegir so solo a traves de la bios eligiendo el ssd de arranque sino cuando arranco el ssd de mint el grub no me da a elegir la opcion de w10 solo la de mint.

    Como puedo hacer para arreglar ese arranque y añadir w?
    Yo creo que se te arreglará simplemente ejecutando en una terminal de comandos:

    $ sudo update-grub2.

    Salu2.
    Haz el amor y no la guerra

  10. #10
    El señor de los forillos Avatar de el_angel_caido
    Ubicación
    En un lugar de Asturias de cuyo nombre no quiero acordarme...
    Edad
    44
    Mensajes
    4,697

    Predeterminado Re: Leer escribir en carpeta que no tiene privilegios

    Reholas.

    Primero, como ya he mencionado en mi otra "breve" respuesta, comprueba que tienes instalado os-prober (sudo apt-cache search os-prober o sudo aptitude search os-prober o con el gestor de paquetes (que no se si es Synaptic u otro, lo más parecido que utilizo es Debian, aunque hace tiempo que en los desktop me he pasado a Manjaro, tras años de usar OpenSUSE)).

    Si no lo tienes instalado, instálalo: sudo apt-get install os-prober o aptitude install os-prober o con el gestor de paquetes.

    Luego ejecútalo: sudo os-prober
    Debería salir algo como Found Windows y la unidad en la que está, algo del tipo /dev/sdxy.
    Creo, que no estoy seguro, que para que detecte a Windows, éste debe estar montado en el sistema Linux, lo que no tengo claro es si la partición montada debe ser la del propio Windows o la partición EFI que contenga el gestor de arranque bootmgfw.efi de Windows... tiene más sentido lo segundo, que en tu caso, casi seguro, que está en la segunda partición del disco que contiene Windows (normalmente la primera es la recovey, la segunda la EFI, la tercera la MSR y la cuarta la de sistema de Windows, C: para los amigos , mira la tabla de particiones del otro post).
    Normalmente instalo los sistemas en el mismo disco duro, por éso no estoy seguro de lo anterior, ya que mi partición EFI es común a todos los sistemas (bueno, Windows+Linux, el sistema UEFI complica el tener más de un Windows instalado con una misma EFI (todos los Windows en UEFI, si no me equivoco, tienen la misma estructura y usan el mismo nombre bootmgfw.efi), cosa que con BIOS se podía casi sin esfuerzo).

    Y, finalmente, ejecuta: sudo update-grub2

    Al entrar en el arranque del disco con Linux debería aparecer ahora la opción de escoger Windows.

    Si no funcionara lo anterior, debes entrar en el Linux y ejecutar los comandos que te puse en el otro post (grub-mkconfig y grub-install)... y esperar que la existencia de, casi seguro, dos particiones EFI/ESP (una por cada disco duro) no de problemas.

    Si quieres que arranque siempre el disco con Linux y la opción del arranque de Windows debes entrar en el modo avanzado de tu UEFI e indicar que arranque siempre desde el gestor de arranque de Linux. Eso ya no puedo decirte cómo hacerlo, cada UEFI es un mundo y dependerá de la placa, del fabricante, etc.

    Suerte y un saludo.


Página 1 de 2 12 ÚltimoÚltimo

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •