Pertanyaan Apa yang dilakukan oleh layanan sudo?


Sejauh yang saya tahu dan sepertinya itu orang lain memiliki pendapat yang sama  sudo adalah perintah yang mengeksekusi sesuatu dengan hak akses administratif.

Namun ketika saya berlari rcconf Saya dapat melihat baris ini:

[*] sudo    Provide limited super user privileges to specific users

Jadi apa gunanya dengan layanan ini? Atau apakah ini bahkan sebuah layanan?


17
2017-12-12 13:21


asal


Ini yang saya temukan saat mencari google->Sudo - adi
"Di sinilah sudo datang - memungkinkan pengguna yang berwenang (biasanya pengguna" Administratif "; untuk informasi lebih lanjut silakan merujuk ke AddUsersHowto) untuk menjalankan program tertentu sebagai Root tanpa harus mengetahui kata sandi root." - Itulah tepatnya yang saya katakan dalam pertanyaan saya. - s3v3n
Pertanyaannya adalah tentang layanan, bukan perintah - s3v3n


Jawaban:


Jawaban singkat

Untuk mencabut tindakan otentikasi 'cache' pengguna saat reboot. Ini bukan daemon, hanya skrip yang dijalankan saat boot.


Jawaban luas

Dengan memeriksa file init /etc/init.d/sudo bahwa 'memulai layanan', Anda dapat dengan mudah melihat apa yang dilakukannya:

case "$1" in
  start)
        # make sure privileges don't persist across reboots
        if [ -d /var/lib/sudo ]
        then
                find /var/lib/sudo -exec touch -t 198501010000 '{}' \;
        fi
        ;;
  stop|reload|restart|force-reload)
        ;;
  *)
        echo "Usage: $N {start|stop|restart|force-reload}" >&2
        exit 1
        ;;
esac

Jadi, pada dasarnya, itu hanya menyentuh beberapa file /var/lib/sudo pada awal sistem untuk memilikinya timestamp modifikasi yang sangat lama. Akibatnya, tindakan otentikasi 'cache' yang diberikan dicabut pada awal layanan (yang terjadi saat boot).

Beberapa detail lebih lanjut tentang /var/lib/sudo direktori dan perangko waktu itu, tolong? Yah, dari peta sudo(8):

[...]
Once a user has been authenticated, a time stamp is updated and the
user may then use sudo without a password for a short period of time
(15 minutes unless overridden in sudoers).
[...]
Since time stamp files live in the file system, they can outlive a
user's login session.  As a result, a user may be able to login, run a
command with sudo after authenticating, logout, login again, and run
sudo without authenticating so long as the time stamp file's
modification time is within 15 minutes (or whatever the timeout is set
to in sudoers).
[...]
/var/lib/sudo           Directory containing time stamps

21
2017-12-12 14:35



Jawaban sempurna :) - s3v3n


Itu sudo ada file layanan untuk memastikan bahwa hak istimewa yang disebut tidak tinggal setelah reboot. Pada dasarnya ini menjamin bahwa setelah reboot, pengguna normal yang meminta izin root akan tetap sebagai pengguna normal.


Penjelasan rinci tentang sudo

Semua penjelasan di bawah ini adalah untuk mendapatkan semua informasi untuk semua orang yang membaca pertanyaan ini dan kemudian menjelaskan apa yang file sudo dalam folder layanan lakukan di sana.

Ketika Anda menginstal Ubuntu atau distro lain yang menggunakan sudo perbedaan antara menjadi akar dan menjadi pengguna yang menggunakan sudo untuk mendapatkan hak istimewa "root like" (Administrasi atau super user Privileges) adalah sebagai berikut:

Sebagai root

  • Anda tidak dimintai kata sandi untuk setiap atau semua perintah yang Anda jalankan dalam satu sesi
  • Tidak semua perintah yang Anda jalankan akan dicatat secara default
  • Sistem menganggap Anda tahu apa yang Anda lakukan (Alasan mengapa tidak meminta kata sandi setiap kali Anda menjalankan perintah)
  • Tidak ada kesempatan kedua atau pilihan menit terakhir jika Anda melakukan kesalahan

Seperti sudo

  • Anda dimintai kata sandi untuk setiap atau semua perintah yang Anda jalankan dalam satu sesi. Sebagai contoh jika Anda membuka terminal dan menjalankan perintah yang membutuhkan hak akses administratif, ia akan menanyakan kata sandi satu kali untuk sesi itu sampai Anda menutup terminal atau keluar. Ini bervariasi tergantung pada perintah apa yang Anda gunakan dan di mana. Mungkin bertanya sekali atau beberapa kali.
  • Semua perintah yang Anda jalankan akan dicatat karena Anda sebenarnya meminta izin untuk menggunakan perintah istimewa pengguna super.
  • Sistem mengasumsikan Anda meminta izin sementara dan hak administratif akan dipinjamkan sementara (Sampai Anda keluar, menutup terminal, dll.)
  • Anda memiliki opsi menit terakhir untuk memperbaiki kesalahan apa pun. Ini dilakukan pada saat Anda diminta untuk memasukkan kata sandi.

