Làm thế nào có thể thay đổi vỏ mặc định? Các env
lệnh đang nói:
SHELL=/bin/tcsh
và tôi muốn thay đổi điều đó thành Bash.
Làm thế nào có thể thay đổi vỏ mặc định? Các env
lệnh đang nói:
SHELL=/bin/tcsh
và tôi muốn thay đổi điều đó thành Bash.
Câu trả lời:
Hãy thử lệnh linux chsh
.
Lệnh chi tiết là chsh -s /bin/bash
. Nó sẽ nhắc bạn nhập mật khẩu của bạn. Shell đăng nhập mặc định của bạn /bin/bash
bây giờ. Bạn phải đăng xuất và đăng nhập lại để thấy sự thay đổi này.
Sau đây được trích dẫn từ trang người đàn ông:
Lệnh chsh thay đổi vỏ đăng nhập người dùng. Điều này xác định tên của lệnh đăng nhập ban đầu của người dùng. Một người dùng bình thường chỉ có thể thay đổi vỏ đăng nhập cho tài khoản của chính mình, siêu người dùng có thể thay đổi vỏ đăng nhập cho bất kỳ tài khoản nào
Lệnh này sẽ thay đổi vỏ đăng nhập mặc định vĩnh viễn.
Lưu ý: Nếu tài khoản người dùng của bạn ở xa, chẳng hạn như trên xác thực Kerberos (ví dụ: Enterprise RHEL) thì bạn sẽ không thể sử dụng chsh
.
chsh: can only change local entries; use ypchsh instead
. Sau đó, ypchsh không có bất kỳ -s
lựa chọn nào
/etc/passwd
, nhưng tôi đã không kiểm tra lại.
exec /bin/bash
vào ~/.profile
và điều này cho phép tôi đăng nhập trực tiếp vào bash mà không thực hiện bất kỳ thay đổi nào đối với máy chủ. (Vỏ mặc định ban đầu chỉ là /bin/sh
)
exit
bash thì sao? Bạn sẽ đăng xuất trực tiếp máy chủ hay chỉ cần thoát bash và vào sh và một exit
yêu cầu khác để đăng xuất khỏi máy chủ?
Bạn có thể thay đổi tệp passwd trực tiếp cho người dùng cụ thể hoặc sử dụng lệnh bên dưới
chsh -s /usr/local/bin/bash username
Sau đó đăng xuất và đăng nhập
which bash
trước khi gọi lệnh trên; số dặm của bạn có thể thay đổi về vị trí. Trong trường hợp của tôi, nó đã được tìm thấy trong/bin/bash
chsh
lệnh là một phần của util-linux
gói; và chsh -s $(which bash) $USER
nên cho kết quả giống như trên.
-l
tùy chọn: "danh sách in vỏ".
chsh -s /bin/bash username
dành cho tôi
Bạn nên có một "bộ xương" ở đâu đó /etc
, có thể /etc/skeleton
, hoặc kiểm tra các cài đặt mặc định, có thể /etc/default
hoặc một cái gì đó. Đó là các tập lệnh xác định các biến môi trường tiêu chuẩn được thiết lập trong quá trình đăng nhập.
Nếu nó chỉ dành cho tài khoản của riêng bạn: hãy kiểm tra tệp (ẩn) ~/.profile
và ~/.login
. Hoặc tạo chúng, nếu chúng không tồn tại. Những điều này cũng được đánh giá bởi quá trình đăng nhập.
/etc/default/useradd