Linux y el misterioso caso de los directorios que desaparecen (y reaparecen)

Linux y el misterioso caso de los directorios que desaparecen (y reaparecen)

Configuré mi primer servidor Ubuntu e inmediatamente inicié sesión (como myuser) para comenzar a personalizarlo. Voy /opty corro mkdir sandbox.

mkdir: No se puede crear el directorio 'sandbox': permiso denegado

¿¡¿Permiso denegado?!? Bueno. Así que ejecuto sudo -ie ingreso myuserla contraseña. Vuelva a ejecutar el mkdircomando y ¡listo! Se crea el directorio. Me desconecto.

Vuelvo a iniciar sesión myuser, navego /opty ejecuto ls: ¡nada! ¡No hay directorios visibles dentro /opt! ¿¡¿¡Qué!?!?

Entonces hago sudo nuevamente sudo -iy vuelvo a ejecutar ls.Ahorase ve sandbox/.

Creo que me faltan algunos conocimientos fundamentales de Linux con respecto a usuarios y raíces. Durante la configuración/instalación del servidor, me pidió que creara un usuario, lo cual hice ( myuser). IficticioEste también sería el usuario root (con privilegios de administrador completos), ya que no solo fue el usuario que creé durante la instalación, ¡sino que es el primer usuario en el sistema!

Entonces, ¿por qué myuserno puede?

  • ¿Crear directorios fuera de /home/myusersin hacer sudo?
  • Ver directorios creados en "modo sudo"

También soy vago sobre la diferencia entre sudoy suel rootusuario.

En última instancia, además de comprender completamente estos conceptos básicos, me gustaría tener instalado un montón de software de servidor /opt/sandbox/que pueda funcionar las 24 horas del día e interactuar con el sistema de archivos local. Ahora no estoy seguro de si debería instalar estas aplicaciones mientras estoy conectado simplemente como myuser, sudoed como myusero algo más.

Estos servidores están dentro de una LAN doméstica privada y segura, por lo que no necesito un "administrador real" ni controles de seguridad locos. Solo estoy configurando un entorno de desarrollo simple para una pequeña herramienta de software que estoy escribiendo. Gracias de antemano por cualquier ayuda con las preguntas anteriores.

Respuesta1

/opt por defecto es propiedad del usuario rooty del grupo root.

Pruebe l /y verá que la carpeta /opt es propiedad de " root root", que son el usuario y el grupo respectivamente.

Si realmente desea crear y modificar archivos dentro de /opt con un usuario no root, deberá crear una carpeta allí y modificar sus permisos para que un usuario no root pueda acceder libremente a ella.

Ejemplo:

sudo mkdir /opt/sandbox
sudo chown myuser:users /opt/sandbox

El primer comando crea la carpeta, pero es propiedad de rootun grupo. root
El segundo comando cambia la propiedad ( chown) a su nombre de usuario myusery lo convierte en parte del grupo users(del cual myuserforma parte).

Respuesta2

Entonces, ¿por qué myuser no puede: ...

Intentar

ls -l sandbox
getfacl sandbox

Si el resultado de estos no es claro o no explica lo que está viendo, corte y pegue el resultado en una edición de su pregunta.

También soy vago sobre la diferencia entre sudo, su y el usuario root.

sudole otorga privilegios elevados de root (es decir, administrador) para un solo comando. Hay un archivo de configuración para sudo en el que puedes controlar qué usuarios pueden hacer qué.

sule brinda privilegios elevados para múltiples comandos al brindarle una nueva sesión de shell con una identificación de usuario efectiva de root.

El usuario root es un usuario especial llamado root que puede ver en /etc/passwd. Hay aproximadamente una docena de usuarios más que siempre se encuentran en un sistema Unix o Linux. Las personas generalmente tienen una cuenta normal y la usan para todo el trabajo, excepto las acciones que requieren absolutamente privilegios de root (por ejemplo, instalar software para que lo utilicen todos los usuarios del sistema). Esto hace que sea más difícil para el malware hacer cosas malas y que a usted le resulte más difícil cometer errores irrecuperables.

Me gustaría tener instalado un montón de software de servidor

Me parece mejor utilizar el administrador de paquetes del sistema para instalar paquetes. Preferiría no crear carpetas en/opt a mano, esa sería mi última opción.

información relacionada