Quên sudo su
Không có lợi ích gì khi sử dụng sudo su
, đó là thói quen lỗi thời từ khi mọi người đã quen sử dụng su
. Mọi người bắt đầu giải quyết sudo
trước khi các bản phân phối Linux ngừng đặt mật khẩu gốc và thực hiện sudo
cách duy nhất để truy cập vào tài khoản root. Thay vì thay đổi thói quen của họ, họ chỉ sử dụng sudo su
. (Tôi là một trong số họ cho đến gần đây khi sử dụng các hộp có cấu hình sudoers
buộc tôi phải thay đổi thói quen của mình).
Sử dụng sudo -u
Đối với một vỏ đăng nhập, sudo -u postgres -i
tốt hơn là sudo su - postgres
. Nó không yêu cầu người dùng có quyền truy cập root /etc/sudoers
, họ chỉ cần quyền trở thành người dùng postgres
. Nó cũng cho phép bạn thực thi các điều khiển truy cập tốt hơn.
Để thực hiện lệnh
sudo -u postgres psql -c "SELECT 1"
là vượt trội so với lựa chọn thay thế:
sudo su - postgres -c "psql -c \"SELECT 1\""
trong đó bạn không phải thoát hai dấu ngoặc kép và các siêu ký tự shell khác cũng như các lợi thế bảo mật khác của việc không cần root. Bạn có thể sẽ vô tình viết lên:
sudo su - postgres -c psql -c "SELECT 1"
đôi khi, nó sẽ không hoạt động đúng.
Cuối cùng, cách dễ dàng hơn để đặt các biến môi trường thông qua sudo
, ví dụ:
sudo PATH=/usr/pgsql-9.3/bin:$PATH -u postgres /usr/pgsql-9.3/bin/initdb -D /var/lib/pgsql/testcluster
hơn thông qua su
. (Ở đây, PATH
cài đặt là bắt buộc để initdb
có thể tìm thấy postgres
tệp thực thi chính xác ).
Vì thế. Quên su
lệnh tồn tại. Bạn không cần nó nữa. Để bỏ thói quen, hãy đặt bí danh cho thứ gì đó sẽ in lỗi. (Tuy nhiên, một số tập lệnh thiết lập gói và init vẫn sử dụng su
để bạn không thể xóa nó).
Xem thêm: