Mengapa saya harus menggunakan sudo untuk hampir semua hal?


64

Jika saya memahami filosofi Linux dengan benar, sudoharus digunakan dengan hemat, dan sebagian besar operasi harus dilakukan sebagai pengguna yang kurang beruntung. Tapi itu sepertinya tidak masuk akal, karena saya selalu harus memasukkan sudo, apakah saya mengelola paket, mengedit file konfigurasi, menginstal program dari sumber, atau apa pun yang Anda miliki. Ini bahkan bukan hal teknis, hanya apa saja yang dilakukan pengguna biasa.

Ini sangat mengingatkan saya pada Window's UAC, yang orang nonaktifkan, atau konfigurasikan untuk tidak memerlukan kata sandi (cukup klik). Selain itu, banyak pengguna Windows adalah akun administrator juga.

Juga, saya telah melihat beberapa orang menampilkan perintah yang memerlukan sudohak istimewa tanpa sudo. Apakah mereka memiliki sistem yang dikonfigurasi sedemikian rupa sehingga sudotidak diperlukan?


25
Anda perlu menggunakannya sudountuk melakukan apa saja yang melibatkan perubahan sistem, jika Anda hanya mengoperasikan file / desktop Anda sendiri, Anda tidak memengaruhi orang lain sehingga tidak perlu hak istimewa yang lebih tinggi. Jika Anda menjalankan perintah istimewa tanpa sudo, Anda mungkin sudah menjadi pengguna super (yaitu, root) dan itu biasanya kurang disarankan daripada menggunakan sudo untuk tugas
Eric Renouf

75
"menginstal program dari sumber ... apa pun yang dilakukan pengguna biasa" --- Saya pikir Anda melebih-lebihkan keterampilan teknis pengguna biasa.
Jonathan Cast

7
Apakah Anda menggunakan sudosaat Anda tidak seharusnya? Perintah Unix user biasa harus sebagian besar terdiri dari cd, ls, memindahkan file, menyalin, menghapus, dan mengedit mereka memiliki akses ke. Jika perintah biasa tidak terdiri dari ini, Anda mungkin bukan pengguna Unix biasa.
user530873

20
Kiat kecil: Jika Anda melakukan sesuatu yang memerlukan sudo tetapi lupa memasukkan sudo dalam perintah Anda, Anda dapat menggunakan sudo !!untuk menjalankan kembali perintah terakhir yang Anda ketikkan dengan sudo di depan.
asfallows

6
Apakah Anda tidak menghabiskan sebagian besar waktu Anda menggunakan perangkat lunak yang telah Anda instal? Itu seharusnya tidak melibatkan sudo. Jika tidak, mengapa Anda menginstalnya?
Stop Harming Monica

Jawaban:


75

Anda menyebutkan fungsi administrasi sistem ini

mengelola paket, mengedit file konfigurasi, menginstal program dari sumber

sebagai hal yang

apa pun yang dilakukan pengguna biasa

Dalam sistem multiuser tipikal ini bukan tindakan pengguna biasa; seorang administrator sistem akan khawatir tentang ini. Pengguna biasa (bukan "di bawah hak istimewa") kemudian dapat menggunakan sistem tanpa khawatir tentang pemeliharaannya.

Pada sistem rumah, ya, Anda akhirnya harus mengelola sistem serta menggunakannya.

Apakah benar-benar kesulitan untuk digunakan sudo? Ingat bahwa jika itu hanya sistem Anda, tidak ada alasan mengapa Anda tidak dapat menggunakan rootshell ( sudo -s- lihat posting ini untuk ikhtisar berbagai cara mendapatkan shell root) dan / atau konfigurasikan sudountuk tidak meminta kata sandi.


47
tidak ada alasan mengapa Anda tidak dapat [...] mengonfigurasi sudo untuk tidak meminta kata sandi. Saya tidak akan merekomendasikan itu, jika Anda meluncurkan skrip berbahaya itu akan dapat bertindak sebagai root pada sistem Anda.
AL

