1

Modificar .bash_aliases con Python

Así que he estado tratando de modificar .bash_aliases programáticamente por un tiempo, y he tenido problemas con cada método que he probado.

  • Ejecutar mi script usando sudo python3 myscript.py hace que el script modifique el archivo .bash_aliases del usuario root No puedo encontrar una manera de determinar qué usuario ejecutó el script para modificar su archivo.
  • Intentar usar un comando de shell como sudo echo "my string" >> ~/.bash_aliases obtiene un error: sh: 1: cannot create /home/migue/.bash_aliases: Permission denied , presumiblemente porque sudo no puede mostrar su contraseña preguntar cuando lo llamo programáticamente.
  • No puedo encontrar una manera de obtener permisos de root temporalmente después de determinar la ruta completa (es decir, expandir ~ ) del archivo.

Básicamente, me encantaría conocer cualquier método razonable para modificar y agregar a .bash_aliases través de un script de Python. No he encontrado ninguna pregunta sobre esto donde las soluciones funcionaron para mí.

Preferiría que este método no requiera ningún módulo no estándar, ya que instalarlos hará que el proceso sea menos fluido para las personas que usan el script.

Presentada July 24th 2021 por Admin

Respuestas
0

No puedo encontrar una manera de determinar qué usuario ejecutó el script para modificar su archivo.

Puede hacer referencia al archivo ~/.bash_aliases en su script y ejecutarlo sin sudo, a menos que su usuario actual sea root.

EDITAR: Simplemente necesita agregar privilegios de escritura a .bash_aliases para cada usuario al que pertenece.

Admin | hace 2 meses



Preguntas relevantes