Nowe posty

Pokaż wiadomości

Ta sekcja pozwala Ci zobaczyć wszystkie wiadomości wysłane przez tego użytkownika. Zwróć uwagę, że możesz widzieć tylko wiadomości wysłane w działach do których masz aktualnie dostęp.


Pokaż wątki - 1709

Strony: [1] 2 3 ... 7
1
Konfiguracja / GPT
« dnia: 2023-11-09, 20:16:21 »
Zainstalowałem najpierw Ubuntu, a potem OpenSuse.
Aktualnie uruchamia mi się GRUB z OpenSuse, a chciałbym w celach testowych uruchomić GRUB-a z Ubuntu.
Jeśli się da bez reinstalacji systemu.
Dysk jest sformatowany na GPT i nie używam secure boot
$ LC_ALL=C sudo parted -l | grep 'Flag\|^ 1\|^ 2\|^ 5' | awk '{$2=$3=$4=""; print $0}'
Number    File system Name Flags
1    fat32 EFI_System_Partition boot, esp
2    ext4 UbuntuMate
5    ext4 OpenSuse legacy_boot
- Próbowałem usunąć  flagę legacy_boot, ale wtedy komputer nie znajduje systemu, nie widać żadnego GRUBA.
( dodanie tej flagi do partycji EFI tez nie pomaga )
- Próbowałem z poziomu Ubuntu reinstalować GRUB-a, ale nie pomogło
przykład
$ LC_ALL=C sudo grub-install --target=x86_64-efi /boot/efi
Installing for x86_64-efi platform.
grub-install: warning: EFI variables cannot be set on this system.
grub-install: warning: You will have to complete the GRUB setup manually.
Installation finished. No error reported.
Nie wiem jak jeszcze sprawdzić, czemu to bootuje z OpenSuse, a nie chce z Ubuntu.

2
Uwagi i propozycje / Do regulaminu
« dnia: 2021-06-07, 02:16:34 »
Do regulaminu warto dodać / wspomnieć o tagach [ code ] i [ quote ]
lub dodać poradnik.

3
Humor, ciekawostki etc. / Szkolny wywiad
« dnia: 2021-05-28, 14:44:13 »

Szkolny wywiad z człowiekiem który pomaga wdrożyć Linuxa w swojej szkole.
https://translate.google.com/translate?sl=auto&tl=pl&u=https://opensource.com/article/21/5/linux-school-servers

4
Sieć / iptables filtrowanie połączeń
« dnia: 2021-05-16, 22:45:48 »
Chciałbym " limitować " / ograniczyć ilość logowanych połączeń danego IP co 10 minut.
Zrobiłem sobię taką zaporę.

# iptables -S
-P INPUT DROP
-P FORWARD DROP
-P OUTPUT ACCEPT
-A INPUT -i lo -m comment --comment Default_policy_desktop_v4 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -m comment --comment Default_policy_desktop_v4 -j ACCEPT
-A OUTPUT -m limit --limit 10/min --limit-burst 1 -j LOG --log-prefix "IPTables: "

Czyli według poradnika / dokumentacji https://www.netfilter.org/documentation/HOWTO/packet-filtering-HOWTO-7.html
Rozumiem to tak że w moim przypadku
gdy wystąpi powyżej 2 połączeń jakiegoś IP wyjściowego, wtedy na 10 min. dane połączenie nie jest logowane.

Ale u mnie to coś chyba nie działa, a prawdopodobnie źle zrozumiałem.
Bo mam tak, czyli " DST=IP_google_analitics "  powtarza się częściej niż co 10 minut.

May 16 22:34:28 user kernel: [25124.691524] IPTables: IN= OUT=eth SRC=Local_IP DST=IP_google_analitics LEN=52 TOS=0x00 PREC=0x00 TTL=64 ID=39061 DF PROTO=TCP SPT=41200 DPT=443 WINDOW=24576 RES=0x00 ACK URGP=0 
May 16 22:34:42 user kernel: [25138.835635] IPTables: IN= OUT=eth SRC=Local_IP DST=IP_google_analitics LEN=52 TOS=0x00 PREC=0x00 TTL=64 ID=39075 DF PROTO=TCP SPT=41200 DPT=443 WINDOW=24576 RES=0x00 ACK URGP=0
May 16 22:34:54 user kernel: [25151.123774] IPTables: IN= OUT=eth SRC=Local_IP DST=IP_google_analitics LEN=52 TOS=0x00 PREC=0x00 TTL=64 ID=39134 DF PROTO=TCP SPT=41200 DPT=443 WINDOW=24576 RES=0x00 ACK URGP=0
May 16 22:35:01 user kernel: [25157.874129] IPTables: IN= OUT=eth SRC=Local_IP DST=IP_google_analitics LEN=1352 TOS=0x00 PREC=0x00 TTL=64 ID=39135 DF PROTO=TCP SPT=41200 DPT=443 WINDOW=24576 RES=0x00 ACK PSH URGP=0
May 16 22:35:11 user kernel: [25168.212019] IPTables: IN= OUT=eth SRC=Local_IP DST=IP_google_analitics LEN=52 TOS=0x00 PREC=0x00 TTL=64 ID=39213 DF PROTO=TCP SPT=41200 DPT=443 WINDOW=24576 RES=0x00 ACK URGP=0
May 16 22:35:22 user kernel: [25178.452091] IPTables: IN= OUT=eth SRC=Local_IP DST=IP_google_analitics LEN=52 TOS=0x00 PREC=0x00 TTL=64 ID=39214 DF PROTO=TCP SPT=41200 DPT=443 WINDOW=24576 RES=0x00 ACK URGP=0

Testuję na Linux Mint.

5
Sieć / Problem z DNS
« dnia: 2021-03-26, 14:10:42 »
Mam problem z tak zwanym " DNS dostawcy internetu ".
( Nazwy i IP celowo zasłonilem xx )
$ ping -c20 (FQDN)xx.it
ping: xx.xx.it: Ta nazwa lub usługa jest nieznana

Generalnie internet działa, nie zauważyłem problemów
Korzystam z kilku darmowych DNS firm w internecie, albo jak kto woli " A fully qualified domain name (FQDN) "  żeby wskazywał moje IP.

1. Jak zmienię DNS dostawcy mojego internetu na googla lub inne w /etc/resolv.conf  to wtedy ping ( z własnym FQDN ) działa prawidłowo.

2. Korzystając z DNS dostawcy, mogę tak ping-ować się ( własne FQDN ) ileś razy i końcu ping dostaje odpowiedz od DNS jakie IP ping-ować i ping działa.

