Apakah ada alasan saya tidak akan menambahkan / usr / local / sbin, / usr / sbin, / sbin ke jalur saya di Debian?

25

Bandingkan Debian (kiri) dan Ubuntu (kanan):

$ ifconfig                                 $ ifconfig
bash: ifconfig: command not found          eth0     Link encap ...
$ which ifconfig                           $ which ifconfig
$                                          /sbin/ifconfig

Kemudian sebagai superuser:

# ifconfig                                 # ifconfig
eth0      Link encap ...                   eth0     Link encap ...
# which ifconfig                           # which ifconfig
/sbin/ifconfig                             /sbin/ifconfig

Selanjutnya:

# ls -l /sbin/ifconfig                     # ls -l /sbin/ifconfig
-rwxr-xr-x 1 root root 68360 ...           -rwxr-xr-x 1 root root 68040 ...

Bagiku satu-satunya alasan aku tidak bisa lari ifconfigtanpa kekuatan super di Debian adalah karena itu tidak ada di jalanku. Ketika saya menggunakannya /sbin/ifconfigitu berhasil.

Apakah ada alasan saya tidak perlu menambahkan /usr/local/sbin:/usr/sbin:/sbinjalur saya di Debian? Ini adalah komputer pribadi, saya satu-satunya pengguna manusia.


Versi yang digunakan ( uname -a):
Ubuntu:

Linux ubuntu 3.13.0-51-generic #84-Ubuntu SMP Wed Apr 15 12:08:34 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

Debian:

Linux debian 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt11-1+deb8u3 (2015-08-04) x86_64 GNU/Linux
kekacauan
sumber
Pertanyaan bagus - terunggah :) Kebetulan, inilah beberapa riwayat tentang keputusan Debian untuk tidak memasukkan /usr/local/sbin:/usr/sbin:/sbinPATH default untuk pengguna biasa. Pendekatan Ubuntu tampaknya lebih ramah pengguna untuk semua kecuali pengguna yang paling berpengalaman.
sampablokuper

Jawaban:

27

Dalam Kebijakan Debian ditulis bahwa Debian mengikuti File Hierarchy Standard versi 2.3. Catatan # 19 pada standar mengatakan:

Memutuskan hal-hal apa saja yang masuk ke direktori "sbin" itu sederhana: jika pengguna normal (bukan administrator sistem) akan menjalankannya secara langsung, maka ia harus ditempatkan di salah satu direktori "bin". Pengguna biasa tidak harus menempatkan direktori sbin di jalurnya.

Sebagai contoh, file seperti chfn yang hanya digunakan oleh pengguna sesekali masih harus ditempatkan di / usr / bin. ping, meskipun sangat diperlukan untuk root (pemulihan dan diagnosis jaringan) sering digunakan oleh pengguna dan harus tinggal di / bin karena alasan itu.

Kami menyarankan agar pengguna telah membaca dan menjalankan izin untuk semua yang ada di / sbin kecuali, mungkin, program setuid dan setgid tertentu. Pembagian antara / bin dan / sbin tidak dibuat untuk alasan keamanan atau untuk mencegah pengguna melihat sistem operasi, tetapi untuk memberikan partisi yang baik antara biner yang digunakan semua orang dan yang digunakan terutama untuk tugas administrasi. Tidak ada keuntungan keamanan yang melekat dalam membuat / sbin terlarang bagi pengguna .


Jawaban singkat:

Apakah ada alasan saya tidak perlu menambahkan /usr/local/sbin:/usr/sbin:/sbinjalur saya di Debian?

Seperti yang dinyatakan dalam catatan, tidak ada alasan mengapa Anda tidak harus melakukan itu. Karena Anda satu-satunya yang menggunakan sistem dan Anda memerlukan binari di sbindirektori, silakan menambahkannya ke $PATH. Pada titik ini izinkan saya membimbing Anda ke jawaban yang bagus bagaimana melakukannya dengan benar.

kekacauan
sumber
4

Satu-satunya alasan untuk tidak menambahkannya adalah karena membuat penyelesaian perintah tab lebih lambat (karena lebih banyak direktori dicari) dan kurang efektif (karena ada kemungkinan besar kecocokan palsu dari perintah yang tidak masuk akal untuk non-root menggunakan ).

R ..
sumber