1 votos

PS1 establecido en -bash-3.2 $ después de usar chmod

Yo estaba siguiendo las instrucciones para instalar el WSJT-X (un software de radio) y que me tenía que mover un archivo de nombre sysctl.conf a mi escritorio y ejecutar los siguientes comandos de terminal:

  sudo cp $HOME/Desktop/sysctl.conf /etc/
  sudo chmod 664 /etc/sysctl.conf
  sudo chown  root:wheel  /etc/sysctl.conf

Después de ejecutar estos comandos, mi pantalla del terminal cambiado para parecerse a esto:

terminal pic

Mientras que antes mi nombre era antes de que el signo de dólar. También, mi fecha y la hora se muestran incorrectamente (set de 8 horas en el futuro). Por favor alguien puede ayudarme a encontrar lo que me hizo mal y cómo puedo solucionarlo?

Si ayuda, creo que inserta un espacio en el segundo orden, de modo que se convirtió en

sudo chmod 664 /etc/ sysctl.conf

2voto

Kamil Maciorowski Puntos 897

(Nota: soy un Linux chico y yo no tengo experiencia con macOS. Tome mi respuesta con un grano de sal).

Con sudo chmod 664 /etc/ quitó bit de ejecución desde el directorio y, en efecto, no se puede tener acceso (lectura, escritura) los elementos que viven dentro. Esto incluye (entre otros):

  • /etc/profile, donde el común PS1 se define,
  • /etc/localtime, /etc/timezone o lo que sea macOS usos.

Usted necesita sudo chmod 755 /etc a revertir esto. Por desgracia no hay acceso a la /etc/sudoers probablemente le impide hacer esto directamente. Si eres muy afortunado, usted todavía tiene un shell ejecuta como root (iniciado por el motivo que sea antes de que las cosas salieron mal) donde puedes invocar chmod 755 /etc sin sudo. Pero, probablemente, no eres tan afortunado.

Si surge el mismo problema en mi Kubuntu (no cifrado o tal), me gustaría arrancar Linux live USB, montar el sistema de archivos y revisión de los permisos. No sé si se puede arreglar fácilmente macOS "desde fuera" como esta.

Este (anciano) pregunta lidia con un problema similar donde sudo no funciona porque de mal permisos de /etc/sudoers. Posibles soluciones de las respuestas:

Este puede ser uno de los raros casos en que la ejecución de "Reparar los Permisos del Disco" desde la Utilidad de Discos en realidad podría estar justificada.

Si eso no funciona, siga [...] sugerencia de arranque en modo de usuario único para solucionarlo

Esto se ve prometedor:

Otro método es usar Automator.app.

Crear un nuevo flujo de trabajo que contiene algo como lo siguiente:

do shell script "chmod 0440 /etc/sudoers" with administrator privileges

Cuando se ejecuta, se te pedirá tu contraseña y (suponiendo que usted es un administrador) se van a solucionar.

Esto también funciona si usted ha desordenado de los permisos en un directorio padre (por ejemplo haciendo / algo distinto de 755).

Tenga en cuenta que usted necesita para chmod 755 /etc, por lo que no ciegamente pegar el código anterior. Su caso cae bajo "en mal estado los permisos de un directorio padre".

1voto

Nick Dixon Puntos 154

Usted necesita tener el +x de permisos en un directorio ("ejecutar/traverse") con el fin de acceder a cualquiera de los objetos de su interior, independientemente de tener permisos de lectura sobre los objetos directamente.

Su chmod 664 /etc comando eliminado mediante la configuración de permisos a u=rw,g=rw,o=r (que es lo que el número octal decodifica a), por lo que ahora 1) el shell no puede acceder a /etc/profile y /etc/bashrc, donde todo el sistema de PS1 configuración se mantiene; 2) el sistema no puede acceder a /etc/localtime o su macOS equivalente, donde el sistema de amplia zona horaria de parámetros se mantienen.

Uso chmod 775 o chmod a+x sobre el directorio a restaurar. (7 y 5 decodificar a =rwx y =rx.)

(En realidad no estoy seguro de si /etc se supone que el grupo con permisos de escritura, incluso en macOS, así que puede que desee chmod 755 lugar – o un chmod g-w.)

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: