Sự khác biệt giữa sudo su - và sudo su -


22

Khi tôi đang làm việc trên các máy RHEL của chúng tôi, tôi sử dụng sudo su -để chuyển sang root. Một ngày nọ, một lỗi đánh máy có nghĩa là tôi đã gõ sudo su --thay vào đó - dường như mọi thứ đều giống với một dấu gạch nối, ngoại trừ việc tôi ở trong cùng một thư mục như trước khi tôi đưa ra lệnh (với một dấu gạch nối duy nhất tôi thấy mình đang ở /root).

Có sự khác biệt nào khác không? Có an toàn khi sử dụng điều này trong các tình huống mà tôi biết tôi muốn làm việc trong cùng một thư mục không?

Câu trả lời:


22

Khi bạn cung cấp dấu gạch nối kép, trải nghiệm bạn sẽ có giống hệt nếu bạn vừa thực hiện sudo sumà không có dấu gạch nối.

Vượt qua một dấu gạch nối đơn giống hệt như vượt qua -lhoặc --login. Trang hướng dẫn sumô tả hành vi như sau:

Cung cấp một môi trường tương tự như những gì người dùng mong đợi nếu người dùng đăng nhập trực tiếp.

Điều này bao gồm thiết lập thư mục của bạn vào thư mục chính của bạn và thiết lập một loạt các biến môi trường khác.

Truyền một dấu gạch nối kép cho một lệnh thường được sử dụng để đánh dấu sự kết thúc của các cờ dòng lệnh và bắt đầu các đối số không phải là cờ. Ví dụ: nếu bạn chạy, touch -Rbạn sẽ gặp lỗi khi nói rằng -R không phải là một tùy chọn touch, nhưng nếu bạn chạy, touch -- -Rnó sẽ tạo một tệp có tên -R. Điều này đúng với nhiều công cụ dòng lệnh ( ls -Rsẽ thực hiện đệ quy lstrong khi ls -- -Rsẽ thực hiện lstrên một tệp hoặc thư mục có tên -R.

Vì vậy, để bọc này lên, khi bạn vượt qua chỉ -- để sunó về cơ bản là bỏ qua --và hành động như bạn đã không vượt qua bất kỳ tùy chọn nào cả.


Tôi sẽ tạo ra một câu hỏi từ nó nhưng sudo su -sudo su -lkhác nhau. Trên tài khoản mà tôi chỉ nhập bằng một khóa và tôi có quyền sudo để thay đổi thành một người dùng cụ thể khác, sudo su -thay đổi người dùng mà không gặp vấn đề gì sudo su -lhoặc sudo su --loginsẽ yêu cầu mật khẩu sudo mà tôi không có (mặc dù bằng cách kiểm tra sudo -ltôi có thể thực thi /bin/suvới NOPASSWD)
karatedog

@karatedog, có vẻ như bạn đã không tạo câu hỏi ....
Wildcard
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.