Sudo ograničenje ovlasti - ovaj put suse 10.2

Vrlo jednostavno:

Pravio startnu skripticu koja ispred same komande ima “sudo”, napravio skriptu executable i sve super. Zatim, ubacio moj account u sudoers, i i to mi fercera. Problem je u tome što sam na brzinu pravio sudo za moj account pa sam mu privremeno bio stavio sve - ALL ovlasti, a sad ne mogu nikako ograničiti te ovlasti samo na skripticu. Ukoliko ograničim ovlasti, ne radi mi root autentikacija u KDE - npr kad otvaram yast, utipkam root password ali ga ne prepoznaje (moj pass mi svakako ne prihvata jer je sudo ograničen). S druge strane, u konzoli sve odlično radi. Šta sam zahebo? :slight_smile:

Cilj mi je dati mom accountu sudo ovlast samo za skripticu - a pomoć bi pravo dobro došla.

poz

zbunjeni

Radis na Suse normalno sa “su”
“sudo” je za Ubuntu…

medo: “sudo” je za svaki linux, “su” je za svaki linux … samo treba podesiti …

Nažalost, Ubuntu je kriv zato što je uveo u modu toliko brain damaged koncept “sigurnosti” u širu upotrebu.
sudo je od početka (1980!) bio predviđen za pokretanje specifičnih/pojedinačnih komandi kao običan korisnik (a sa admin ovlastima), a ne kao neka generalna zamjena za root account (odnosno DAC).
Rješavanje klasičnog Unix problema (root account “može sve”) je ipak malo složeniji proces i ne može se rješavati ad-hoc metodama, već sa nekim alternativnim access control sistemima (implementacija u zagradi): MAC (SELinux), RBAC (grsecurity), RSBAC …

P.S.
Šta kaže ubuntu wiki za root sudo? Katastrofa, sekcija “Benefits of using sudo” je čisti bullshit.

P.P.S.
Zbunjensi, daj tu sudoers datoteku, vjerovatno obrišeš
"root ALL = (ALL) ALL"
ili nešto sl. pa se onda pojave problemi.

[quote=Adis]Nažalost, Ubuntu je kriv zato što je uveo u modu toliko brain damaged koncept “sigurnosti” u širu upotrebu.
sudo je od početka (1980!) bio predviđen za pokretanje specifičnih/pojedinačnih komandi kao običan korisnik (a sa admin ovlastima), a ne kao neka generalna zamjena za root account (odnosno DAC).
Rješavanje klasičnog Unix problema (root account “može sve”) je ipak malo složeniji proces i ne može se rješavati ad-hoc metodama, već sa nekim alternativnim access control sistemima (implementacija u zagradi): MAC (SELinux), RBAC (grsecurity), RSBAC …

P.S.
Šta kaže ubuntu wiki za root sudo? Katastrofa, sekcija “Benefits of using sudo” je čisti bullshit.

P.P.S.
Zbunjensi, daj tu sudoers datoteku, vjerovatno obrišeš
"root ALL = (ALL) ALL"
ili nešto sl. pa se onda pojave problemi.[/quote]
Svaka cast !

eto samo da znate da je sudo extra stvar, da ne nabrajam… ako ništa radi onog jednog ENTER-a viška
npr kad hoću da editujem neki sistemski fajl:

sudo visudo (na suse, ‘su -’ pa ‘visudo’)

@zbunjeni, pogledaj ovaj fajl

[code]# /etc/sudoers

This file MUST be edited with the ‘visudo’ command as root.

See the man page for details on how to write a sudoers file.

Host alias specification

User alias specification

Cmnd alias specification

Defaults

Defaults !lecture,tty_tickets,!fqdn

User privilege specification

root ALL=(ALL) ALL

Members of the admin group may gain root privileges

%admin ALL=(ALL) ALL
~[/code]
sudo vigr (na suse dok ne postaviš sudo, radi sa: ‘su -’ pa ‘vigr’)

admin:x:118:aldin #dodaš svoje username u ovu grupu, ili npr. wheel, malo se zadaj)