5
Jika memasukkan kata sandi sudo sangat mengganggu Anda sehingga pada dasarnya Anda mengarahkan secara otomatis entri kata sandi itu juga tidak akan membantu. Anda harus menyeimbangkan kewarasan dengan keamanan. Saya sudah pilot otomatis sudo menghapus potongan utama dari OS setidaknya sekali.
Nelson

33
Secara pribadi saya suka sudo- itu seperti cek kewarasan.
Max Williams

6
@ MaxWilliams, ya persis, itu sedikit penutup plastik bening di atas tombol merah besar yang bertanya, eh, apakah Anda yakin Anda tahu apa yang Anda lakukan?
KlaymenDK

15
@AL: Jika saya akan menjalankan skrip yang tidak dikenal, lebih baik tidak berbahaya atau saya mengacaukan apakah itu menjalankan sudo atau tidak. Di desktop pribadi saya, itu adalah data (non-root) saya sendiri yang penting, bukan konfigurasi (root) mesin itu sendiri.
jrw32982 mendukung Monica

31

Sudo / Root digunakan setiap kali Anda melakukan sesuatu yang pengguna standar seharusnya tidak memiliki kemampuan melakukan untuk risiko merusak / mengubah konfigurasi sistem dengan cara yang biasanya tidak diizinkan oleh Administrator sistem.

apakah saya mengelola paket, mengedit file konfigurasi, menginstal program dari sumber, atau apa pun.

Semua itu adalah fungsi admin secara teknis, dan dapat secara drastis merusak sistem Anda jika terjadi kesalahan. Dalam lingkungan perusahaan, sebagai Sysadmin, itu adalah hal-hal yang TIDAK AKU akan biarkan pengguna saya lakukan tanpa sepengetahuan saya, karenanya sudo.

Sebagai contoh, jika file paket / config dapat dimodifikasi tanpa peningkatan hak, maka akan sangat sederhana untuk sumber luar untuk hanya menjalankan kode jarak jauh yang dapat merusak / membahayakan sistem Anda. Dengan memaksa tindakan-tindakan tersebut untuk memerlukan akses root, itu memaksa Anda sebagai pengguna untuk membuat keputusan tentang apakah tindakan-tindakan tersebut terjadi atau tidak.

Ini sangat mirip UACdengan windows, itu sebenarnya di mana windows mendapat ide UAC.

Kutipan yang Anda terima pertama kali menggunakan sudo sangat pas, dan sangat penting:

Kami percaya Anda telah menerima kuliah biasa dari Administrator Sistem setempat. Biasanya bermuara pada tiga hal ini:

#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.

Terutama # 2, Pikirkan sebelum Anda mengetik. Itu adalah alasan penting sudo ada, ketika Anda mengetik perintah dan menendang kembali "harus menjadi root untuk melakukan tindakan ini" itu memaksa Anda untuk berhenti dan BERPIKIR tentang apa yang sebenarnya Anda lakukan.


19

Juga, saya telah melihat beberapa orang menampilkan perintah yang memerlukan sudohak istimewa tanpa sudo. Apakah mereka memiliki sistem yang dikonfigurasi sedemikian rupa sehingga sudotidak diperlukan?

Anda harus mengeksekusi perintah-perintah itu sebagai superuser, tetapi Anda tidak harus mengeksekusi menggunakan sudo. Sebagai contoh, Anda dapat menggunakan suatau doas(pengganti OpenBSDs sudo), atau Anda dapat login sebagai root.

Jadi jika mereka menampilkan perintah mereka di sini tanpa sudomereka menganggap bahwa pembaca hanya akan menggunakan cara favoritnya untuk mengeksekusi perintah-perintah itu sebagai superuser.
Ini tentu saja tidak berarti bahwa mereka dapat menjalankan perintah tersebut sebagai pengguna normal.


4
Anda juga dapat menggunakan sudo -iatau serupa untuk mendapatkan shell root dan kemudian mulai menjalankan perintah root Anda tanpa harus mengantaranya masing-masing dengansudo
cas