Mengapa SUDO Created

Penciptaan SUDO dilakukan karena di masa lalu, menggunakan root menciptakan lebih banyak masalah daripada solusi. Pengguna memiliki semua hak, yang berarti bahwa jika mereka melakukan pembersihan musim semi dan benar-benar menghapus /usr, /lib dan /bin folder (karena mereka pikir mereka tidak membutuhkannya) .. tebak apa yang akan terjadi. Banyak masalah di masa lalu karena pengguna tidak tahu kekuatan yang mereka miliki saat menggunakan root. Pada dasarnya mereka memiliki root tetapi tidak mengerti Linux, hirarki sistem file, file apa yang penting, dll. (Sesuatu seperti memiliki ferrari dan tidak tahu cara mengemudi ... di jalan raya!)

SUDO juga digunakan oleh aplikasi GUI (Seperti Update Manager) ketika mereka membutuhkan hak administratif sementara untuk melakukan sesuatu. Mereka hanya membutuhkannya untuk sejumlah perintah tertentu (Biasanya 1) dan kemudian mereka kembali ke hak istimewa tingkat pengguna. Ini untuk menghindari hak akses root sepanjang waktu dan untuk menghindari membuat kesalahan jika pengguna memutuskan untuk menghapus beberapa bagian penting dari sistem.

Selain itu memberikan keamanan yang lebih baik karena pengguna root dinonaktifkan secara default.

Terakhir, jika Anda memiliki PC Desktop atau Server, Anda benar-benar tidak ingin semua orang menjadi root, atau memiliki semua hak istimewa admin. Ide yang sangat buruk jika adikmu atau saudara kecil mulai bertanya-tanya apa yang akan terjadi jika /boot bertemu DEL kunci. Di sinilah sudo datang untuk mengurangi peluang terjadi sesuatu yang buruk.

Apa yang terjadi Berikan hak istimewa pengguna super terbatas kepada pengguna tertentu berarti?

sudo user atau sudoers sebenarnya memiliki file konfigurasi yang memberi tahu mereka seberapa terbatas atau membuka perintah sudo untuk pengguna tertentu. Berkas /etc/sudoers memiliki semua informasi untuk membatasi atau memberikan akses ke pengguna sudo. Secara default ini dilengkapi dengan akses ke semua, tetapi Anda dapat mengkonfigurasi atau membatasi ini sesuai keinginan.

Untuk informasi tentang cara menggunakan jenis file sudoers man sudoers di terminal. Misalnya format normal adalah:

USER HOST = COMMANDS

Sebagai contoh cyrex server1 = /bin/ls akan memberikan pengguna cyrex di server1 akses host untuk menjalankan perintah ls.

Sebagai contoh cyrex server1 (root) = /bin/ls akan memberikan pengguna cyrex di server1 akses host untuk menjalankan perintah ls sebagai root.

Sebagai contoh cyrex ALL = /bin/ls akan memberikan pengguna cyrex di semua akses host untuk menjalankan perintah ls.

Sebagai contoh cyrex ALL = ALL akan memberikan pengguna cyrex di semua akses host untuk menjalankan semua perintah.

Sebagai contoh luis ALL=(root) NOPASSWD: /bin/kill, /usr/bin/killall akan memungkinkan saya menjalankan sudo untuk kill dan killall perintah sebagai root tanpa meminta kata sandi.

enter image description here


12
2017-12-12 13:58



Dia tahu tentang apa yang dilakukan perintah sudo. Pertanyaannya adalah tentang layanan sistem untuk sudo. - gertvdijk
@gertvdijk - Saya harus terlebih dahulu menjelaskan dasar-dasar, karena tidak hanya dia yang akan melihat pertanyaan ini. Bagian terakhir termasuk satu-satunya alasan yang saya lihat untuk file sudo dalam folder layanan. - Luis Alvarado♦
Terima kasih Luis Alvarado - The Wolver untuk informasi yang begitu luas dan terima kasih untuk modifikasi yang lucu xkcd mengacu pada !! operator bang bang, tapi apa yang dilakukan layanan (BUKAN perintahnya) sudo tidak? Akan sangat bagus jika Anda dapat memperbarui jawaban Anda untuk benar-benar menjawab pertanyaan itu. - s3v3n
Sedikit berlebihan untuk menjelaskan semua itu hanya untuk sebuah kalimat pada akhirnya, tetapi itu menjawab pertanyaan saya;) - s3v3n
@ LuisAlvarado-TheWolverine Haha, hak Anda. Sudah bagus bahwa Anda merespon saya ya saya lakukan.. Terima kasih - Lucio