Làm cách nào để thay đổi shell mặc định trong FreeBSD?


10

Shell mặc định trong FreeBSD là shvà tôi thực sự không thể chịu đựng được: tự động hoàn thành rất hạn chế và các lệnh làm lại giết chết tôi. Tôi cảm thấy như một người đàn ông có vũ trang và một chân ...

Làm cách nào tôi có thể thay đổi trình bao trên toàn cầu thành zshhoặc bash- cho root và cho tất cả người dùng hiện tại và tương lai?


1
Chỉ cần thử cách này để cập nhật người dùng hiện có trong FreeBSD 9.1 và hệ thống đã nhắc tôi sử dụng như sau: chpass -s / usr / local / bin / bash USER
commbot 26/213

Câu trả lời:


28

Đối với người dùng hiện tại, hãy sử dụng chshlệnh (Ngày ch ange sh ell '):

chsh -s SHELL USER
chsh -s /usr/local/bin/bash root

Đối với người dùng trong tương lai:

  • Chỉnh sửa từ khóa /etc/pw.conf""defaultshell
  • Khi sử dụng adduser(), chọn vỏ cần thiết

15
... nhưng hãy cẩn thận về việc thay đổi vỏ gốc thành một cái gì đó từ cây cổng (ví dụ: / usr / local / bin / bash), bởi vì nếu bạn làm hỏng cái gì đó trong quá trình nâng cấp cổng, bạn có thể thấy mình không có quyền truy cập root.
larsks

2
s / tính năng / tương lai /?
Tạm dừng cho đến khi có thông báo mới.

larsk: zsh có thể được xây dựng tĩnh phải không ..? [ít nhất tôi đã thấy tham số trong "make config"] theo như tôi hiểu, đó có phải là nhị phân với tất cả các phụ thuộc được xây dựng không? vậy tôi có thể đặt / usr / local / bin / zsh thành / bin / zsh không? Người dùng root có thể sử dụng phiên bản cũ không sao .. vậy có an toàn không?
thánh

8
Xây dựng nó một cách tĩnh và sao chép nó vào / bin có lẽ là điều an toàn nhất bạn có thể làm. Tôi chỉ để lại shell của root /bin/shvà sau đó exec bashvào những dịp hiếm hoi khi tôi thực sự cần đăng nhập với quyền root (tôi thường chỉ sử dụng sudotừ tài khoản người dùng của mình).
larsks

Lưu ý điều này phải được chạy như root (hoặc với sudo).
Sopalajo de Arrierez
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.