2
Biasanya langkah yang perlu dijalankan sebagai root ditunjukkan dengan misalnya akar yang cepat # vi /etc/hostsbukan prompt unprivileged $ vi /etc/hosts(Bash akan mengikuti konvensi jika Anda menggunakan \$dalam PS1)
Gert van den Berg

16

Salah satu fitur keamanan yang ditawarkan oleh sudoadalah Anda dapat memiliki sistem tanpa rootkata sandi , sehingga rootpengguna tidak dapat masuk secara langsung. Ini menawarkan perlindungan tambahan bagi pengguna yang memilih kata sandi yang lemah - penyerang yang mencoba memaksa paksa kata sandi (melalui SSH atau yang lain) harus terlebih dahulu menentukan nama pengguna yang valid.

Aspek lain adalah manajemen hak istimewa yang lebih halus. Pikirkan make; sudo make installvs lakukan make; make installsebagai root. Banyak hal yang bisa salah selama make. Alat yang dikonfigurasi dengan buruk dapat mencoba untuk menimpa file sistem yang penting, "bersihkan" /libdaripada direktori saat ini, konsumsi semua RAM yang tersedia dan gantung sistem, dll. make installAdalah tindakan sederhana kecil dengan kemungkinan yang jauh lebih kecil untuk kesalahan fatal.


1
Dan bahkan jika kata sandi root dikonfigurasi, itu memungkinkan Anda untuk memberikan pengguna akses ke perintah yang membutuhkan hak root tanpa memberi mereka kata sandi root, yang berarti bahwa jika itu adalah server perusahaan dan mereka dipecat, Anda hanya perlu menonaktifkan pengguna mereka , tanpa harus mengubah kata sandi root.
Gert van den Berg

13

Intinya adalah bahwa secara historis suatu sistem benar-benar dimaksudkan untuk dibagikan oleh banyak pengguna yang baru saja masuk, melakukan beberapa hal dan kemudian keluar. Demikian perbedaan antara admin dan pengguna normal. Sistem seperti itu masih ada di laboratorium universitas dan Anda dapat merasakan perbedaannya dengan tajam jika Anda menggunakan komputer tersebut. PC rumah di mana Anda adalah satu-satunya pengguna dan kebetulan juga harus bertindak sebagai admin sebenarnya adalah pengembangan yang jauh di kemudian hari.


6
"Masih ada di laboratorium universitas" ... ya, dan setiap perusahaan yang berpusat pada teknologi di planet ini, dan sebagian besar yang non-teknis juga. Namun, +1 untuk memberikan perbedaan yang pasti bahwa OP jelas tidak ada, dan sebagian besar penjawab lain gagal untuk menekankan.
Wildcard

@Wildcard Lol yakin. Masukkan saja contoh yang langsung melompat di kepala saya, saya kira.
xji

10

Komputer adalah alat. Mari kita coba analogi dengan alat lain, katakanlah wajan. Terkadang, Anda harus menjaga wajan Anda. Misalnya, Anda harus membersihkannya dengan sabun cuci piring. Apakah Anda akan mengatakan bahwa sabun cuci piring merupakan bahan wajib dari setiap resep yang Anda gunakan untuk penggorengan? Anda tidak akan pernah melihat "sabun cuci piring" terdaftar sebagai bahan dalam buku memasak. Itu diperlukan, tetapi persiapan alat adalah masalah lain, jadi buku memasak tidak menyebutkannya. Wajan harus dibersihkan, tetapi bukan untuk apa wajinya.

Ini sama untuk komputer Anda. Itu harus dikonfigurasi dan diurus, tetapi bukan untuk apa itu dibuat. Anda merawatnya, Anda mengkonfigurasinya, sehingga dapat bekerja dengan baik. Setelah ini selesai, Anda dapat menggunakannya, bukan sebagai administrator sistem, tetapi sebagai pengguna. Untuk itulah dibuat. Saat Anda seorang pengguna, Anda tidak perlu sudo lagi. Cukup gunakan alat yang Anda siapkan sebelumnya. Tentu saja, dari waktu ke waktu, Anda harus menggunakan hak root, sama seperti Anda harus membersihkan wajan sesering yang Anda gunakan untuk memasak.

