Bir kullanıcının root erişimine izin vermeden başka birine dava açmasını nasıl sağlayabilirim?


53

Bazı kullanıcıların bu hesabın şifresini bilmeden başka bir kullanıcı hesabına dava açmasına izin vermek, ancak başka bir kullanıcı hesabına (yani root) erişime izin vermek istemiyorum.
Örneğin, Tom DBA’nın kehanet kullanıcısına dava açmasına izin vermek istiyorum, ancak tomcat kullanıcısına veya köküne değil.

Bunun / etc / sudoers dosyasıyla yapılabileceğini hayal ediyorum - mümkün mü? Öyleyse nasıl?

Yanıtlar:


44

Evet, bu mümkün.

In / etc / sudoers hemen eşittir Aşağıdaki öğe komut olarak çalıştırmak için izin verilecek kullanıcıdır.

tom  ALL=(oracle) /bin/chown tom *

Kullanıcı (tom) sudo -u oracle / bin / chown tom / home / oracle / oraclefile yazabilir


5
Bu Tom'un emirleri yerine
getirmesini emrederdi

11
Peki ya sudo -u oracle su -? Bu ona kehanet kullanıcısı olarak açılan bir kabuk verirdi. İstediğin bu mu?
Brent,

Bu son yorum için + 1, Brent. Bu benim cevabım olurdu.
Annika Backstrom

3
Aşağıdaki gibi bir şey işe yarayabilir: sudo -u oracle -s veya sudo -u oracle -i (-s kabuk için -s, oturum açma için -i - bir oturum açma kabuğu yapar). Ne yazık ki, kullanıcıyı sınırlamak için / etc / sudoers içinde ne kullanacağınızı önceden bilmiyordum, ancak kabuk erişimine izin verdiğinize göre, muhtemelen başka birinin söylediği gibi tom ALL = (oracle) ALL yapmak istiyorsunuz. Bir kabuk çalıştırabilirlerse, muhtemelen çalıştırabilecekleri komutları kısıtlamakla ilgilenmezsiniz.
Mark

1
İdeal olarak, Tom'un oracle kullanıcısı olmak yerine, kahin kullanıcısı olarak komut çalıştırmasını istemez miydiniz? Bu fark azdır, ancak bir denetim kabuğu kullanarak uğraşmak zorunda kalmadan mükemmel bir denetim günlüğü sağlar.
Scott Pack

40

/ Etc / sudoers'ınıza gibi bir şey ekleyin

tom ALL=(oracle) ALL

Öyleyse kullanıcı tom, tou izin vermeden, -u seçeneğiyle kullanıcı kahramanı olarak işleri çalıştırmak için sudo kullanabilmelidir.

Yani, kullanıcı kârı olarak bir kabuk almak (peki, sudo'nuzun -i seçeneğine sahip olması için yeterince yeni olduğu göz önüne alındığında).

sudo -u oracle -i

5
tom ALL=(oracle)NOPASSWD:ALLŞifre sormamak için sudo yapmak için sözdizimini kullanmak zorunda kaldım
snowindy

9

SADECE sorudaki yetenekleri sağlamak için, / etc / sudoers dizinine şunu ekleyin:

tom            ALL=(oracle)    /bin/bash

O zaman Tom şunları yapabilir:

sudo -u oracle bash -i

0

Örneğin, Tom DBA’nın kehanet kullanıcısına dava açmasına izin vermek istiyorum, ancak tomcat kullanıcısına veya köküne değil.

Bunu son zamanlarda bir sisteme yapmam gerekiyordu ve yıllar önce kullandığım alternatif kurulumla ilgili sözdizimine izin veren notlarmı bulmakta zorlanıyordum su <user>. Benim durumumda, birden fazla kullanıcının subelirli bir kullanıcıya izin vermesine ihtiyacım vardı .

addgroup <groupName>Diğer kullanıcıların suşifre olmadan yapabileceklerini kullanarak bir grup oluşturun . Ardından su, bu kullanıcıyı şifre olmadan yapabilmek istediğiniz her bir kullanıcıya ekleyin : usermod -a -G <groupName> <userName>(veya usermod -a -G oracle tom). Grup değişiklikleri bir sonraki girişe kadar etkili olmayabilir.

Not: Sizin durumunuzda zaten grubunuz var çünkü oracleoracle kullanıcısını yaptığınızda grup oluşturulacaktı adduser oracle.

Şimdi düzenleyin /etc/pam.d/suve aşağıdakilerin altında:

# This allows root to su without passwords (normal operation)
auth       sufficient pam_rootok.so

..add auth kural satırları böylece bölüm şöyle görünür:

# This allows root to su without passwords (normal operation)
auth       sufficient pam_rootok.so
auth       [success=ignore default=1] pam_succeed_if.so user = <groupName>
auth       sufficient   pam_succeed_if.so use_uid user ingroup <groupName>

Bu durumda <groupName>ile değiştirin oracle. Bu bir parçası olan herhangi bir kullanıcı sağlayacak <groupName>kadarsu <groupName>

Şimdi tomyapabilirsiniz su oracleve diğer kullanıcılara aynı erişimi vermeniz gerekiyorsa, bunları oraclegruba ekleyin .

burada benzer soru

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.