En todo caso, Linux los manejaría de manera diferente a OS X. OS X está certificado Unix, lo que significa que cumple con un cierto estándar de comportamiento. Linux es similar a Unix, pero no está certificado como Unix y no necesariamente cumple con el estándar Unix. Entonces, si hay diferencias (además del problema de la contraseña de root que se menciona en la respuesta de Aaron Lake), no se cumplen los implementadores de la distribución de Linux en cuestión.
alesplin
Respuestas:
21
OS X maneja sudoe suidénticamente a Linux.
sudoes un comando que, sin opciones adicionales, ejecutará un comando como root. Por ejemplo:
% touch /newfile
touch:/newfile:Permission denied
% ls -l /newfile
ls:/newfile:No such file or directory
% sudo touch /newfile
% ls -l /newfile
-rw-r--r--1 root wheel 0Apr2711:45/newfile
supor otro lado, cambiará al usuario actual a root (nuevamente sin ningún comando adicional). En el siguiente ejemplo, tengo que ejecutar sudo su, ya que no sé la contraseña de root para mi sistema:
% whoami
alake
% sudo su
$ whoami
root
La diferencia clave entre sudoy sues sudoejecuta un comando como root, mientras suque lo hace root. Al igual que otras utilidades de línea de comandos, hay varias formas alternativas de usar ambas sudoy su, si está interesado, siempre puede ejecutar, man <command>por ejemplo. man sudopara obtener más información
En términos simples del lenguaje sudopuede ser de como super user and do. Como punto adicional, en OS X, una vez que se haya autenticado con éxito, puede usar sudo sin contraseña por un corto tiempo (5 minutos por defecto, a menos que se anule sudoers) después de lo cual deberá volver a escribir la contraseña.
binarybob
1
el 'sin opciones adicionales' es un calificador bastante significativo ... ambos le permitirán convertirse en usuarios que no sean root ... por ejemplo, sudo su -lm _wwwle permitirá tener un shell como si fuera el usuario del servidor web (ejecutando el comando como root, como no tiene una contraseña válida)
Joe
2
@ Joe, consideré agregar esa información pero omití por brevedad. Como usted describe, sudoes una utilidad bastante robusta y cubrir incluso la funcionalidad básica aquí finalmente confundiría o abrumaría al público objetivo en busca de una diferenciación entre sudoy su.
Aaron Lake
"La diferencia clave entre sudo y su es que sudo ejecuta un comando como root, mientras que su te hace root" - false, sudo -sejecuta shell ("te hace root") y su -c commandejecuta command como root.
el.pescado
2
Nuevamente, por razones de brevedad, omití los muchos métodos alternativos de uso sudo. Además, no puede hacerlo su -c commandde manera predeterminada en OS X, ya que no conoce la contraseña de root. Sin embargo sudo su, puede cambiar la contraseña su -c command. Siento que la pregunta fue respondida, y no había necesidad de profundizar en los usos alternativos de sudo y su. Sin embargo, actualizaré la publicación para la gente curiosa.
Respuestas:
OS X maneja
sudo
esu
idénticamente a Linux.sudo
es un comando que, sin opciones adicionales, ejecutará un comando como root. Por ejemplo:su
por otro lado, cambiará al usuario actual a root (nuevamente sin ningún comando adicional). En el siguiente ejemplo, tengo que ejecutarsudo su
, ya que no sé la contraseña de root para mi sistema:La diferencia clave entre
sudo
ysu
essudo
ejecuta un comando como root, mientrassu
que lo hace root. Al igual que otras utilidades de línea de comandos, hay varias formas alternativas de usar ambassudo
ysu
, si está interesado, siempre puede ejecutar,man <command>
por ejemplo.man sudo
para obtener más informaciónfuente
sudo
puede ser de comosuper user and do
. Como punto adicional, en OS X, una vez que se haya autenticado con éxito, puede usar sudo sin contraseña por un corto tiempo (5 minutos por defecto, a menos que se anulesudoers
) después de lo cual deberá volver a escribir la contraseña.sudo su -lm _www
le permitirá tener un shell como si fuera el usuario del servidor web (ejecutando el comando como root, como no tiene una contraseña válida)sudo
es una utilidad bastante robusta y cubrir incluso la funcionalidad básica aquí finalmente confundiría o abrumaría al público objetivo en busca de una diferenciación entresudo
ysu
.sudo -s
ejecuta shell ("te hace root") ysu -c command
ejecuta command como root.sudo
. Además, no puede hacerlosu -c command
de manera predeterminada en OS X, ya que no conoce la contraseña de root. Sin embargosudo su
, puede cambiar la contraseñasu -c command
. Siento que la pregunta fue respondida, y no había necesidad de profundizar en los usos alternativos de sudo y su. Sin embargo, actualizaré la publicación para la gente curiosa.