Tôi đã đến đây thông qua google và tôi thực sự tin rằng tôi đã tìm ra cách để có được một bản gốc hoạt động đầy đủ trong cygwin.
Đây là các bước của tôi.
Trước tiên, bạn cần đổi tên tài khoản Quản trị viên Windows thành "root" Thực hiện việc này bằng cách mở manu bắt đầu và nhập "gpedit.msc"
Chỉnh sửa mục trong Chính sách máy tính cục bộ> Cấu hình máy tính> Cài đặt Windows> Cài đặt bảo mật> Chính sách cục bộ> Tùy chọn bảo mật> Tài khoản: Đổi tên tài khoản quản trị viên
Sau đó, bạn sẽ phải kích hoạt tài khoản nếu nó chưa được kích hoạt. Chính sách máy tính cục bộ> Cấu hình máy tính> Cài đặt Windows> Cài đặt bảo mật> Chính sách cục bộ> Tùy chọn bảo mật> Tài khoản: Trạng thái tài khoản quản trị viên
Bây giờ đăng xuất và đăng nhập vào tài khoản root.
Bây giờ đặt một biến môi trường cho cygwin. Để thực hiện điều đó một cách dễ dàng: Nhấp chuột phải vào Máy tính của tôi> Thuộc tính
Nhấp (trên thanh bên trái) "Cài đặt hệ thống nâng cao"
Gần phía dưới, nhấp vào nút "Biến môi trường"
Trong "Biến hệ thống", nhấp vào nút "Mới ..."
Đối với tên đặt "cygwin" mà không có dấu ngoặc kép. Đối với giá trị, nhập vào thư mục gốc cygwin của bạn. (Của tôi là C: \ cygwin)
Nhấn OK và đóng tất cả những thứ đó để quay lại màn hình nền.
Mở một thiết bị đầu cuối Cygwin (cygwin.bat)
Chỉnh sửa tập tin / etc / passwd và thay đổi dòng
Quản trị viên : chưa sử dụng: 500: 503 : U- MÁY \ Quản trị viên , S-1-5-21-12345678-1234567890-1234567890- 500: / home / Quản trị viên : / bin / bash
Về điều này (số của bạn và tên máy sẽ khác nhau, chỉ cần đảm bảo bạn thay đổi các số được tô sáng thành 0!)
root : chưa sử dụng: 0: 0 : U- MÁY \ root , S-1-5-21-12345678-1234567890-1234567890- 0: / root : / bin / bash
Bây giờ tất cả đã kết thúc, bit tiếp theo này sẽ làm cho lệnh "su" hoạt động. (Không hoàn hảo, nhưng nó sẽ hoạt động đủ để sử dụng. Tôi không nghĩ các tập lệnh sẽ hoạt động chính xác, nhưng này, bạn đã đi xa đến mức này, có thể bạn có thể tìm đường. Và hãy chia sẻ)
Chạy lệnh này trong cygwin để hoàn tất thỏa thuận.
mv /bin/su.exe /bin/_su.exe_backup
cat > /bin/su.bat << "EOF"
@ECHO OFF
RUNAS /savecred /user:root %cygwin%\cygwin.bat
EOF
ln -s /bin/su.bat /bin/su
echo ''
echo 'All finished'
Đăng xuất khỏi tài khoản root và quay lại tài khoản người dùng windows bình thường của bạn.
Sau tất cả điều đó, hãy chạy "su.bat" mới theo cách thủ công bằng cách nhấp đúp vào nó trong trình thám hiểm. Nhập mật khẩu của bạn và đi trước và đóng cửa sổ.
Bây giờ hãy thử chạy lệnh su từ cygwin và xem mọi thứ có ổn không.
what
kịch bản bạn đang cố chạy không? Không có tương đương với 'sudo' bên trong vỏ cygwin - các quyền là từ người dùng win đã khởi chạy vỏ cygwin, vì vậy liên kết KyleWpppd rất tốt để tránh các lỗi như "lệnh không biết sudo". Trong trường hợp của bạn có vẻ như đó là một vấn đề cụ thể với tập lệnh bạn muốn thực thi.