Предотвращение sudo su на CentOS VPS

688
ousamakamal

Я новичок в Linux, у меня есть VPS под CentOS, и у меня есть пользователь root. Я вхожу в систему как myuser (который я создал из своей учетной записи godaddy) и набираю sudo su, чтобы получить доступ от имени root.

Теперь я хочу дать кому-то возможность устанавливать на сервер все, что он хочет, но я не хочу, чтобы он мог набирать sudo su и получать root-доступ.

Я создал пользователя dev1 и добавил его в visudo, например:

root ALL=(ALL) ALL dev1 ALL=(ALL) ALL 

Когда я вхожу как dev1, я все еще могу набрать sudo su и получить root-права, так как я могу предотвратить это?

Спасибо

1
`man sudo` и` man sudoers` Eugen Rieck 9 лет назад 0
Если у пользователя есть доступ к оболочке и возможность устанавливать «все, что он хочет», то у этого пользователя фактически есть root-доступ, в значительной степени независимо от того, что еще вы можете сделать. Подготовка пакета для установки оболочки setuid-root и установка - это всего лишь небольшое препятствие. a CVn 9 лет назад 0

1 ответ на вопрос

0
John Smith

You should not list the user "dev1" as a person, who is allowed to do everything on your server, it is dangerous. Instead, you should allow this user to run package managers. For this you need to add the line in visudo like

dev1 ALL = NOPASSWD : /usr/bin/yum, /usr/bin/apt-get, /usr/bin/aptitude 

(usually on CentOS people use yum, so I included the path to yum also, but you can remove it if it is not installed on your VPS)

With this setting users will not be asked for password again, when they install something. But if you want to enforce them to type their password again, you can use

dev1 ALL = PASSWD : /usr/bin/yum, /usr/bin/apt-get, /usr/bin/aptitude 

Finally, in order not to create a separate line for each user, you can allow all members of the group "users" to install programs (of course, you must trust your users or make a separate group for trusted users)

%users ALL = PASSWD : /usr/bin/yum, /usr/bin/apt-get, /usr/bin/aptitude 

Installation can now be done as

$ sudo /usr/bin/yum install name_of_a_program 

Похожие вопросы