ok…evo ga moj sudoers file…

sudoers file.

This file MUST be edited with the ‘visudo’ command as root.

See the sudoers man page for the details on how to write a sudoers file.

Host alias specification

User alias specification

Cmnd alias specification

Defaults specification

prevent environment variables from influencing programs in an

unexpected or harmful way (CVE-2005-2959, CVE-2005-4158,

CVE-2006-0151)

Defaults always_set_home
Defaults env_reset

Runas alias specification

User privilege specification

root ALL = (ALL) ALL
MojAccount ALL = (ALL) NOPASSWD: ALL

Znači…ko što sam već reko…stavio sam mom accountu sve ovlasti samo da vidim jel mi skriptica fercera. E sad bi htio da mom accountu ukinem sve ovlasti osim skripte, po mogućnosti da mi ostane NOPASSWD opcija. Našao opciju za to u yastu, nije komplikovano, samo što mi zahebe root onda. Zahebe znači da npr. kad otvaram yast preko ikonice, iz KDE-a, izađe mi prozorčić za autentikaciju al mi ne prihvata root password.

thx za pomoć

pozz

zbunjeni

P.S. - ono što zbunjuje je što samo mom accountu mijenjam postavke a nekako se root na kraju shebe

http://forum.mandriva.com/viewtopic.php?t=66863&sid=2fa85fafe52c243acde8e47d719c2968

Različite verzije određenih fajlova prave konflikt (vidi link). 99,99% sam siguran da je kod mene isti uzrok-razlog. Dok sam neke stvari instalirao, bio sam na netu i par fajlova je vukao sa update repozitorija (valjda)…probaću downgrade pa ćemo vidjet šta će biti. Drž’te mi palčeve :slight_smile:

pozz

ajmkonfjuzd

Ne bi smjelo biti to, problem na Mandriva forumu je nastao zato što je čovjek updatovao pola KDE paketa na sasvim drugu verziju jer je koristio update repozitorij od pogrešne verzije Mandrive. Ako nisi manuelno instalirao pakete, sumnjam da je to taj problem. Probaj uraditi reinstalaciju sudo paketa, pa će ti se vratiti originalna varijanta /etc/sudoers. Onda pošalji taj fajl pa ćemo probati zajedno dodati opciju za tu tvoju skriptu a da se ništa ne pokvari.

  1. na opensuse 10.2 sudo radi po defaultu (samo što se ovdje traži rootova šifra, a ne userova), ali nema pristup nekim komandama, e.g ‘iwconfig’, dok npr ‘mount’ može itd… to je dakle po defaultu…

aldin2@opensuse:~> sudo vi /etc/fstab root's password:
2. originalni opensuse10.2 /etc/sudoers izgleda ovako

[code]#

See the sudoers man page for the details on how to write a sudoers file.

Host alias specification

User alias specification

Cmnd alias specification

Defaults specification

prevent environment variables from influencing programs in an

unexpected or harmful way (CVE-2005-2959, CVE-2005-4158,

CVE-2006-0151)

Defaults always_set_home
Defaults env_reset

In the default (unconfigured) configuration, sudo asks for the root password.

This allows use of an ordinary user account for administration of a freshly

installed system. When configuring sudo, delete the two

following lines:

Defaults targetpw # ask for the password of the target user i.e. root
ALL ALL=(ALL) ALL # WARNING! Only use this together with ‘Defaults targetpw’!

Runas alias specification

User privilege specification

root ALL=(ALL) ALL

Uncomment to allow people in group wheel to run all commands

%wheel ALL=(ALL) ALL

Same thing without a password

%wheel ALL=(ALL) NOPASSWD: ALL

Samples

%users ALL=/sbin/mount /cdrom,/sbin/umount /cdrom

%users localhost=/sbin/shutdown -h now[/code]

  1. ne kontam zašto si u skriptu stavljao ‘sudo nekaKomanda’, mogao si u skriptu staviti ‘nekaKomanda’ i taj fajl izvršiti sa sudo ./mojaSkripta

  2. u YAST-u imaš sekciju ‘sudo’