Jadi tanpa melebih-lebihkan terlalu banyak, kita dapat mengatakan bahwa Anda tidak perlu sudo (atau kata sandi root) untuk menggunakan komputer Anda. Hanya untuk menyiapkan komputer Anda.


2
Analogi yang bagus, tetapi kadang-kadang Anda membutuhkan sabun itu untuk mengeluarkan sisa-sisa gosong jahat dari wajan Anda sebelum Anda menggoreng telur orak-arik Anda, yaitu kedua hal itu terhubung dengan mudah. Dengan komputer yang Anda miliki, Anda dapat "mencuci" / "menggorengnya" dengan segera sudoatau Anda hanya perlu master chef dan mengerjakannya su.
Armfoot

Sepertinya Anda harus membutuhkan akses root untuk memasak, karena ini lebih berbahaya.
deltaray

6

Saya yakin itu karena Anda menggunakan perangkat lunak GUI untuk semua hal kecuali tugas administrasi sistem, atau Anda berbicara tentang server Linux, dalam hal ini sebagian besar akses secara alami akan menjadi administrasi sistem. Oleh karena itu mungkin terasa seperti melakukan apa saja di shell memerlukansudo .

Dimungkinkan juga untuk menggunakan shell untuk tugas sehari-hari Anda. Mengelola file pribadi Anda di~ , mengedit file, mengobrol di IRC, menyusun kode, menjelajah web, semua itu bisa dilakukan dalam sebuah shell. Saya bahkan menggunakan bckalkulator masuk saya. Beberapa hal lebih mudah dilakukan melalui GUI, beberapa hal lebih mudah dilakukan melalui shell - bahkan jika Anda lebih suka menggunakan GUI, shell akan sering unggul dalam operasi batch dan otomatisasi (pikirkan skrip shell). Secara pribadi saya menggunakan mana yang terbaik untuk tugas yang ada.

Dalam beberapa kasus itu ide yang baik untuk mengatur sistem Anda sehingga Anda tidak perlu menggunakannya sudo setiap waktu untuk operasi yang secara default memerlukan root tetapi tidak mungkin menyebabkan masalah. Salah satu contoh adalah bahwa saya bekerja dengan perangkat keras yang melibatkan penggunaan port serial, dan saya telah menyiapkan aturan udev untuk memberikan akses ke perangkat sebagai pengguna biasa saya tanpa harus menjadi root.

Saya tidak berpikir itu ide yang baik untuk dikonfigurasi sudo agar tidak memerlukan kata sandi. Itu membuatnya terlalu mudah untuk mengacaukan seluruh sistem Anda dengan satu perintah salah ketik atau skrip berbahaya.

Jika Anda perlu melakukan tugas yang benar-benar membutuhkan root sepanjang waktu, mengapa tidak membiarkan sudo -sshell root persisten berjalan di jendela terminal? Maka itu akan tersedia tanpa harus mengetikkan kata sandi, dan itu tidak mudah digunakan secara tidak sengaja. Saya bahkan mengatur shell prompt saya menjadi merah terang ketika di shell root.


5

[...] Tapi itu sepertinya tidak masuk akal, karena saya selalu harus memasukkan sudo, apakah saya mengelola paket, mengedit file konfigurasi, menginstal program dari sumber, atau apa pun. [...]

Kata sifat tersirat terkait dengan semua ini adalah bahwa mereka adalah perubahan sistem atau global . Anda harus mempertimbangkan asal-usul Unix sebagai sistem multi-pengguna 1 di mana beberapa pengguna akan menggunakan instalasi yang sama dari jarak jauh. Tidak masuk akal bagi satu pengguna awam untuk memperbolehkan mengubah pengaturan global untuk semua pengguna. Itu adalah sysadmin, akar, hak istimewa dan tanggung jawab.