3. Próbowałem czytać rożne poradniki
i np. korzystając z DNS  mojego dostawcy internetu
$ dig +short +trace (FQDN).xx.it
...
A moje_IP from server x.x.x.x in 43 ms.
Czyli widzi moje IP. Mogę tak próbować kilka razy i zwraca IP.


A chciałbym uzyskać przybliżoną nazwę serwera lub IP z którym mam problem żeby zgłosić usterkę.
Ale nie wiem jak.
Zastanawia mnie także w  " dig +trace xx.xx.it " linie która zawiera chyba klucz --> RRSIG , czy istnieje możliwość jego sprawdzenia.

6
Humor, ciekawostki etc. / [Gra za darmo] GTA5
« dnia: 2020-05-15, 23:32:39 »
" Grand Theft Auto V "
Linka tym razem nie podam, ale gre znajdziesz w oficjalnym sklepie epicgames
Jak na stronie pisze
Cytuj
Wyprzedaż kończy się 21.05.2020 o 17:00


Czy gra pojdzie na Linuxie?
Nie testowalem, to nie wiem, ale moga byc problemy.
1. To jest cos innego niz Steam, wiec https://www.protondb.com/app/271590  raczej odpada.
2. I generalnie nie slyszalem o epic platformie na Linuxa,
ale moze z Lutris cos zadziala  https://itsfoss.com/epic-games-lutris-linux/
https://lutris.net/games/grand-theft-auto-v/

Jak komus dziala to moze dac znac.

7
Humor, ciekawostki etc. / [ Gra Za Darmo ] Total War: SHOGUN 2
« dnia: 2020-04-28, 23:21:28 »
Total War: SHOGUN 2 za darmo + producent podobno daje promocje na inne tytuly.
https://store.steampowered.com/app/201270/Total_War_SHOGUN_2/

Gra jest dostępna na platformie Steam , prawdopodobnie do 1 maja
 i testowałem działa mi pieknie na Linuxie ( na sterowniku Mesa + Nvidia karta GTX 660 )
( Na sterowniku Nvidii nie testowałem, bo Mint mi popsul sterownik - nie wykrywa OpenGL
 - nie mialem ochoty naprawiac, ani instalowac z innego repozytorium, wiec nie istotne )

8
Problemy z serwisem / Mulenie strony [Tylko informacja]
« dnia: 2020-02-25, 16:36:43 »
Od paru dni może bardzo wolno ładować się strona forum.linux.pl
Nie dotyczy to linux.pl

Powodem jest chyba to ze korzystam z blokera DNS do blokowania połączeń których nie klikam,
przez który nowy skrypt na stronie forum chyba nie działa lub oczekuje na coś tam.

Korzystając ze "standardowego" systemu,
 forum.linux.pl dziala i laduje sie "normalnie".

Ja sobie poradziłem, także to tylko taka informacja.

9
Uwagi i propozycje / Patronat serwisow internetowych.
« dnia: 2020-02-12, 18:13:07 »
Nie wiem czy byl taka mysl, dlatego wolalem wspomniec.

Jesli kiedykolwiek byl by pomysl reklamowania za darmo stron siebie na wzajem,
to popieram.

Wyjaśnienie:
1.  Niektóre blogi / strony internetowe producentów posiadają na swojej stronie
polecane linki do innych blogów / stron internetowych znajomych /  może współpracowników.
Moze mieć to dobre strony jesli dana strona / blog jest gorzej pozycjonowana w wyszukiwarkach internetowych.
Jesli chodzi o Linuxa to taki dzial juz istnieje
https://forum.linux.pl/index.php/topic,25547.0.html
Mam nadzieje ze niczego ważnego tam nie brakuje.
Ale nie samym Linuxem człowiek tylko żyje.

2. Patronat polegałby na obustronnym wspieraniu się.
- Dana strona wspiera poprzez link serwis linux.pl i linux.pl wspierałby dana stronę.
- Dany serwis musiałby działać co najmniej 1 rok, aby uniknąć oszustwa.
Wyjatkiem moze byc serwis ktory byl juz dodany, a poprostu zmienil miejsce.
- Dany serwis musi posiadać minimalna bazę artykułów z której administratorzy obu serwisów uznaliby ze są wartościowe / godne siebie.
- Dany serwis mógłby być dodany do listy tylko za wspólną zgodą bez jakichkolwiek gwarancji lub zobowiązań
To znaczy ze jesli jedna strona usunie link, to druga strona takze ma prawo usunac.
- Dzisiejsze prawo odnośnie internetu jest kontrowersyjne
 i posiadanie wspólnie linka byłoby ochroną przed oszustami próbującymi wyłudzić kary za umieszczanie linków bez zgody.
Jako dodatkowy dowód obie strony przechowywalyby screena ze zgodą lub screena przeciwnej strony ze wspiera nasz serwis.
Bylby to jakis kompromis z obecnym prawem.
Bo jak to w zyciu bywa trzeba sie jakos dogadywac, aby wspólnie żyć.

3. Z czasem jesli lista polecanych stron by sie rozrosla,
to wymagaloby podzielenia (linkow) na dzialy / sekcje.

4. Te polecane linki lub dzialy powinno sie latwo znalezc na stronie głównej serwisu.
Np. linku "man" nie potrafie znalezc na stronie glownej.

5. Prosilbym o skonsultowanie pomyslu ze znajomymi prawnikami jesli jest to mozliwe,
bo jesli dany serwis bedzie oszustem i bedzie mogl wyludzic pieniadze,
to caly pomysł bedzie totalna porażką.
Zwlaszcza ze wiele razy slyszalem " Nieznajomość prawa nie zwalnia nas od jego przestrzegania. "
Ktore powinno byc wedlug mojej logiki " Zapomnienie prawa nie zwalnia nas od jego przestrzegania. "
a same prawo powinnismy czytac i sprawdzac, tak jak jest wszedzie gdy chcemy jakas usluge i musimy najpierw przeczytac, i zaakceptowac regulamin danej uslugi.

6. Jesli Pomysl nie moze byc zrealizowany, choćby z powodu
* braku logiki prawa, i jego niebezpieczeństwa
* absurdalnego pomysłu przechowywania dowodów o wspólnej współpracy
to zrozumiem.

Edytowane
- dodalem pkt.4
- i z patronem chodzi raczej o aspekt pomocy dla znalezienia serwisów edukacyjnych i różnych form for dyskusyjnych o specyfice naukowej,  a nie reklamy