’ jutro…

@vedran
vidio sam i ja kasnije da je kod lika na mandriva forumu užas od paketa…kod mene je ipak ok, koliko - toliko. Jedini “sudo” paketi koje sam našao su: sudo i yast2-sudo, nakon njihove reinstalacije dobijam ovo:

sudoers file.

This file MUST be edited with the ‘visudo’ command as root.

See the sudoers man page for the details on how to write a sudoers file.

Host alias specification

User alias specification

Cmnd alias specification

Defaults specification

prevent environment variables from influencing programs in an

unexpected or harmful way (CVE-2005-2959, CVE-2005-4158,

CVE-2006-0151)

Defaults always_set_home
Defaults env_reset

sudoers file.

This file MUST be edited with the ‘visudo’ command as root.

See the sudoers man page for the details on how to write a sudoers file.

Host alias specification

User alias specification

Cmnd alias specification

Defaults specification

prevent environment variables from influencing programs in an

unexpected or harmful way (CVE-2005-2959, CVE-2005-4158,

CVE-2006-0151)

Defaults always_set_home
Defaults env_reset
root ALL = (ALL) ALL
MojAccount ALL = (root) NOPASSWD: ALL

Koliko laički vidim, samo je naštiklao isti text, sve ostalo je isto. Ono što je meni uhebano je ustvari to da mi je samo u KDE root password uheban. Ima li KDE neki baš svoj .conf file gdje između ostalog spašava passworde, da provjerim njega? Iz konzole sasvim normalno pokrećem yast kao su i radim u njemu, dok klikom na ikonicu mi dolazi samo “incorrect password”. Ukratko - postavke za moj account su zanemarljive, root account je uheban.

@nidla
Iz yasta sam i modifikovao sudo opcije :slight_smile: A koristio sam sudo u skripti jer zahtijeva superuser ovlasti (ne znam kako bi drugačije mogao osim sa sudo ovlastima mog accounta). Skripta je spašena u .kde/Autostart da mi se pokreće odmah na startu po mogućnosti bez passworda i sl.

  1. Šta predstavlja grupa %wheel iz tvog defaultnog sudoers file-a? Ja je prvi put vidim :frowning: Jel možda nedostatak tih parametara uzrok?

thx & pozz

zbunjeni

Mislim da je u ovom zvrčka (citat iz default konfiguracije koju je postavio nidla):

[code]# In the default (unconfigured) configuration, sudo asks for the root password.

This allows use of an ordinary user account for administration of a freshly

installed system. When configuring sudo, delete the two

following lines:

Defaults targetpw # ask for the password of the target user i.e. root
ALL ALL=(ALL) ALL # WARNING! Only use this together with ‘Defaults targetpw’![/code]
Što se tiče korištenja sudo, uobičajen pristup je da čitava skripta ima root ovlasti (a ne samo jedan njen dio), tako da pišeš skriptu kao da je izvršava root, testiraš je tako što se logiraš normalno kao root (što je puno lakše), a kada završiš sve podesiš sudoers i pozivaš skriptu sa sudo ./imeskripte.

