Jika ada, Linux akan menangani mereka secara berbeda dari OS X. OS X bersertifikat Unix, yang berarti sesuai dengan standar perilaku tertentu. Linux mirip Unix, tetapi tidak bersertifikat Unix dan tidak selalu sesuai dengan standar Unix. Jadi jika ada perbedaan (selain masalah kata sandi root yang disebutkan dalam jawaban Aaron Lake), mereka tidak sesuai pada bagian dari pelaksana distribusi Linux tertentu yang dimaksud.
alesplin
Jawaban:
21
OS X menangani sudodan suidentik dengan Linux.
sudoadalah perintah yang, tanpa opsi tambahan, akan menjalankan perintah sebagai root. Sebagai contoh:
% 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
sudi sisi lain, akan mengalihkan pengguna saat ini ke root (lagi tanpa perintah tambahan). Dalam contoh di bawah ini, saya harus menjalankan sudo su, karena saya tidak tahu kata sandi root untuk sistem saya:
% whoami
alake
% sudo su
$ whoami
root
Perbedaan utama antara sudodan suadalah sudoberjalan perintah sebagai root, sedangkan sumerek Anda root. Sama seperti utilitas baris perintah lainnya, ada sejumlah cara alternatif untuk menggunakan keduanya sudodan su, jika Anda tertarik, Anda selalu dapat menjalankan man <command>mis. man sudountuk mendapatkan informasi lebih lanjut.
Dalam istilah bahasa yang sederhana sudobisa jadi sebagai super user and do. Sebagai poin tambahan, pada OS X, setelah Anda berhasil mengautentikasi, Anda dapat menggunakan sudo tanpa kata sandi untuk waktu yang singkat (5 menit secara default, kecuali diganti sudoers) setelah itu Anda harus mengetikkan kata sandi lagi.
binarybob
1
'tanpa opsi tambahan' adalah kualifikasi yang cukup signifikan ... mereka berdua akan membiarkan Anda menjadi pengguna selain root ... misalnya, sudo su -lm _wwwakan membiarkan Anda memiliki shell seolah-olah pengguna server web (dengan menjalankan perintah sebagai root, seperti tidak memiliki kata sandi yang valid)
Joe
2
@ Jo, saya mempertimbangkan untuk menambahkan informasi itu tetapi dihilangkan karena singkatnya. Seperti yang Anda jelaskan, sudoini adalah utilitas yang cukup kuat dan bahkan mencakup fungsionalitas dasar di sini pada akhirnya akan membingungkan atau membanjiri audiens target mencari perbedaan antara sudodan su.
Aaron Lake
"Perbedaan utama antara sudo dan su adalah sudo menjalankan perintah sebagai root, sedangkan su membuat Anda melakukan root" - false, sudo -smenjalankan shell ("membuat Anda melakukan root"), dan su -c commandmenjalankan perintah sebagai root.
el.pescado
2
Sekali lagi demi singkatnya, saya menghilangkan banyak metode alternatif untuk menggunakan sudo. Selain itu, Anda tidak dapat melakukan su -c commandsecara default pada OS X, karena Anda tidak tahu kata sandi root. Namun sudo su, Anda dapat mengubah kata sandi su -c command. Saya merasa bahwa pertanyaan itu terjawab, dan tidak perlu menyelam lebih dalam untuk menggunakan sudo dan su secara bergantian. Namun saya akan memperbarui posting untuk orang-orang yang penasaran.
Jawaban:
OS X menangani
sudo
dansu
identik dengan Linux.sudo
adalah perintah yang, tanpa opsi tambahan, akan menjalankan perintah sebagai root. Sebagai contoh:su
di sisi lain, akan mengalihkan pengguna saat ini ke root (lagi tanpa perintah tambahan). Dalam contoh di bawah ini, saya harus menjalankansudo su
, karena saya tidak tahu kata sandi root untuk sistem saya:Perbedaan utama antara
sudo
dansu
adalahsudo
berjalan perintah sebagai root, sedangkansu
merek Anda root. Sama seperti utilitas baris perintah lainnya, ada sejumlah cara alternatif untuk menggunakan keduanyasudo
dansu
, jika Anda tertarik, Anda selalu dapat menjalankanman <command>
mis.man sudo
untuk mendapatkan informasi lebih lanjut.sumber
sudo
bisa jadi sebagaisuper user and do
. Sebagai poin tambahan, pada OS X, setelah Anda berhasil mengautentikasi, Anda dapat menggunakan sudo tanpa kata sandi untuk waktu yang singkat (5 menit secara default, kecuali digantisudoers
) setelah itu Anda harus mengetikkan kata sandi lagi.sudo su -lm _www
akan membiarkan Anda memiliki shell seolah-olah pengguna server web (dengan menjalankan perintah sebagai root, seperti tidak memiliki kata sandi yang valid)sudo
ini adalah utilitas yang cukup kuat dan bahkan mencakup fungsionalitas dasar di sini pada akhirnya akan membingungkan atau membanjiri audiens target mencari perbedaan antarasudo
dansu
.sudo -s
menjalankan shell ("membuat Anda melakukan root"), dansu -c command
menjalankan perintah sebagai root.sudo
. Selain itu, Anda tidak dapat melakukansu -c command
secara default pada OS X, karena Anda tidak tahu kata sandi root. Namunsudo su
, Anda dapat mengubah kata sandisu -c command
. Saya merasa bahwa pertanyaan itu terjawab, dan tidak perlu menyelam lebih dalam untuk menggunakan sudo dan su secara bergantian. Namun saya akan memperbarui posting untuk orang-orang yang penasaran.