Puncte:0

cereți întotdeauna parola sudo când reporniți/închideți sistemul

drapel es

Asa de,

Am observat că pe manjaro, dacă există un singur utilizator, tastând reporniți fără sudo, va eșua și va cere parola sudo, în timp ce pe serverul ubuntu, tastând aceasta nu va cere parola sudo și reporniți cu succes sistemul. Întrebarea mea este cum pot face ca atunci când scriu repornire/oprire/oprire, ubuntu cere întotdeauna parola sudo chiar dacă există un singur utilizator conectat în prezent? Poate că asta are de-a face cu polkit? Dacă da, cum pot schimba asta?

Motivul pentru care întreb acest lucru este că vreau să fiu sigur că toți cei care ar putea avea acces fizic la serverul meu nu vor putea să repornească (cu excepția cazului, desigur, prin deconectarea cablului de alimentare, care este ceva diferit lol)

Mulțumesc

Puncte:2
drapel in

Unul dintre modurile în care am făcut asta este prin mascarea systemd tinte, care împiedică efectuarea anumitor acțiuni, indiferent de cine intră în comandă. De exemplu, pentru a preveni oprirea sistemului, puteți face acest lucru:

sudo systemctl mask poweroff.target

Acum orice încercare de a opri sistemul prin închidere sudo sau închidere sudo systemctl va eșua în tăcere. Același lucru se poate face cu oprirea și repornirea:

sudo systemctl mask runlevel0.target
sudo systemctl mask halt.target
sudo systemctl mask runlevel6.target
sudo systemctl mask reboot.target

Notă: runlevel6 este echivalent cu reporniți, și runlevel0 este echivalent cu închide și oprire.

Pentru a anula acest lucru, aceste comenzi pot fi executate din nou, dar cu demasca:

sudo systemctl unmask runlevel0.target
sudo systemctl unmask shutdown.target
sudo systemctl unmask halt.target
sudo systemctl unmask runlevel6.target
sudo systemctl unmask reboot.target

Având în vedere acest lucru, acum puteți scrie un script care este executabil numai pentru persoanele cu sudo acces:

#!/bin/bash

## Determinați operația de rulat (mask | demask)
op=mască

dacă [[ $1 = demască ]]
atunci
        op=demascare
fi

## Setați țintele pe care vrem să le mascam
declare -a arr=("runlevel0" "runlevel6" "shutdown" "reboot" "halt")

## Rulați comenzile
pentru i în „${arr[@]}”
do
        cmd=$( sudo systemctl $op $i.target )
        echo „$i :: $op”
Terminat

AVERTIZARE: Acest cod va funcționa, dar este destul de dur. Asigurați-vă că îl verificați cu un VM sau într-un loc „sigur” înainte de al rula pe o cutie de producție.

Acum puteți rula acest script pentru a masca țintele după pornire și opriți/reporniți astfel:

sudo ~./setTargetMask.sh demasca
sudo oprire acum

Notă: Simțiți-vă liber să apelați scenariul oricum doriți.

Liwinux avatar
drapel es
Acesta este cu siguranță un mod la care nu m-am putut gândi singur, mulțumesc pentru asta, este mult mai ușor! Un lucru pe care l-am descoperit este că, cu un sistem naked (adică fără mediu desktop), singura modalitate de a efectua întreținere este prin utilizarea Sudo, în timp ce un sistem care are, de exemplu, xfce instalat, nu va necesita nicio comandă sudo.Cred că se datorează faptului că xfce (sau orice DE) trebuie să instaleze pachetul policykit pentru ca butonul de repornire/oprire să funcționeze fără privilegii de sistem, dar acest lucru se aplică întregului sistem. Corectează-mă dacă greșesc!

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.