Dalam pengaturan multi-pengguna Anda memiliki masing-masing perangkat lunak yang sudah diinstal sebelumnya dan konfigurasi seluruh sistemnya masing /usr- /etcmasing. Menyentuh lokasi ini akan memerlukan izin root. Tetapi karena perangkat lunak Unix ditulis dengan pemikiran multi-pengguna, Anda dapat mengkompilasi dan menginstal perangkat lunak di bawah $HOME direktori 2 , dan memiliki file konfigurasi Anda sendiri di bawah rumah Anda, tempat Anda dapat mengedit file dengan bebas tanpa menjadi pengguna super.

Selain menginstal perangkat lunak Anda sendiri di bawah rumah, sebagian besar perangkat lunak seluruh sistem akan membaca konfigurasi khusus pengguna $HOMEsegera setelah mereka pertama kali membaca konfigurasi /etc. Ini memungkinkan Anda untuk menyesuaikan hampir semua hal tanpa harus pergi root.

Dengan PC rumahan, dalam satu pengaturan pengguna utama, Anda dapat menggunakan sudodan me-root jalan Anda ke hal-hal yang Anda sukai. Tapi itu kebiasaan untuk tidak menyentuh konfigurasi aplikasi /etctetapi selalu memberikan konfigurasi khusus pengguna di rumah. Dengan begitu Anda dapat mengizinkan manajer paket Anda untuk mereset konfigurasi sistem pada pembaruan. Menginstal perangkat lunak baru di seluruh sistem cukup baik dalam pengaturan pengguna tunggal; paket-paket distro tidak menggunakan alternatifnya jadi itu jalan keluar yang mudah.

Saya akan membiarkan manajer paket saya menginstal hal-hal secara global tetapi semua hal yang dikompilasi-dari-sumber dan hal-hal buatan sendiri yang saya tinggalkan $HOME. Dan aku tidak perlu sudo untuk semua itu.

Jika Anda memiliki file data, penyimpanan di luar Anda $HOME, silakan chownatau chgrpdirektori ke nama Anda sehingga Anda dapat mengakses file tanpa sudo.

[1] (sedikit ironis karena Unix dimaksudkan untuk menjadi versi 'pengguna tunggal' dari sistem operasi Multics)

[2] (jika sistem memungkinkan ini dengan tidak memasang partisi rumah sebagai noexec)


2

Dalam jenis sistem multiuser yang dirancang untuk UNIX (dan, menurut keturunan, Linux), ini bukan tindakan pengguna biasa . Seorang administrator sistem mungkin melakukan hal itu, tetapi bukan pengguna biasa, sehingga sistem meminta untuk memastikan bahwa sysadmin benar-benar ingin melakukan ini.

Tetapi bahkan dalam sistem rumah pengguna tunggal, ini bukan tindakan pengguna biasa . Orang biasanya harus melakukan ini ketika awalnya mengatur sistem, tetapi begitu selesai, pengguna biasa tidak harus melakukannya terlalu sering . Sebagian besar pengguna hanya bekerja pada file di dalam direktori home mereka (atau subdirektori dari itu), menggunakan program / paket yang sudah diinstal, dan Anda tidak perlu sudountuk itu. Atau mereka mungkin bekerja di direktori khusus di tempat lain pada sistem yang telah disisihkan untuk tujuan itu, dan Anda perlu sudomengaturnya, tetapi Anda biasanya hanya perlu melakukannya sekali.

Mengapa itu penting? Karena "pengguna tunggal" adalah istilah yang keliru: Anda bukan satu-satunya pengguna mesin Anda, meskipun Anda mungkin satu-satunya pengguna manusia . Bahkan pada instalasi Linux rumahan yang khas, banyak program yang diatur untuk menggunakan mesin dengan berbagai cara sendiri, sering mensimulasikan sesuatu yang mungkin dilakukan manusia jika mereka memiliki waktu dan perhatian untuk dicadangkan: cadangan, pembaruan, pemindaian malware, dan Suka. Sebagian besar waktu, penggunaan itu benar-benar jinak, tetapi bahkan untuk beberapa di antaranya, masih bijaksana untuk memastikan bahwa pengguna benar-benar ingin melakukan ini. Dan ketika kasus-kasus itu muncul, itulah gunanya sudo. Komputer hanya memeriksa untuk memastikan itu benar-benar Anda yang ingin melakukan apa yang seseorang (mungkin Anda, mungkin program) mengatakan Anda lakukan. Dan itu bahkan tidak masuk ke kemungkinan malware, yang tentu saja Anda tidak ingin menyamar sebagai Anda.


