1. ¿Por qué no tienes una contraseña de root?
Mientras que usted puede crear una contraseña para la cuenta de superusuario lo que le permite conectarse como root con su
, vale la pena mencionar que esta no es la forma habitual de hacer las cosas con Ubuntu (o cada vez más, otras distribuciones también). Ubuntu optó por no dar un nombre de usuario y la contraseña root de forma predeterminada por una razón. En cambio, un defecto de instalación de Ubuntu usará sudo
para dar privilegios de superusuario. En una instalación de Ubuntu por defecto la persona que instaló el sistema operativo se da "sudo" permiso de forma predeterminada.
Cualquier persona con permiso total "sudo" puede llevar a cabo algo "como superusuario" por dejar pendiente con anterioridad sudo
a su mando. Por ejemplo, para ejecutar apt-get dist-upgrade
como superusuario, se puede utilizar:
sudo apt-get dist-upgrade
Verá este uso de sudo prácticamente en cualquier lugar donde lea un tutorial sobre Ubuntu en la web. Es una alternativa a hacer esto.
su
apt-get dist-upgrade
exit
Con sudo, usted elige de antemano qué usuarios tienen acceso a sudo. No es necesario que recuerden una contraseña de root, ya que usan su propia contraseña. Si tiene varios usuarios, puede revocar uno de acceso de superusuario al retirar su permiso sudo, sin necesidad de cambiar la contraseña de root y notificar a todo el mundo de una nueva contraseña. Incluso puede elegir qué comandos puede ejecutar un usuario usando sudo y qué comandos están prohibidos para ese usuario. Y, por último, si hay una violación de seguridad, en algunos casos puede dejar una mejor pista de auditoría que muestra qué cuenta de usuario se vio comprometida.
Sudo facilita la ejecución de un solo comando con privilegios de superusuario. Con su
, se deja caer permanentemente a un shell de superusuario que debe salir con exit
o logout
. Esto puede hacer que las personas permanezcan en el shell de superusuario por más tiempo del necesario solo porque es más conveniente que cerrar la sesión y volver a iniciarla más tarde.
Con sudo, todavía tiene la opción de abrir un shell de superusuario permanente (interactivo) con el comando:
sudo su
... y esto todavía se puede hacer sin ninguna contraseña de root, porque sudo
otorga privilegios de superusuario al su
comando.
Y de manera similar, en lugar de su -
un shell de inicio de sesión, puede usar sudo su -
o su acceso directo sudo -i
.
Sin embargo, al hacerlo, solo debe tener en cuenta que está actuando como superusuario para cada comando. Es un buen principio de seguridad no permanecer como superusuario por más tiempo del necesario, solo para disminuir la posibilidad de causar accidentalmente algún daño al sistema (sin él, solo puede dañar los archivos que posee su usuario).
Solo para aclarar, puede , si lo desea, dar al usuario root una contraseña que le permita iniciar sesión como root como se describe en la respuesta de @ Oli, si específicamente desea hacer las cosas de esta manera. Solo quería informarle sobre la convención de Ubuntu de preferir en su sudo
lugar y hacerle saber que hay una alternativa.
2. Los problemas con su comando chmod 777 -R
Su pregunta también tiene una segunda parte: sus problemas con el comando sudo chmod 777 -R foobs
.
En primer lugar, la siguiente advertencia indica un problema de seguridad potencialmente grave en su máquina:
sudo: /var/lib/sudo writable by non-owner (040777), should be mode 0700
Esto significa que en algún momento, se ha configurado /var/lib/sudo
para que se pueda escribir en todo el mundo. Me imagino que has hecho esto en algún momento usando un comando como sudo chmod 777 -R /
. Desafortunadamente, al hacer esto, probablemente haya roto todos los permisos de archivos en todo su sistema. Es poco probable que este sea el único archivo importante del sistema cuyos permisos se hayan modificado para poder escribirse en todo el mundo. Esencialmente, ahora tiene un sistema fácilmente pirateable, y la única forma fácil de recuperarlo sería reinstalarlo.
En segundo lugar, el comando que estaba usando:
sudo chmod 777 -R foobs
Al manipular archivos dentro de su directorio de inicio, en este caso ~/Desktop
, no debería tener que usar sudo
. De todos modos, todos los archivos que cree en su directorio de inicio deben ser modificables por usted (y si no, está sucediendo algo gracioso).
Además, debe ser plenamente consciente de las consecuencias de cambiar los permisos de archivos en masa, como hacerlo de forma recursiva o en una gran cantidad de archivos. En este caso, está cambiando cuidadosamente los permisos de archivos configurados para que se puedan escribir en todo el mundo. Cualquier otro usuario, o cualquier software de servidor con errores en la máquina, puede tener acceso fácil para sobrescribir todos estos archivos y directorios.
Es casi seguro que chmod 777 -R [dir]
es no una solución apropiada para cualquier problema que estaban tratando de resolver (y como he mencionado anteriormente, hay evidencia de que ha hecho a los archivos del sistema en / var / lib también, y supongo que a mucha otra lugares).
Un par de reglas básicas:
Si solo está jugando con sus propios archivos en su directorio personal, escritorio, etc., nunca debería necesitar usar sudo
derechos de superusuario. Si lo hace, es una señal de advertencia de que está haciendo algo mal.
Nunca debe modificar manualmente los archivos del sistema propiedad de los paquetes. Excepción: a menos que lo esté haciendo específicamente en formas documentadas por esos paquetes, como modificando su configuración en /etc
. Esto también se aplica al cambio de permisos de archivos. Si un tutorial o un intento de solucionar el problema requiere sudo
o derechos de superusuario, y no se trata simplemente de un cambio en una configuración en / etc /, es una señal de advertencia de que está haciendo algo mal.
chmod -R 777 whatever
, a menos que quiera causar un gran riesgo de seguridad.