Mengapa Debian mengatur shell login sinkronisasi pengguna ke / bin / sync?

14

syncadalah salah satu akun pengguna yang dibuat oleh Debian sendiri. Saya bertanya-tanya mengapa Debian mengatur shell loginnya /bin/syncsebagai ganti /bin/false. Bagaimana cara Debian menggunakan akun pengguna ini?

Cyker
sumber

Jawaban:

24

Ini didokumentasikan dalam /usr/share/doc/base-passwd/users-and-groups.txt.gz:

sinkronkan

Shell dari pengguna syncadalah /bin/sync. Jadi, jika kata sandinya diatur ke sesuatu yang mudah ditebak (seperti ""), siapa pun dapat menyinkronkan sistem di konsol bahkan jika mereka tidak memiliki akun di sistem.

Ini benar-benar artefak sejarah, saya tidak akan mengharapkan syncpengguna untuk diatur dengan cara ini saat ini. Di masa lalu akan sangat berguna untuk memiliki pengguna sedemikian sehingga orang dengan akses fisik ke konsol ( misalnya di ruang server atau lab yang penuh dengan workstation, seperti yang Anda temukan di universitas) dapat mengurangi risiko kehilangan data saat mematikan sistem (untuk memulihkan dari proses jahat atau hanya menggunakan workstation, jika telah dibiarkan terkunci oleh pengguna sebelumnya). Sistem unix sebelum Debian cenderung memiliki syncpengguna dan shutdownpengguna yang dengannya Anda benar-benar dapat mematikan sistem dengan benar tanpa mengetahui rootkata sandi. (Di SPARCstations Sun kami, kami baru saja STOPA boot...)

Perlu dicatat, seperti yang disebutkan oleh Peter Cordes , bahwa mekanisme lain tersedia pada banyak sistem untuk memastikan shutdown aman atau reboot dari konsol tanpa dapat mengotentikasi sebagai root: Peristiwa ACPI dipicu dengan menekan sakelar daya (yang mengarah ke shutdown bersih), atau CtrlAltDel(yang mengarah ke reboot bersih). AltSysRqdapat digunakan sebagai upaya terakhir untuk menyinkronkan, membunuh, meng-unmount dan me-reboot, tetapi ini bukan reboot yang bersih. Seperti yang disebutkan oleh JdeBP , memiliki syncpengguna adalah ide yang sangat tua, setidaknya sejak awal 1980-an.

Stephen Kitt
sumber
4
Pengguna tidak diharapkan melakukan apa pun. Admin dapat mengatur sistem dengan cara ini, jika mereka mau. Konteks historis relevan di sini: pada saat syncpengguna ditambahkan, kombo Alt + SysRq tidak ada, dan sistem Linux lebih cenderung menjadi server di suatu tempat atau sistem bersama di lab, daripada laptop pengguna tunggal atau desktop. Itu berguna untuk memberikan cara orang-orang dengan akses ke konsol dapat dengan aman mempersiapkan sistem untuk shutdown yang tidak bersih, sehingga mereka dapat mem-boot ulang sistem tanpa memiliki akses root sambil mengurangi risiko kehilangan data.
Stephen Kitt
2
Layak menunjukkan bahwa alih-alih memiliki shutdownakun, instalasi default dari beberapa (banyak?) Distro Linux diatur sedemikian rupa sehingga ctrl + alt + f1 (untuk sampai ke konsol teks jika VT saat ini menjalankan layar login grafis) diikuti oleh ctrl + alt + del memicu shutdown -r nowatau setara. Jadi akses fisik = kemampuan untuk memicu reboot bersih, bahkan tanpa SysRQ.
Peter Cordes
1
@PeterCordes perhatikan "Unix systems before Debian" - ini adalah pra-1993 ;-). Tapi ya, pada sistem saat ini sering ada cara lain untuk melakukan sesuatu tanpa menggunakan syncatau shutdownpengguna. (Untuk menjadi sangat pemilih, banyak distro Linux memiliki DM pada VT1 saat ini. Beberapa bahkan tidak memiliki VT teks lagi!)
Stephen Kitt
1
kembali ketika syncpengguna ditambahkan ... Linux sebagai ide tidak ada. Konvensi ini kembali ke awal 1980-an, setidaknya.
JdeBP
1
Anda harus ingat beberapa sistem ini berasal dari zaman sebelum komputer "pribadi". Dengan demikian sinkronisasi dapat untuk merekam atau media berjalan lambat yang mengerikan lainnya, seperti token ring, disket. Pada saat yang sama sistem ini cukup "rapuh" sehingga siklus daya dapat merusaknya. Jadi jika UPS Anda mengatakan 5 menit sampai padam, Anda mematikan, dan melewatkan sinkronisasi, jangan sampai Anda merusak mesin jutaan dolar. Masalah-masalah ini sebagian besar tidak ada lagi.
coteyr