Thêm người dùng tên miền AD vào sudoers từ dòng lệnh


10

Tôi đang thiết lập VM máy chủ Ubuntu 11.04 để sử dụng làm máy chủ cơ sở dữ liệu. Nó sẽ làm cho cuộc sống của mọi người trở nên dễ dàng hơn nếu chúng ta có thể đăng nhập bằng thông tin đăng nhập của Windows và thậm chí có thể làm cho máy hoạt động với bảo mật do AD điều khiển hiện tại mà chúng ta có ở nơi khác.

Chặng đầu tiên của việc này thực sự dễ thực hiện - apt-get install likewise-openvà tôi đã kinh doanh khá nhiều. Vấn đề tôi gặp phải là đưa quản trị viên của chúng tôi vào các nhóm sudoers - tôi dường như không thể có bất cứ điều gì để giải quyết. Tôi đã thử:

a) usermod -aG sudoers [username]
b) thêm tên người dùng theo một số định dạng (DOMAIN \ user, user @ domain) vào tệp sudoers.

Không ai trong số họ dường như nhận, tôi vẫn nhận được thông báo "DOMAIN \ user không có trong tệp sudoers. Sự cố này sẽ được báo cáo."

Vì vậy, làm cách nào để thêm người dùng không phải người địa phương vào sudoers?

Câu trả lời:


6

Tôi gặp phải vấn đề này và đây là giải pháp của tôi:

Chỉnh sửa /etc/sudoers: với các mục sau

Trước tiên hãy kiểm tra aduser bằng lệnh id

#id <AD user>( #id domain\\aduser01 )

Kết quả về tôi:

SMB\aduser01@linux01:~/Desktop$ id smb\\aduser02
uid=914883676(SMB\aduser02) gid=914883073(SMB\domain^users) groups=914883073(SMB\domain^users),1544(BUILTIN\Administrators),1545(BUILTIN\Users),914883072(SMB\domain^admins)

getent passwdgid NUMBERSkhông làm việc cho tôi. DOMAIN\\domain^userslàm việc cho tôi

%SMB\\domain^users ALL=(ALL) ALL

như chúng ta đều biết người dùng AD cá nhân cũng làm việc

SMB\\<aduser01> ALL=(ALL) ALL

2

chúng tôi có một tên miền dài với .local sufix,

sáng hơn

%domainname\\group ALL=(ALL) ALL

cũng không phải

%domainname.local\\group ALL=(ALL) ALL

đã làm việc...

nhưng nếu tôi chỉ sử dụng tên nhóm như thế này:

%Domain^Admins ALL=(ALL) ALL

nó hoạt động


Đây là giải pháp cuối cùng đã làm việc. %Domain^Admins ALL=(ALL) ALL
mjp

2

Vấn đề với các đề xuất khác là

  • chúng chỉ hoạt động khi bạn có quyền truy cập vào mạng LAN công ty (hoặc VPN)
  • bạn phải duy trì tập tin sudoers trên mọi máy tính mọi lúc
  • như một phần thưởng, họ đã không làm việc cho tôi - tất cả

Thay vào đó, tôi muốn một cái gì đó

  • lưu trữ cả thông tin đăng nhập và truy cập sudo
  • được quản lý tập trung

Giải pháp thực tế là sử dụng SSSD và mở rộng lược đồ AD. Bằng cách này, SSSD tìm nạp cài đặt sudo và thông tin đăng nhập của người dùng định kỳ từ AD và duy trì bộ đệm cục bộ của chúng. Các quy tắc sudo sau đó được lưu trữ trong các đối tượng AD, nơi bạn có thể giới hạn các quy tắc đối với máy tính, người dùng và các lệnh, thậm chí - tất cả những điều đó mà không bao giờ chạm vào tệp sudoers trên máy trạm.

Hướng dẫn chính xác là quá dài để giải thích ở đây, nhưng bạn có thể tìm thấy hướng dẫn từng bước và một số tập lệnh để giúp tự động hóa ở đây:

TL; DR:

QUẢNG CÁO

Lấy bản phát hành mới nhất của sudo , lấy tệp doc / lược đồ.ActiveDirectory , sau đó nhập tệp (đảm bảo sửa đổi đường dẫn tên miền theo tên miền của bạn):