1

Ini mungkin tidak biasa seperti yang diwakili tetapi biasanya terjadi ketika sesuatu yang santai secara internal memerlukan panggilan sistem istimewa yang lebih umum untuk mencapai hasilnya, misalnya:

  • Lepas dan bawa tongkat USB. umountadalah perintah serius karena Anda dapat meng-unmount banyak hal dengannya.
  • Sambungkan ke jaringan nirkabel lokal. Tidak ada yang luar biasa, tetapi konfigurasi jaringan ( ifup, dll) hanya untuk pengguna super.
  • Aplikasi yang memperbarui sendiri yang menolak untuk berjalan jika tidak diperbarui. Perbarui = instal, dan ini dapat menginstal banyak hal, termasuk hal-hal yang tidak Anda inginkan.

Sistem umumnya berkembang untuk mengurangi jumlah kasus seperti itu. Stik USB dapat dipasang pengguna sekarang dan jaringan dapat dihubungkan pengguna. Tetapi tidak selalu seperti ini.


0

Asumsi: ini adalah sistem Anda dan data Anda.

Anda hanya perlu mempertimbangkan risiko menghapus data secara tidak sengaja atau merusak OS Anda vs kemudahan melakukan hal-hal tanpa mengetik sudosetiap saat.

Saya secara rutin masuk dan bekerja sebagai root di server rumah saya karena saya bisa lebih mudah.

Anda akan diberitahu bahwa Anda dapat meluncurkan senjata nuklir jika Anda tidak pergi melalui santo suci sudotetapi kenyataannya adalah bahwa hari ini orang memiliki rootkekuatan (*) pada banyak perangkat (TV Anda, ponsel Anda, pemanggang roti Anda, Windows Anda (seperti Anda sebutkan)). Linux tidak berbeda di sini, walaupun banyak yang suka berpikir sebaliknya.

BTW UACtidak menjadi model setelah sudoperan utamanya (selain membuat hidup Anda sengsara) untuk memastikan bahwa Anda akan melihat kapan malware ingin melakukan sesuatu atas nama Anda.

(*) rootKekuatan didefinisikan sebagai kapasitas untuk mengeluarkan data penting. Pepatah "dengan kekuatan besar datang masalah besar" (atau apa pun itu) berlaku.

Jika asumsi saya salah maka Anda masih perlu mempertimbangkan risiko di atas tetapi ada lebih banyak variabel (pekerjaan Anda, foto yang diambil oleh pasangan Anda dan disimpan di laptop yang sama, ...)


1
kekuatan root bukan kapasitas untuk mengeluarkan data penting. Anda selalu dapat rm -rf ~/tanpa izin khusus. Di sisi lain, Anda tidak dapat menutup ponsel atau TV tanpa me-rootingnya terlebih dahulu.
Dmitry Grigoryev

Perangkat sama bermanfaatnya dengan data yang disimpannya dan layanan yang disediakannya. Perangkat keras dan OS yang ada di bawah hanyalah komoditas. Jadi kekuatan adalah tempat Anda dapat memengaruhi layanan atau data. Di TV Anda dapat menghapus semua pengaturan Anda - TV tidak dapat digunakan (sebelum orang mengembalikan data). Anda dapat menghapus semua data Anda di ponsel, yang kemudian menjadi perangkat keras tanpa digunakan. Inilah yang saya maksudkan dengan "root power"
WoJ

1
Memang, menyebut "kekuatan akar" ini adalah penyalahgunaan. Kata "root" sudah kelebihan beban berarti setidaknya tiga hal yang berbeda (pengguna root, direktori /, dan direktori / root) dan menambahkan yang lain tidak membantu. Pada mesin pengguna tunggal, meskipun pengguna yang tidak mampu sudah dapat menghapus file sendiri, ketidakmampuannya untuk melakukan tugas administrasi tertentu tanpa menggunakan sudo masih melindunginya dari berbagai Hal Buruk.
Monty Harder