10
Tips & Tricks / Konfiguracja dodatkowych przyciskow myszy.
« dnia: 2020-01-04, 17:56:09 »
Przypisanie klawiszy myszki, konfiguracja dodatkowych przycisków myszy, mapowanie przycisków.

Znajdziesz tego typu poadniki np. po wpisaniu w wyszukiwarke
" linux how-to-bind-mouse-buttons-to-keyboard "
Ten poradnik ma na celu pokazanie własnego doświadczenia.
Może komuś się przyda.


Narzędzia:
xbindkeys - jako taki powiedzmy "serwer" który przechwytuje wciśnięte klawisze i przyciski
xev (x11-utils) - narzędzie do identyfikowania klawiszy i przycisków myszki
xdotool lub xte (xautomation) - narzędzia symulujące wciśnięcie klawiszy i przycisków
xbindkeys-config - to wersja graficzna programu w którym możesz skonfigurować klawisze myszki.

* Oprócz tego w swojej dystrybucji czasem możesz także czasami znaleźć inne oprogramowanie dedykowane danemu producentowi sprzętu.


Info:
- Pewnych rzeczy nie znajdziesz w man i musisz przetestować sam, bo mogą działać u Ciebie inaczej.
- Instalacje narzędzi w tym obsługę programu graficznego pominę, wydaje mi się ze sobie poradzisz.

1. Spróbuj najpierw zidentyfikować przyciski myszy.
Samo uruchomienie komendy xev daje dość duży wynik danych z których ciężko znaleźć numer przycisku, dlatego użyj
xev | grep button

Klikając w białe nowo otwarte okienko otrzymasz numer przycisków,
poniżej otrzymałem numery 1 i 3 które u mnie odpowiadają
przyciskom lewym i prawym myszy.
$ xev | grep button
    state 0x0, button 1, same_screen YES
    state 0x100, button 1, same_screen YES
    state 0x0, button 3, same_screen YES
    state 0x400, button 3, same_screen YES

Info: W podobny sposób możesz uzyskać informacje o wciśniętym klawiszu klawiatury
$ xev | grep key
    keys:  1   0   0   0   16  0   0   0   0   0   0   0   0   0   0   0   
    state 0x0, keycode 36 (keysym 0xff0d, Return), same_screen YES,
    state 0x0, keycode 38 (keysym 0x61, a), same_screen YES,
    state 0x0, keycode 38 (keysym 0x61, a), same_screen YES,
    state 0x0, keycode 40 (keysym 0x64, d), same_screen YES,
    state 0x0, keycode 40 (keysym 0x64, d), same_screen YES,

Info: W niektórych myszkach przy pomocy dodatkowych przycisków, możesz zmienić jej tryb działania.
W tym innym trybie, przy kliknięciu myszka może nadal wysyłać jakiś "sygnał", ale nie znajdziesz numeru przycisku przy pomocy
 " xed | grep button "  i musisz to wziąć pod uwagę przy mapowaniu przycisków.


2. Spróbujmy zasymulować wciśnięty klawisz.
Ja użyję prawy przycisk, ponieważ odrazu otwiera u mnie menu kontekstowe.
Użyj do tego komend xdotool lub xte. W tym celu zapoznaj się odpowiednio z
man xdotool
man xte

Dla przykładu w man xdotool w sekcji " MOUSE COMMANDS " znajdziesz wszystkie opcje myszki jakie możesz użyć.
xdotool click  3
Uruchomiło mi menu kontekstowe myszki.

Info:
- Jeśli sprawdziłeś przy pomocy xev lub przeczytałeś w man xdotool
to rolka przyjmuje odpowiednio numery przycisków: góra = 4 , dol = 5 , wciśnięcie / klikniecie = 2
-  I tu nie popełniaj mojego błędu. Wciśniecie i przytrzymanie przycisku 4 lub 5 nie spowoduje przewiniecie strony.
Podejrzewam ze jest to podyktowane budowa myszki,
 w której kawałek obrotu rolki powoduje wysłanie tylko jednego krótkiego sygnału.
W nowszych myszkach zazwyczaj można to wyczuć, czując opór kręcąc rolką i myszy.
Nawet w myszkach dotykowych, ponieważ pasek dotykowy naśladuje rolkę myszki i dlatego przewijanie nie jest płynne.
Przytrzymanie tego przycisku czasami może zdestabilizować środowisko graficzne.

Info: Jesli potrzebujesz opóźnić wykonanie komendy możesz użyć komendę sleep, np.
 sleep 2 ; xdotool click  3
odczeka 2 sekundy po czym zasymuluje klikniecie 3 przycisku myszy


3. Konfiguracja pliku ".xbindkeysrc".

Info:
- Mapowanie nie programuje myszki. Mapowanie potrafi zmienić działanie klawisza / przycisku tylko w danym systemie operacyjnym.
- Do mapowania potrzeba co najmniej dwóch narzędzi.
xbindkeys do przechwytywania i jakiegoś narzędzia do symulowania przycisków

Tworzenie nowego pliku konfiguracyjnego:

xbindkeys -d > ~/.xbindkeysrc

Edytuj plik ~/.xbindkeysrc i wklej lub wpisz " # " na początku komend, w których nie użyto " # ",
aby te komendy wyłączyć / zakomentować.
Ja znalazłem te linie w ten sposób:

$ xbindkeys -d | grep -v ^"#"

"xbindkeys_show"
  control+shift + q

"xterm"
  c:41 + m:0x4

"xterm"
  control + b:2

Przyjrzyj się tym przykładom, które były domyślnie aktywne w tym pliku konfiguracyjnym.
- Każde ustawienie jest oddzielone pusta linia
- W cudzysłowie znajduje się komenda która zostanie wykonana
- Niżej natomiast przyciski i klawisze które spowodują uruchomienie wyżej komendy.
-  " b:2 " oznacza przycisk myszy nr.2

Info:
"$" --> w terminalu znak zachęty użytkownika
"#" --> w terminalu znak zachęty administratora root
" # " --> w pliku (gdy jest na początku linii) oznacza komentarz, czyli wpis za tym znakiem wpis nie będzie wykonany i ma zadanie tylko informacyjne gdy będziemy czytać plik.
" ~/ " --> oznacza katalog domowy użytkownika
" ~/.xbindkeysrc " --> kropka przed nazwą pliku oznacza że plik jest ukryty
- Działanie komend symulujących wciśnięcie danego przycisku możesz najpierw sprawdzić w terminalu, zanim użyjesz ich w ~/.xbindkeysrc


# Symulowanie rolki myszki przy pomocy przycisków 8 i 9
# == Do Góry ==
"xdotool click --delay 24 --repeat 22 4"
   b:9