ldifde -i -f schema.ActiveDirectory -c "CN=Schema,CN=Configuration,DC=X" "CN=Schema,CN=Configuration,DC=ad,DC=foobar,DC=com" -j .

Xác minh nó bằng ADSI Edit: mở bối cảnh đặt tên Schema và tìm lớp sudoRole .

Bây giờ tạo OU sudoers trên root tên miền của bạn, OU này sẽ giữ tất cả các cài đặt sudo cho tất cả các máy trạm Linux của bạn. Trong OU này, tạo một đối tượng sudoRole. Để tạo đối tượng sudoRole, bạn phải sử dụng Chỉnh sửa ADSI, nhưng sau khi được tạo, bạn có thể sử dụng Active Directory Users and Computer để sửa đổi nó.

Giả sử tôi có một máy tính tên là foo32linux , một người dùng tên là stewie.griffin và tôi muốn cho anh ta chạy tất cả các lệnh với sudo trên comp đó. Trong trường hợp này, tôi tạo một đối tượng sudoRole theo OU sudoers . Đối với sudoRole, bạn có thể sử dụng bất kỳ tên nào bạn muốn - Tôi gắn bó với tên máy tính kể từ khi tôi sử dụng quy tắc trên mỗi máy tính. Bây giờ đặt thuộc tính của nó như sau:

  • sudohost : foo32linux
  • sudoCommand : TẤT CẢ
  • sudoUser : stewie.griffin

Đối với các lệnh, bạn cũng có thể sử dụng các mục cụ thể, như / bin / less hoặc bất cứ thứ gì.

SSSD

Thêm vào /etc/sssd/sssd.conf của bạn , ít nhất là:

[sssd]
services = nss, pam, sudo

[domain/AD.FOOBAR.COM]
cache_credentials = True

SSSD làm mới bộ đệm cục bộ của nó với các quy tắc được cập nhật cứ sau vài giờ, nhưng cách đơn giản nhất để kiểm tra nó là chỉ cần khởi động lại máy tính. Sau đó đăng nhập với người dùng AD và kiểm tra:

sudo -l

Nó sẽ liệt kê tất cả các mục nhập liên quan mà bạn đã thêm vào người dùng và máy tính đó. Dễ như ăn bánh!


1
Nó có thể dài nhưng, vì các liên kết trở nên không hợp lệ, nên quy tắc là các phần thiết yếu được bao gồm ở đây, với liên kết để tham khảo.
TheWanderer

Trên thực tế, tôi đã thêm các phần thiết yếu, tức là khái niệm. Tôi có thể chọn một số phần khác nhưng chúng vô dụng mà không có phần còn lại và không hiểu bức tranh lớn, vì vậy tôi không thể nhìn thấy điểm. Nó sẽ làm hại nhiều hơn là tốt.
bviktor

là một quy tắc của AskUbfox rằng ai đó đi cùng cần có thể xem câu trả lời của bạn và giải quyết vấn đề của họ mà không cần đến một trang web bên ngoài.
TheWanderer

1
Đã thêm thông tin liên quan.
bviktor

1

Thông tin tốt nhất tôi có thể tìm thấy về chủ đề này là ở đây:

http://www.mail-archive.com/likewise-open-discuss@lists.likewisesoftware.com/msg00572.html

Về cơ bản, nó yêu cầu bạn sửa đổi /etc/sudoerstệp của mình với cấu hình chính xác để cho phép những người trong nhóm quản trị viên của bạn trên AD có quyền truy cập vào tất cả các đặc quyền.

Nếu bạn cần phải chọn lọc và hạn chế bởi người dùng, bạn cũng có thể làm điều đó. Nhưng nó cảnh báo rằng bạn phải đảm bảo tìm ra tên người dùng trên hệ thống linux là gì bằng cách sử dụng getend passwdlệnh như được hiển thị.


Cảm ơn thực sự không thể tìm ra nơi để tìm. Đối với bản ghi, tên người dùng DOMIAN \\ hoạt động cho các cá nhân.
Wyatt Barnett

0

Sử dụng Centify direct Tôi đã thêm người dùng tên miền vào tập tin / etc / sudoers.

(Người dùng tên miền) ALL = (ALL) ALL


0

Tôi sử dụng lệnh chung

sudo usermod -a -G sudo DOMAIN\username 

và thay thế DOMAIN\userbằng DOMAIN\\\username.

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.