sudo, “root” kullanıcı ayrıcalıklarına sahip tek bir komut çalışırtırırken; su, root kullanıcısının ayrıcalıklarıyla başka bir shell örneği (oturumu) başlatır. sudo ve su, farklı şekillerde kullanıcılara root yetkileri vermek için kullanılır.
Linux/Unix kullanıcıları terminalden sudo ve su komutlarını kullanarak root kullanıcı yetkisi gerektiren işlemleri yapmaktadır.
Sudo ile Su arasındaki Önemli Farklar
su komutu, süper kullanıcı veya root anlamına gelir. Ek seçenekleri ile Linux/Unix sistemlerinde kullanılır. Kullanıcı sadece root şifresini eklemek gerekiyor. su komutu ile root şifresini kullanarak başka bir kullanıcıdan root kullanıcısına erişmenize olanak sağlar. su komutu ile root kullanıcısına geçiş yaparsınız; sudo komutu ile root kullanıcı yetkisi ile bir komut çalıştırır, işlem yaparsınız. Örnek verecek olursak, terminalden su komutu verdiğinizde, sistem sizden sistemdeki en yetkili kullanıcı olan root kullanıcısının şifresini isteyecek; şifreyi girdiğinizde root kullanıcısı ile oturumunuza bu kullanıcı ile devam edersiniz ve bu kullacının tüm yetkilerine sahip olursunuz ve bu yetkiler ile istediğini işlemi yapabilirsiniz İşlemlerinizi tamamladıktan sonra, exit yazarak bu kullanıcı oturumundan çıkabilirsiniz. Genel olarak, su komutu ile amaçlanan, root kullanıcısının ayrıcalıklarıyla başka bir kabuk (shell) örneğini (oturumu) başlatmak.
Öte yandan sudo, root yetkisi/izinleri ile tek bir komutu çalıştırır. Bir kullanıcı, sudo ile bir komut çalıştırdığında geçerli kullanıcı hesabı parolasını girmek zorundadır. sudo yetkisini farklı kullanıcılara tanımlamak için yapılandırma dosyası (/etc /sudoers) kullanır.