# == Na Dół ==
"xdotool click --delay 24 --repeat 21 5"
   b:8

Czyli coś w stylu:  Przyciskiem nr.8 kliknij przycisk nr.5 w czasie 24ms i powtórz klikniecie 21 razy w dol.
Dlaczego 21 razy? Ponieważ jedno klikniecie to tylko fragment obrotu rolki. Przetestuj, a sam zobaczysz.
I tu male ostrzeżenie.
 
Info:
- Komendy xdotool i xte o ile działają dobrze "mi" w terminalu, to nie zawsze z ~/.xbindkeysrc
np. Komenda " "xte 'mouseclick 4'" " na jednym z systemów moich nie działa, wiec użyłem xdotool.
np. Zmniejszenie liczby (czasu) w opcji delay w xdotool oprócz przyspieszenia przewijania, w pewnym momencie ma skutek uboczny.
Próba przyspieszenia przewijania , może powodować skrócenie odległości przewijania.
Może nawet się wydawać że komenda nie działa.


Kilka innych sposobów.
# Sterowanie suwakiem za pomocą klawiszy Page_Up i Page_Down
# == Do Góry ==
"xdotool key Page_Up"
   b:9

# == Na Dół ==
"xdotool key Page_Down"
   b:8

# Powrót na sama gore strony dzięki klawiszowi Home 
# == Do Gory ==
"xdotool key Home"
   b:9

# == Na dol ==
"xdotool key Page_Down"
   b:8

Info:  Wspomniane wyżej klawisze klawiatury można wykorzystać jako zastępstwo
do przewijania strony w przeglądarce,ale nie zadziałają one np. w terminalu
 i w niektórych innych programach, ponieważ spełniają tam inne zadanie.
 Należy wziąć to pod uwagę przy mapowaniu klawiszy.


4. Uruchamianie xbindkeys

xbindkeys

Info:
- Usługę uruchamiasz z konta użytkownika, ponieważ nie wymaga dodatkowych uprawnień
- Jeśli edytujesz plik, powinieneś zresetować proces xbindkeys

$ killall xbindkeys
$ xbindkeys
I to wszystko. Po uruchomieniu xbindkeys twoje zmapowane przyciski powinny już działać.



5. Bezpieczeństwo.
Plik ~/.xbindkeysrc możesz spróbować uczynić niezmiennym (immutable),
czyli zabezpieczyć z konta root żeby plik był nie nadpisywany z konta użytkownika,
np. w ten sposób, ale zmieniając odpowiednio ścieżkę na swoja...
chattr +i -V /home/sciezka_do_pliku/.xbindkeysrc

* Tak, będąc na koncie root powinieneś podać pełną ścieżkę,
 wpisując znak tyldy pomylimy katalog domowy z katalogiem root.


11
Sieć / Otwaty port 123 udp
« dnia: 2019-12-15, 12:08:46 »
Korzystam raz na jakiś czas z "Linux Mint 19 Tara" ( bez dodatkowych cyfr i kropki )

Wyczytałem ze otwarty port 123 jest powszechny w Ubuntu
https://unix.stackexchange.com/questions/404701/ubuntu-udp-traffic-on-port-123
https://serverfault.com/questions/493121/ubuntu-open-udp-port-123

Problem w tym ze nie potrafię znaleźć czemu ten port jest otwarty
mimo domyślnej polityki
# ufw status verbose
Stan: aktywny
Logowanie: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
Nowe profile: skip

Doczytalem na https://help.ubuntu.com/community/UFW
o pliku /etc/ufw/before.rules ale tu tez nie widze
# grep -v "#"  /etc/ufw/before.rules

*filter
:ufw-before-input - [0:0]
:ufw-before-output - [0:0]
:ufw-before-forward - [0:0]
:ufw-not-local - [0:0]


-A ufw-before-input -i lo -j ACCEPT
-A ufw-before-output -o lo -j ACCEPT

-A ufw-before-input -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A ufw-before-output -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A ufw-before-forward -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

-A ufw-before-input -m conntrack --ctstate INVALID -j ufw-logging-deny
-A ufw-before-input -m conntrack --ctstate INVALID -j DROP

-A ufw-before-input -p icmp --icmp-type destination-unreachable -j ACCEPT
-A ufw-before-input -p icmp --icmp-type time-exceeded -j ACCEPT
-A ufw-before-input -p icmp --icmp-type parameter-problem -j ACCEPT
-A ufw-before-input -p icmp --icmp-type echo-request -j ACCEPT

-A ufw-before-forward -p icmp --icmp-type destination-unreachable -j ACCEPT
-A ufw-before-forward -p icmp --icmp-type time-exceeded -j ACCEPT
-A ufw-before-forward -p icmp --icmp-type parameter-problem -j ACCEPT
-A ufw-before-forward -p icmp --icmp-type echo-request -j ACCEPT

-A ufw-before-input -p udp --sport 67 --dport 68 -j ACCEPT

-A ufw-before-input -j ufw-not-local

-A ufw-not-local -m addrtype --dst-type LOCAL -j RETURN

-A ufw-not-local -m addrtype --dst-type MULTICAST -j RETURN

-A ufw-not-local -m addrtype --dst-type BROADCAST -j RETURN

-A ufw-not-local -m limit --limit 3/min --limit-burst 10 -j ufw-logging-deny
-A ufw-not-local -j DROP

-A ufw-before-input -p udp -d 224.0.0.251 --dport 5353 -j ACCEPT


COMMIT