@vedran
kako misliš da cijela skripta ima root ovlasti? kako to postavljam? skripta je samo jedan red koji počinje sa “sudo” (ok, 2 reda, prvi red je #!bash/bin), copy-pastana sa howto-a.

defaultni sudoers file mi ni nakon reinstalla nije kao nidlin primjer; čim promjenim bilo šta u yast/sudo mi odmah rikne root account - kde su mi odbija password.

sudoers file nakon friškog reinstalla:

sudoers file.

This file MUST be edited with the ‘visudo’ command as root.

See the sudoers man page for the details on how to write a sudoers file.

Host alias specification

User alias specification

Cmnd alias specification

Defaults specification

prevent environment variables from influencing programs in an

unexpected or harmful way (CVE-2005-2959, CVE-2005-4158,

CVE-2006-0151)

Defaults always_set_home
Defaults env_reset
root ALL = (ALL) ALL

ima li kakve druge varijante da autostartam naredbu-skriptu po mogućnosti bez passworda, bez da diram yast/sudo. nešto kao dodavanje u autoexec.bat kod windowsa???

pozz

zbunjeni

pa zasto ne koristish crontab. napravi da ti sa skripta pocinje sa

#!/bin/sh sadrzaj_sktipte
zatim kao root editujes crontab

sadrzaj crontab-a postavish kao

To je slucaj ako treba samo da se pokrene jednom prilikom startanja racunara.

da te pitam, jel ti hoćeš neku GUI aplikaciju da pokrećeš (pošto si spominjao .kde/Autostart) ili neku “sistemsku”, sve zavisi šta ćeš da ti se pokreće i na osnovu toga praviš skriptice i stavljaš ih gdje treba

ps:
ako želiš da pokreneš neku aplikaciju bez upotrebe šifre, najbolje je da se dodaš u grupu tog programa i onda si hadžija (bolje nego da staviš sudo ili root ALL NOPASSWD)

@nidla
nije GUI aplikacija, samo je podešavanje brzine grafičke - rovclock (obični overclock), nešto kao atitool kod windoza. Npr. kao root u konzoli samo utipkam “rovclock -c xxx -m xxx” gdje su xxx numeričke vrijednosti brzine u MHz jezgre i memorije i to je to. Ono što hoću je da mi to ide automatski kod paljenja računara, npr kod startanja desktopa - zato sam išao na .kde/autostart - svakako mi OC grafičke treba samo u desktopu. Sa howto-a rovclocka sam copy-paste skripticu:

#!/bin/sh
sudo rovclock -c xxx -m xxx

napravio je executable, prebacio je u .kde/autostart i kad sam htio podesiti ovlasti za nju sve otišlo u helać :slight_smile:

Razmišljam, da li bi se naredba “rovclock -c xxx -m xxx” mogla ubaciti u neku sistemsku datoteku, nešto tipa xorg.conf ???

P.S. de pojasni kako se evtl mogu ubaciti u grupu programa???

pa koristi crontab samo sto ce ti skripta izgledati

#!/bin/sh
rovclock -c xxx -m xxx

nema potrebe za sudo posto crontab editujes kao root pa se tako i izvrsava.

evo ti jedan moj primjer iz sudoers file-a, sve odradjujes sa visudo.
pod Cmnd_Alias dodijelis alias i path do te svoje scripte( DOWN = /sbin/shutdown ). i iskoristis %users grupu za dodjelu authorizacije. U ovom slucaju svaki user (clan grupe users) moze izvrsiti shutdown bez prompta za root password
( %users ALL = NOPASSWD: DOWN ).

[code]# Cmnd alias specification
Cmnd_Alias DOWN = /sbin/shutdown

Defaults specification

Defaults targetpw # ask for the password of the target user i.e. root
%users ALL=(ALL) ALL # WARNING! Only use this together with ‘Defaults targetpw’!

Runas alias specification

User privilege specification

root ALL=(ALL) ALL

Uncomment to allow people in group wheel to run all commands

%wheel ALL=(ALL) ALL

Same thing without a password

%wheel ALL=(ALL) NOPASSWD: ALL

Samples

%users ALL=/sbin/mount /cdrom,/sbin/umount /cdrom

%users localhost=/sbin/shutdown -h now

%users ALL = NOPASSWD: DOWN[/code]
s ovim kod mene kdesu radi bez problema (Suse 10.1).

ch

Obzirom da u pitanju nije aplikacija koja se izvršava svakih n (dana, sati, minuta…) nego samo jednom prilikom starta, ja ne bih koristio crontab nego /etc/rc.local - to je upravo isto što i autoexec.bat na windowsu.

vedrane, u /etc/ nemam rc.local (the file or folder does not exist)…imam rc.splash, status i readme :frowning: E sad, jel ga pravim posebno, ako da, kako treba izgledati? Dalje, ako sam te dobro skonto, u file samo dodajem komandu i to je to?

thx