1
Analogi TV Anda tidak bagus. Menghapus pengaturan di TV Anda seperti menghapus file konfigurasi pengguna Anda di Linux - melakukannya biasanya hanya membuat sistem beroperasi sesuai dengan beberapa set default untuk pengguna itu, dan biasanya tidak membahayakan sistem. Root memungkinkan Anda memodifikasi sistem itu sendiri - di TV ini seperti memodifikasi firmware, dalam hal ini Anda dapat merusak kemampuannya untuk benar-benar beroperasi.
JBentley

1
Inilah sebabnya mengapa ada penilaian risiko. Anda menilai risiko melakukan sesuatu (yang memiliki pro dan kontra) dan menerima, mengurangi atau mengasuransikan. Memulihkan bisa sederhana (buruh pelabuhan, snapshot VM) atau sulit (instal bentuk awal) - ini adalah masalah perencanaan dan, sekali lagi, menilai. Tapi seperti yang Anda sebutkan, saya tidak mengerti apa artinya akses root jadi itu.
WoJ

0

Untuk membela orang yang menulis pertanyaan awal, saya memiliki pertanyaan yang sama di tahun-tahun sebelumnya, tetapi saya mengambil pendekatan yang berbeda.

Sebagian besar jawaban di sini hanya dapat dimainkan dalam satu lingkaran, karena semuanya tetap menekankan poin yang sama tentang sudo dan root. Biarkan saya menambahkan perspektif berbeda ke topik ini:

Cara saya mempelajari Unix DAN Linux dari dalam ke luar adalah dengan menggunakan salah satu komputer saya sebagai "kelinci percobaan." Saya akan menginstal SCO Linux, dan akhirnya Solaris dan kemudian Linux lama kemudian, semuanya dengan gembira bereksperimen sebagai root sehingga saya bisa membaca dan / atau menjelajahi hierarki direktori dan semua file dengan akses yang tidak dibatasi, juga membuat akun "pengguna biasa" di rumah saya kotak multi-user yang tumbuh, meskipun saya adalah satu-satunya pengguna. Dan saya senang saya melakukannya dengan cara itu. Saya belajar banyak tentang "Unix Philosophy" dan cara Unix dimaksudkan untuk digunakan dalam percobaan saya.

Saya mengalami ledakan belajar tentang keamanan, dan juga menjalankan perintah berbahaya dengan mengetikkan rm -rf / * di terminal sebagai root. (JANGAN MELAKUKAN INI! ITU AKAN MENYEMBUNYIKAN SISTEM ANDA !!) Saya melakukan hal-hal seperti ini dan banyak perintah lainnya, hanya untuk melihat apa yang akan terjadi secara real-time. Saya melakukan hal-hal ini mengetahui konsekuensi sebelumnya, namun saya masih belajar banyak dengan melakukannya. Saya menggunakan SCO Unix PANJANG bahkan sebelum web ada (ya, saya setua itu!) Dan bereksperimen dengan cara ini sangat berharga bagi pembelajaran saya.

Jadi yang saya katakan adalah jika Anda tidak keberatan melakukan instalasi ulang ketika ada masalah, gunakan su atau login sebagai root semua yang Anda inginkan dan konfigurasikan / retas! Anda akan belajar banyak dari itu dengan melakukannya.

Ingatlah bahwa saran yang telah banyak diulangi diulangi untuk alasan yang baik: Protokol praktik terbaik telah berkembang selama beberapa dekade karena compsec telah berkembang, dan Anda HARUS memperhatikannya, bahkan sebagai pengguna rumahan / tunggal sistem Anda . Dengan melakukan itu, kebersihan / kebiasaan sysadmin yang baik akan menjadi kebiasaan Anda.

Hanya beberapa makanan untuk dipikirkan tentang topik su dan sudo. Selamat melakukan peretasan!

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.