# iptables -S
-P INPUT DROP
-P FORWARD DROP
-P OUTPUT ACCEPT
-N ufw-after-forward
-N ufw-after-input
-N ufw-after-logging-forward
-N ufw-after-logging-input
-N ufw-after-logging-output
-N ufw-after-output
-N ufw-before-forward
-N ufw-before-input
-N ufw-before-logging-forward
-N ufw-before-logging-input
-N ufw-before-logging-output
-N ufw-before-output
-N ufw-logging-allow
-N ufw-logging-deny
-N ufw-not-local
-N ufw-reject-forward
-N ufw-reject-input
-N ufw-reject-output
-N ufw-skip-to-policy-forward
-N ufw-skip-to-policy-input
-N ufw-skip-to-policy-output
-N ufw-track-forward
-N ufw-track-input
-N ufw-track-output
-N ufw-user-forward
-N ufw-user-input
-N ufw-user-limit
-N ufw-user-limit-accept
-N ufw-user-logging-forward
-N ufw-user-logging-input
-N ufw-user-logging-output
-N ufw-user-output
-A INPUT -j ufw-before-logging-input
-A INPUT -j ufw-before-input
-A INPUT -j ufw-after-input
-A INPUT -j ufw-after-logging-input
-A INPUT -j ufw-reject-input
-A INPUT -j ufw-track-input
-A FORWARD -j ufw-before-logging-forward
-A FORWARD -j ufw-before-forward
-A FORWARD -j ufw-after-forward
-A FORWARD -j ufw-after-logging-forward
-A FORWARD -j ufw-reject-forward
-A FORWARD -j ufw-track-forward
-A OUTPUT -j ufw-before-logging-output
-A OUTPUT -j ufw-before-output
-A OUTPUT -j ufw-after-output
-A OUTPUT -j ufw-after-logging-output
-A OUTPUT -j ufw-reject-output
-A OUTPUT -j ufw-track-output
-A ufw-after-input -p udp -m udp --dport 137 -j ufw-skip-to-policy-input
-A ufw-after-input -p udp -m udp --dport 138 -j ufw-skip-to-policy-input
-A ufw-after-input -p tcp -m tcp --dport 139 -j ufw-skip-to-policy-input
-A ufw-after-input -p tcp -m tcp --dport 445 -j ufw-skip-to-policy-input
-A ufw-after-input -p udp -m udp --dport 67 -j ufw-skip-to-policy-input
-A ufw-after-input -p udp -m udp --dport 68 -j ufw-skip-to-policy-input
-A ufw-after-input -m addrtype --dst-type BROADCAST -j ufw-skip-to-policy-input
-A ufw-after-logging-forward -m limit --limit 3/min --limit-burst 10 -j LOG --log-prefix "[UFW BLOCK] "
-A ufw-after-logging-input -m limit --limit 3/min --limit-burst 10 -j LOG --log-prefix "[UFW BLOCK] "
-A ufw-before-forward -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A ufw-before-forward -p icmp -m icmp --icmp-type 3 -j ACCEPT
-A ufw-before-forward -p icmp -m icmp --icmp-type 11 -j ACCEPT
-A ufw-before-forward -p icmp -m icmp --icmp-type 12 -j ACCEPT
-A ufw-before-forward -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A ufw-before-forward -j ufw-user-forward
-A ufw-before-input -i lo -j ACCEPT
-A ufw-before-input -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A ufw-before-input -m conntrack --ctstate INVALID -j ufw-logging-deny
-A ufw-before-input -m conntrack --ctstate INVALID -j DROP
-A ufw-before-input -p icmp -m icmp --icmp-type 3 -j ACCEPT
-A ufw-before-input -p icmp -m icmp --icmp-type 11 -j ACCEPT
-A ufw-before-input -p icmp -m icmp --icmp-type 12 -j ACCEPT
-A ufw-before-input -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A ufw-before-input -p udp -m udp --sport 67 --dport 68 -j ACCEPT
-A ufw-before-input -j ufw-not-local
-A ufw-before-input -d 224.0.0.251/32 -p udp -m udp --dport 5353 -j ACCEPT
-A ufw-before-input -j ufw-user-input
-A ufw-before-output -o lo -j ACCEPT
-A ufw-before-output -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A ufw-before-output -j ufw-user-output
-A ufw-logging-allow -m limit --limit 3/min --limit-burst 10 -j LOG --log-prefix "[UFW ALLOW] "
-A ufw-logging-deny -m conntrack --ctstate INVALID -m limit --limit 3/min --limit-burst 10 -j RETURN
-A ufw-logging-deny -m limit --limit 3/min --limit-burst 10 -j LOG --log-prefix "[UFW BLOCK] "
-A ufw-not-local -m addrtype --dst-type LOCAL -j RETURN
-A ufw-not-local -m addrtype --dst-type MULTICAST -j RETURN
-A ufw-not-local -m addrtype --dst-type BROADCAST -j RETURN
-A ufw-not-local -m limit --limit 3/min --limit-burst 10 -j ufw-logging-deny
-A ufw-not-local -j DROP
-A ufw-skip-to-policy-forward -j DROP
-A ufw-skip-to-policy-input -j DROP
-A ufw-skip-to-policy-output -j ACCEPT
-A ufw-track-output -p tcp -m conntrack --ctstate NEW -j ACCEPT
-A ufw-track-output -p udp -m conntrack --ctstate NEW -j ACCEPT
-A ufw-user-limit -m limit --limit 3/min -j LOG --log-prefix "[UFW LIMIT BLOCK] "
-A ufw-user-limit -j REJECT --reject-with icmp-port-unreachable
-A ufw-user-limit-accept -j ACCEPT

