[Bash] Skrypt nie podmienia chronionych plików

Bash, C, C++, Java, PHP, Ruby, GTK, Qt i wiele innych - wszystko tutaj.
Awatar użytkownika
choody
Sędziwy Jeż
Sędziwy Jeż
Posty: 91
Rejestracja: 01 kwie 2010, 23:04
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: KDE Plasma
Architektura: x86_64
Lokalizacja: Katowice
Kontakt:

[Bash] Skrypt nie podmienia chronionych plików

Post autor: choody »

Kod: Zaznacz cały

#!/bin/bash

##    Net Config for Ubuntu 10.04 Lucid Lynx LTS
##    Copyright (C) 2010  Szymon 'Puszek' Noczyński
##
##    You should have received a copy of the GNU General Public License
##    along with this program.  If not, see <http://www.gnu.org/licenses/>.

########################################################
#interfaces
########################################################
echo "Teraz edytujesz adresy DHCP"
###############
#Interfeis eth
###############
echo -en "Interfejs sieci (eth0,eth1,wlan0)"
echo " "
read eth
echo $eth
###############
#IP
###############
echo -en "IP:\n"
read ip
echo "$ip"
###############
#Maska Podsieci
###############
echo -en "Maska Podsići\n"
read maska
echo "$maska"
###############
#Barma Domyslna 
###############
echo -en "Brama domyslna \n"
read brama
echo "$brama"
################
#Zapis do pliku 
################

echo "
auto $eth 
iface $eth inet static
address $ip
netmasc $maska 
gateway $brama" >  $HOME/Pulpit/interfaces.conf

########################################################
#resolv.conf
########################################################
echo "Teraz wpisujesz adresy serwerów"
echo " "
###############
#nameserver1
###############
echo -en "Wpisz pierwszy adres serwera DNS"
echo ""
read s1
echo "$s1"
###############
#nameserwer2
###############
echo -en "Wpisz drugi adres serwera DNS"
echo " "
read s2
echo "$s2"
###############
#nameserwer3
###############
echo -en "Wpisz trzeci adres serwer DNS"
echo " "
read s3
echo "$s3"
###############
#nameserver Google
###############
echo "To jest dodatkowy sewer Googla 8.8.8.8"
echo " "
echo "8.8.8.8"
###############
#Zapis do pliku
###############
echo "
nameserver $s1
nameserver $s2
nameserwer $s3
nameserver 8.8.8.8
" >  $HOME/Pulpit/resolv.conf
###############
#sudo 
###############
sudo /etc/init.d/networking restart
sleep 5
sudo ifdown $eth
sleep 5
sudo ifup $eth
sleep 5

###############
#Koniec
###############
Skrypt nie podminia plików resolv.conf i interfaces ( wiem scierzki sa na pulpit ale to zmienilem bo testowalem ). Testowane na 9.10 i na 10.04
Awatar użytkownika
sulti
Serdeczny Borsuk
Serdeczny Borsuk
Posty: 139
Rejestracja: 17 wrz 2007, 15:31
Płeć: Mężczyzna
Wersja Ubuntu: 12.10
Środowisko graficzne: Unity
Architektura: x86

Odp: [Bash] Skrypt nie podmienia chronionych plików

Post autor: sulti »

Na końcu używasz sudo - to świadczy o tym, że skrypt uruchamiasz z prawami zwykłego użytkownika. W trakcie skryptu próbujesz jednak z tymi samymi prawami (lub raczej bez nich) nadpisywać zawartość skryptów, których właścicielem jest root.
You tried, and you failed, so the lesson is, never try.
Awatar użytkownika
kamilsilver
Serdeczny Borsuk
Serdeczny Borsuk
Posty: 105
Rejestracja: 06 lis 2008, 21:53
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: KDE Plasma
Architektura: x86

Odp: [Bash] Skrypt nie podmienia chronionych plików

Post autor: kamilsilver »

Kod: Zaznacz cały

sudo 'echo "
auto $eth 
iface $eth inet static
address $ip
netmasc $maska 
gateway $brama" >  $HOME/Pulpit/interfaces.conf'

Kod: Zaznacz cały

sudo 'echo "
nameserver $s1
nameserver $s2
nameserwer $s3
nameserver 8.8.8.8
" >  $HOME/Pulpit/resolv.conf'
Lub lepiej jak kolega wyżej napisał, wywalić z pliku zbędne komendy sudo i cały skrypt odpalić z uprawnieniami admina przez:

Kod: Zaznacz cały

sudo ./skrypt
(warto na początku pliku zrobić warunek że wywali z skryptu jak skrypt nie ma uprawnień admina (aby niepotrzebnie nie wykonywać się)
Temat rozwiązany? Dodaj [solved] w tytule tematu :)
Inny OS => Debian Squeeze (testing)
Awatar użytkownika
choody
Sędziwy Jeż
Sędziwy Jeż
Posty: 91
Rejestracja: 01 kwie 2010, 23:04
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: KDE Plasma
Architektura: x86_64
Lokalizacja: Katowice
Kontakt:

Odp: [Bash] Skrypt nie podmienia chronionych plików

Post autor: choody »

Dzieki za pomoc to jest mój pierwszy skrypt i robilem go razem z kursem wiec warunków nie umiem (jeszcze). A zrobilem go po to, bo jak instaluje 9.10 albo 10.04 to musze twożyc te pliki a tak to szybciej idzie.
ODPOWIEDZ

Wróć do „Programowanie”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 4 gości