Edit.
Zeby nie bylo i nmap tez mi potwierdza ze jest otwarty.
# nc -v -z -n -w 1 -u  192.168.1.X  123
Connection to 192.168.1.X 123 port [udp/*] succeeded!

12
Tips & Tricks / Sprawdzanie otwartych portów.
« dnia: 2019-11-30, 02:44:09 »
Jak sprawdzić otwarte porty?

Często w poradnikach widzę porady typu
- użyj netstat
- użyj nmap

Ale w większości przypadków te porady są nie pełne lub nie aktualne.
A z takimi poradami niestety na pewno spotka się początkujący użytkownik który prawdopodobnie nie będzie drążył tematu.
Dlatego postanowiłem chociaż tutaj wspomnieć parę słów.


1. USŁUGI.
Komenda netstat służy miedzy innymi do zobaczenia które aplikacje "nasłuchują"
Przykłady:
Cytuj
# netstat -tulgpn | grep "LISTEN"
tcp         0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      786/systemd-resolve
tcp         0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      809/cupsd          
tcp6       0      0 ::1:631                      :::*                        LISTEN      809/cupsd

Cytuj
# lsof -nP -i tcp -i udp | grep "LISTEN"
systemd-r  786 systemd-resolve   13u  IPv4   21574      0t0  TCP 127.0.0.53:53 (LISTEN)
cupsd      809            root    7u  IPv6   24353      0t0  TCP [::1]:631 (LISTEN)
cupsd      809            root    8u  IPv4   24354      0t0  TCP 127.0.0.1:631 (LISTEN)

Cytuj
# ss -autpn -o state listening
Netid      Recv-Q       Send-Q               Local Address:Port               Peer Address:Port                                                       
tcp          0                 128                     127.0.0.53%lo:53                      0.0.0.0:*           users:(("systemd-resolve",pid=786,fd=13))       
tcp          0                 5                         127.0.0.1:631                            0.0.0.0:*           users:(("cupsd",pid=809,fd=8))                 
tcp          0                 5                         [::1]:631                                     [::]:*                 users:(("cupsd",pid=809,fd=7))

Taką aplikację nasłuchującą / czekającą na komendy / polecenia zazwyczaj nazywamy serwerem.
Taką aplikację można sprawdzić do jakiego pakietu należy
Cytuj
# ps aux | egrep '[c]upsd'
root       809  0.0  0.1 106096 12604 ?          Ss   08:45   0:00 /usr/sbin/cupsd -l
root     18265  0.0  0.1 118364 12240 ?        Ss   22:58   0:00 cupsd -C etc/cups/cupsd.conf -s /etc/cups/cups-files.conf

# dpkg -S /usr/sbin/cupsd
cups-daemon: /usr/sbin/cupsd
Zamiast komendy dpkg może występować inna, w zależności od używanej dystrybucji Linux-a.
W dystrybucjach opartych o pakiety .deb używa się komendy dpkg.

Wspomniałem wyżej o usługach nasłuchujących, ponieważ sam w sobie otwarty port nie świadczy o niebezpieczeństwie.
Musi wystąpić np.
Nasłuchująca usługa --> podatność w usłudze --> otwarty port .
A jako że niektórzy "eksperci" uważają że napisanie bezpiecznej aplikacji jest bardzo trudne i jej testowanie wymaga dodatkowego czasu,
już nie mówiąc o podatnościach sprzętowych,
więc trzeba się liczyć z tym że korzystanie z internetu nigdy nie było i być może nigdy nie będzie w 100% bezpieczne.
Dlatego jeśli to możliwe, starajmy się wyłączać zbędne usługi i zamykać zbędne otwarte porty.

2. OTWARTE PORTY.
A) Musimy sprawdzić jakie mamy IP zewnętrzne.
W tym pomogą nam zewnętrzne serwisy. Wystarczy w wyszukiwarkę wpisać " moje ip " i któreś z serwisów powinno je pokazać.
Jeśli ktoś musi przez terminal, to wpisz w wyszukiwarkę  " linux how get external IP from command "
a znajdziesz to co szukasz. A jak dobrze poszukasz to znajdziesz całą masę serwisów pokazującą IP zewnętrzne.

B) Musimy sprawdzić IP naszego komputera
Przykład:
# hostname -I
192.168.1.2
Często jest także używana komenda np. " ifconfig "
( przy czym należy wiedzieć że lo: to połączenie lokalne w systemie które nas teraz nie interesuje i IP jest zaraz po słowie "inet" lub "inet6" dla IPv6 ),
lub inne komendy rzadziej używane które znalazłem w sieci
" ip route list ",
" ip -s -c -h a ",
" ip route show | grep src | awk '{print $9}' ",
" ifconfig | grep -Eo 'inet (addr:)?([0-9]*\.){3}[0-9]*' | grep -Eo '([0-9]*\.){3}[0-9]*' | grep -v '127.0.0.1' "
" ip route get 1 | awk '{print $7;exit}' "

Numer IP to jest taki adres dzięki któremu komputer lub inne urządzenie wie gdzie wysyłać dane.

Jeśli IP komputera i zewnętrzne jest identyczne to skanujemy porty tylko raz.
Ja mam jeszcze router w trybie router który pełni rolę dodatkowej zapory internetowej,
więc będę musiał przeskanować IP routera od strony zewnętrznej (od strony internetu) zwanym IP publicznym lub zewnętrznym i IP komputera.

Do sprawdzania otwartych portów najczęściej używa się komendy nmap.
Poradnik zazwyczaj napisze że należy wpisać " nmap numer_IP " , przykładowo
Cytuj
# nmap  192.168.1.2

Starting Nmap 7.60 ( https://nmap.org ) at 2019-11-30 01:47 CET
Nmap scan report for localhost (192.168.1.2)
Host is up (0.000018s latency).
Not shown: 999 closed ports
PORT    STATE SERVICE
631/tcp open  ipp

Nmap done: 1 IP address (1 host up) scanned in 1.70 seconds
Ale spostrzegawczy użytkownik zauważy coś dziwnego. Tylko 999 portów?
Jeśli wpiszesz w wyszukiwarkę " Port protokołu " i zobaczysz na wiki, to przeczytasz że teoretycznie portów powinno być  0 do 65535.
No właśnie nmap często domyślnie skanuje tylko 1000 pierwszych portów.
Skoro jest jak jest, to wątpię by dyskusja nad tym czy powinno tak być miała sens, zwłaszcza że to wygląda na celowy zabieg, więc skupmy się na tym jak sprawdzić wszystkie porty.
Za komendą można podać zakres portów
Cytuj
# nmap -p0-65535 192.168.1.2

Starting Nmap 7.60 ( https://nmap.org ) at 2019-11-30 02:05 CET
Nmap scan report for localhost (192.168.1.2)
Host is up (0.000018s latency).
Not shown: 65535 closed ports
PORT    STATE SERVICE
631/tcp open  ipp

Nmap done: 1 IP address (1 host up) scanned in 7.62 seconds
W przypadku skanowania routera, skanowanie zajęło mi kilka godzin.
Klikając na klawiaturze przycisk "Enter", można zobaczyć procent % ukończonego procesu skanowania.

Możesz nawet spróbować
nmap -sU -sT -p0-65535 Twoje_IP

I tu taka mała prośba.
Gdyby w przypadku twojego routera okazało by się że, pomimo wyłączonych kompletnie wszystkich usług ( np. serwer czasu, serwer email, itd. )
posiada on otwarte porty, lub gdy znajdziesz inną niezbyt bezpieczną funkcję lub podatność i gdy nie możesz nic z tym zrobić,
 to proszę
- gdy router jest na gwarancji, spytaj / poproś producenta żeby coś z tym zrobił jeśli jest to możliwe
- a gdy nie można nic z tym zrobić, to następnym razem gdy będziesz kupował router, kup bezpieczniejszy lub kup / sprawdź innej firmy.

Jeżeli nie wiesz co danej komendy, dana opcja robi to możesz zobaczyć / przeczytać
man nazwa_komendy 
nazwa_komendy --help

13
Uwagi i propozycje / PORADNIK ! [Poszukiwanie bledow]
« dnia: 2019-11-07, 12:09:56 »
Proponuję do niektórych działów dodać przyklejony poradnik  z tytułem
" PRZECZYTAJ TO !  "
lub
" PORADNIK ! "
Tematy mają być otwarte, aby każdy mógł zgłosić uwagi, poprawki, aktualizacje,  i inne zastrzeżenia.



1. System się nie uruchamia.

- Wyswietla sie logo i potem czarny ekran.
https://www.dell.com/support/article/pl/pl/plbsd1/sln306327/manual-nomodeset-kernel-boot-line-option-for-linux-booting?lang=en
Poradnik pokazuje dwa rozwiazania ustawienia opcji nomodeset
Pierwszy jest ustawieniem tymczasowym <-- polecanym w celu sprawdzenia czy zadziała
Drugie rozwiazanie jest ustawieniem stalym. <-- polecane gdy juz wiemy ze bez tej opcji nie uruchomimy systemu.

- Jeśli pasek ładowania zasłania komunikaty z uruchomienia systemu to
Cytuj
Uruchamiamy komputer i po pojawieniu się listy wciskamy e przechodząc do edycji “procedury startowej”,
Odszukujemy fragment quiet splash
Usuwamy slowo quiet splash
Bootujemy system

- Tryb awaryjny / Recovery mode
Opcja w menu Grub, ktora pozwala
 na uruchomienie systemu w trybie tekstowym. ( w niektórych systemach jest on ukryty )
Opcja ta przydaje sie gdy musimy zobaczyc logi w trybie tekstowym i naprawic nasz system.
https://www.youtube.com/watch?v=8xFAVvrfEdg


2. Logi.

- Init ... /var/log/
https://www.thegeekstuff.com/2011/08/linux-var-log-files/

Przyklady
dmesg | grep -i 'error\|warning\|fail|\segfault'
grep "(WW)\|(EE)" /var/log/Xorg.0.log
grep -ri 'error\|warning\|fail|\segfault' /var/log/*
Przykład z dokumentacji postfix:
egrep '(reject|warning|error|fatal|panic):' /var/log/nazwa_pliku
Nalezy brac pod uwage ze grep wyswietli tylko jedna linie,
dlatego czasami warto odnalesc blad w logu lub wyswietlic sobie wiekszy fragment bledu
aby sprawdzic czy ponizej nie ma dalszej czesci komunikatu.

- Systemd ... journalctl
https://www.digitalocean.com/community/tutorials/how-to-use-journalctl-to-view-and-manipulate-systemd-logs

Wiecej w
journalctl --help
man journalctl

Moim zdaniem najprzydatniejsze
- Lista logow ze wszystkich uruchomien systemu
journalctl --list-boots
- Log z poprzedniego uruchomienia systemu zapisany do pliku "dziennik.log dzieki czemu mozemy przegladac wygodniej w edytorze lub komus wyslac.
journalctl -b -1 > dziennik.log
- W podobny sposob  jak wyzej przejzec plik tekstowy pod katem bledow lub odrazu w terminalu
journalctl -b 0 | grep -i 'error\|warning\|fail|\segfault'
( Co do opcji zero "-b 0", nie jestem pewien czy zadziala, czy wystarczy samo  "-b", nie mam systemd pod reka by sprawdzic :D )

- Jesli problem dotyczy srodowiska graficznego mozesz zapoznac sie takze z
https://forum.linux.pl/index.php/topic,25285.0.html

- Jesli problem dotyczy sterownikow graficznych mozesz zapoznac sie takze z
https://forum.linux.pl/index.php/topic,25062.0.html


3. Szukanie rozwiązania w internecie.
Dlaczego warto szukać i sprawdzać ?
- Czasami jest to szybsze niż otrzymanie pomocy.
- Czasami istnieje tylko obejscie problemu i nikt nam nie naprawi oprogramowania.

Np. gdy nasz sprzęt jest juz nie wspierany lub słabo wspierany przez danych developerów.
Takimi obejściami problemu są np.
* opcja nomodeset dla starszych i niektórych nowszych kart graficznych których dystrybucja Linuxa nie wspiera.
* opcja libata.noacpi=1 gdy Linuxowe ACPI nie chce wspierac juz naszego starego Biosu, a my nie możemy Biosu zaktualizować.
https://blog.le-vert.net/?p=24

Przy szukaniu
- Używaj slow kluczy, czyli takich najistotniejszych
- Możesz użyć slow na początku takich jak
* klucza linux które będzie sugerowało ze szukasz tylko treści dotyczących Linuxa.
* klucza SOLVED ktore bedzie sugerowalo ze szukasz tematow rozwiazanych

Taka ciekawostka:
Kiedys na forach byl taki zwyczaj ze uzytkownik gdy na forum poprosil o pomoc i rozwiazal problem,
to mial obowiazek na koncu napisac " SOLVED ". Dzieki temu latwiej jest znalesc rozwiazania w internecie.


- Unikaj podawania liczb, np. liczb sugerujących numer linii w logu.
- Staraj się aby twój system wyświetlał błędy po angielsku i również staraj się szukać po angielsku
  Ponieważ wpisując zapytanie po angielsku będziesz miał więcej wyników wyszukiwania.


4. Zgłaszanie błędów

Nie ma jednego miejsca na zglaszanie problemow.
- Jesli nie wiemy gdzie, to najlepiej spytac na forum wlasnej dystrybucji linuxa.

Ostrzezenie:
  Nie zawsze forum na ktorym zglaszamy problem jest tym wlasciwym.
  Glownym zalozeniem for jest otrzymanie pomocy, ale nie zawsze uzytkownicy na nich pisza gdzie potem nalezy zglosic problem / błąd.
  Np. Siedze na polsko jezycznym forum i tu moge teoretycznie dostac pomoc w rozwiazaniu problemu.
  Ale jesli problem dotyczy pakietu i developerzy dystrybucji siedza na anglojezycznym forum,
  to tam na anglojezycznym forum powinienem ponownie zglosic problem ( czesto w odpowiednim dziale )
  aby developerzy naprawili pakiet.

- Jesli okazalo sie ze po zgloszeniu problemu na forum problem wystepuje tylko u nas
  i dotyczy on
np. sterownikow kernela to na stronie https://bugzilla.kernel.org/
1) Znajdz po fragmencie bledu czy byl blad juz zgloszony i czy zostal juz naprawiony
2) Jesli blad nie byl zgloszony to wtedy z czystym sumieniem mozesz im zglosic.

np. jesli problem dotyczy programu
- zglosilismy na forum, wszyscy maja ten sam problem.
- sprawdzamy czy jest nowsza wersja programu,  jesli jest to zglaszamy w swojej dystrybucji prosbe o aktualizacje
  w przeciwnym wypadku musimy czekac
- jesli mamy najnowsza wersje i problem wystepuje to szukamy developerow tej aplikacji

Szczegoly skad byl pobrany kod zrodlowy pakietu
* szukamy w informacji o naszym pakiecie
* mozna tez poszukac informacji w samym programie ... "Pomoc" / "O programie"

i taki tylko przyklad z oem
Znalezlismy ze developerzy swoj projekt oem udostepniaja na Github
Github ma taka zakladke " Issues " w ktorej mozna wyszukac
czy blad byl juz zglaszany i jesli nie byl to zglosic developerom w tej zakladce
https://github.com/mate-desktop/eom/issues

Porady:
1. Jesli masz problem z jezykiem angielskim wspomagaj sie translatorem online.
2. Na forach nie zawsze zmiescisz caly log
- mozesz probowac dac go w zalaczniku ( jesli jest za duzy to mozesz go spakowac )
- mozesz probowac wyslac np. na https://pastebin.com/
  i podac uzytkownikom linka aby mogli przejzec lub pobrac log.
3. Staraj sie omawiac problem szczegolowo jesli to mozliwe,
unikniesz dzieki temu zbednych pytan i masz wieksza szanse na szybsza odpowiedz.


Ostatnie aktualizacje tematu:
- 15.11.2019 / Dodalem 1 przyklad szukania bledu z dokumentacji postfix :)

14
Humor, ciekawostki etc. / Sprzet z Linuxem
« dnia: 2019-10-11, 09:01:01 »
Ponieważ  sprzętu z Linuxem przybywa postanowiłem dodać 1 temat.

Przeglądając sprzęt należy wziąć pod uwagę ze pochodzi on z różnych krajów i
może być nie przygotowany dla Europy i  nie dostępny na rynku europejskim.
O szczegóły trzeba zawsze pytać producenta / sprzedawce

(inna klawiatura, inna ilość kanałów wi-fi, brak europejskiej wtyczki do gniazda, czasami trzeba doliczyć VAT lub cło)


MintBox 3 ... a może Compulab Airtop 3
Sprostowanie: na stronie https://fit-iot.com/web/mintbox3-coming-soon/
pisze ze wersja "MintBox3" ma dopiero powstać, ale jest dostępna wersja zwykła także z Linuxem.

https://fit-iot.com/web/product/airtop3-build-to-order/
https://www.youtube.com/watch?v=35OyZzCvG0g
Tylko sprzęt trzeba sobie wybrać i system (np. Linux Mint [XLM])
Cena sugerowana: $1,687.00 ~6 617,43PLN (excl. VAT)
 - czyli bez podatku VAT (~11%?) i trzeba sobie dodać samemu
Mi po wybraniu sprzetu wyszlo $1,814.10 juz nie wspominajac ze jest to mini komputerek.


HUAWEI MateBook
https://www.vmall.com/search?keyword=Linux
( Jeśli potrzebujesz translatora to przetłumaczysz z "chiński tradycyjny")
Zazwyczaj pisze "Linux innej firmy" Ale przeglądając pliki .pdf i informacje w internecie zazwyczaj można przeczytać ze jest to Linux Deepin.
Od 5 699CNY do 8 699CNY czyli od 3 136,73zl do 4 787,93zl


system76
https://system76.com/
Jest tu cala gama sprzętu z możliwością konfiguracji.
Dostępne systemy to Pop OS Linux i Ubuntu Linux
Ciekawostka jest to ze posiada Coreboot czyli Linux Bios. :D https://en.wikipedia.org/wiki/Coreboot


Pominąłem tutaj znanych już producentów od dłuższego czasu np.
GorillaBox z systemem PCLinuxOS  http://www.chimpbox.us/
Dell z Ubuntu Linux https://dell.com/linux
oraz producentów które posiadają certyfikaty kompatybilności z danym systemem,
 ale nie posiadają go zainstalowanego.


Jeśli znasz jeszcze jakiś producentów oferujących sprzęt z Linuxem daj Linka,
 może się kiedyś przyda :D


15
Bash, skrypty powłoki / Pisanie bezpiecznych skryptow.
« dnia: 2019-10-01, 19:42:01 »
Czy ktoś ma pomysły / porady / poradniki / linki jak pisać skrypty bash ?

Gdzieś wyczytałem w poradnikach ze
gdy z poziomu uzytkownika wykonuje skrypt lub jakas komende w systemie jako root
( loguje sie na konto root aby wykonac komende) , to
zmieniając np. $PATH mogę podmienić dowolna komendę i za pomocą jej dostać się na konto root.
Polecili pisać komendy z ich ścieżkami.

Chcialem tego uniknac, czyli zmienna $PATH musialby zawierac tylko " /bin:/usr/bin:/sbin:/usr/sbin "
Poradniki polecaja takie opcje jak
bash --login --noprofile --norc
http://www.linux.pl/man/index.php?command=bash
env --ignore-environment
http://www.linux.pl/man/index.php?command=env

Tylko jak to wdrozyc w zycie?
Zwykle na poczatku pliku jest
#!/bin/bash
Czy da sie zrobic będzie działać ?
#!/bin/bash --login --noprofile --norc
albo
#!/usr/bin/env --ignore-environment bash


Edytowanne 2.10.2019
W kazdym razie mi to nie dziala.
Probowalem jeszcze gdzies indziej pytac i mam nadal metlik w glowie.

Raz mi ktos na pisal ze moge dodac jeden argument do "shebang", a inna osoba ze nie moge.
Tutaj https://pl.wikipedia.org/wiki/Shebang
mozna przeczytac ze
Cytuj
Cytuj
W niektórych wariantach Uniksa możliwe jest też podawanie parametrów, np.:

#!/usr/bin/python -i
No to teraz jak ja mam naprawic swojego Linuxa zeby to bylo mozliwe dla bash?  :(

Ja sobie jakos poradze
- Usuwajac niebezpieczne ustawienia, zmienne i zabezpieczajac plik
chattr +i /home/uzytkownik/.bash_profile  
oraz inne pliki ( .bash_logout .bash_profile  .bashrc ) . Ale nie jest to wygodne. Zwlaszcza gdybym chcial sie podzielic skryptem.
- Uzywanie tylko " #!/bin/bash " i podmienianie zmiennej $PATH w skrypcie, ale to nie gwarantuje bezpieczenstwa. :/
I gdy bede chcial sie podzielic skryptem to nie moge zagwarantowac ze bedzie on odporny na zlosliwe zmienne srodowiskowe.

Taki przyklad "zlosliwych zmiennych" / zlosliwego basha mozna zobaczyc tutaj https://stackoverflow.com/questions/16365130/what-is-the-difference-between-usr-bin-env-bash-and-usr-bin-bash/55927235#55927235

Strony: [1] 2 3 ... 7