Task 3 Section 5:
Soru 1:
Using relative paths, how would you cd to your home directory?
Home dizinine dönmek için uzun uzun yolu belirtmeden (path) komut yazmayı sormuş:
Yanıt: cd /
Soru 2:
Using absolute paths how would you make a directory called test in /tmp?
Bu defa uzun uzun yolu belirterek /tmp altına test adında bir directory (dizin) yaratmamız isteniyor:
Yanıt: mkdir/tmp/test
Task 4 Section 5:
"ln" komutu şu şekilde açıklanmış: iki ana kullanım şekli var. Bunlardan bir tanesine "hard linking" deniyor ve dosyayı kopyalıyor, kopyalanmış olan dosyayı da asıl dosyaya bağlıyor (linking). Yani, oluşturulmuş olan bağlantıda ne yapılırsa aynısı orijinal olan dosyada da gerçekleşiyor.
Komutu yazmak için :
ln source destination.
Diğer linking kullanımı ise symbolic linking(symlink). Bu versiyonunda sembolik olarak oluşturulmuş bağlantı herhangi bir veri barındırmıyor, sadece diğer dosyaya bir referans oluşturuyor.
symlink komutu da aynı şekilde yazılıyor ancak bir -s ekleniyor:
ln -s <file> <destination>
ls komutu ile dosyaları kontrol ettiğimizde eğer symbolic link varsa bunu işaret eden bir ok ile görebiliyoruz:
** Önemli: symlink gördüğümüz yerdeki yetkileri incelemek önemli. Tam yetki (777 - rwx) teoride symlink'i okur,yazar ve çalıştırır durumda olduğumuzu gösteriyor ancak bu dosya yalnız bir referans olduğundan gerçekte orijinal dosyanın yetkileri ile çalışacaktır.
Soru 1:
How would I link /home/test/testfile to /tmp/test?
Yanıt:
ln /home/test/testfile /tmp/test
Task 5 Section 5:
** find komutu ile ilgili birkaç önemli not:
- Mevcut dizindeki tüm dosyaları listeler
- find / komutu ile işletim sisteminde yer alan tüm dosyalar listelenir.
- Sadece erişim izniniz olan dizinlerdeki dosyaları göstereceğinden her kullanıcı yetkisi ile her dizin / dosya listelenmez.
- find dir -user (örn: find /home -user sinem) şeklinde kullanarak sinem kullanıcısına ait tüm dosyaları listeleyebilirim. Aynı şekilde spesifik bir gruba ait dosyaları görmek için de find dir -group kullanabilirim.
Soru 2:
How do you find files that have specific permissions?
Yanıt:
Bu soruyu yanıtlamak için ilk olarak man find komutunu kullandım ama okunacak gibi değildi :)
Bu nedenle yeni edindiğim bilgiler ışığında küçük çakallıklar denemeye karar verdim :)
İlk olarak man find > find.txt diyerek find komutunun yardım içeriğini find.txt oluşturup bunun içine bir kaydettim.
Sonra grep permission find.txt komutu ile "permission" geçen kısımları ayıklattım ve okudum, sonuç:
-perm
(Eğer bir çıt daha iyi biliyor olsaydım man find | grep permission komutu ile hiç dosya oluşturmaya uğraşmadan da bu işi yapabilirdim. Ayrıca büyük / küçük harf engeline takılmamak için -i kullanmak da akıllıca olabilirdi. Bir başka çok akıllıca yöntem de Google'a sormak ama kolaya kaçmıyoruz.)
Soru 3:
How would you find all the files in /home?
Yanıt:
find /home
Soru 4:
How would you find all the files owned by paradox on the whole system?
Yanıt:
find -user paradox /
Task 5 Section 5:
Bir önceki soruda kullanmak zorunda kaldığım grep komutu anlatılmış. Oldukça basit grep komutu ardından ne arıyorsan o ve sonuna da nerede arıyorsan o yazılıyor:
grep <string> <file>
Birden fazla dosya içerisinde aratmak istiyorsan:
grep <string> <file> <file2>
Güzel de bir örnek verilmiş:
test1234 diye bir dosyan var ama nerede olduğunu bilmiyorsun, tüm işletim sisteminde bunu aratman gerekiyor. Bu durumda find ile işletim sistemindeki tüm dosyaların bir listesini isteyip yanına da grep test1234 koyarsan dosyanı bulabilirsin. Komutu şöyle:
find /* | grep test1234
(ikinci komutu çalıştırmak için o araya giren pipe'ı unutmamak lazım tabii..)
* grep'in dünya güzeli özelliklerinden bir taneside 8576869 satır bir yazı içerisinde spesifik bir kelimenin nerede olduğunu arıyorsanız -n komutu ile hangi satırda olduğunu da size gösterebilmesidir:
grep hello test1234 -n
Soru 1:
What flag lists line numbers for every string found?
Yanıt:
-n
Soru 2:
How would I search for the string boop in the file aaaa in the directory /tmp?
Önce dizin ardından dosyayı belirterek boop'u aşağıdaki şekilde arayabilirim:
Yanıt:
grep boop tmp/aaaa
Task 7:
Soru:
What is shiba4's password?
Belki de çok kolaydı bilmiyorum ama ben biraz canımdan bezdim bu sorunun cevabını bulana kadar.
Açıklamada diyor ki: it will be checking that there's a directory called test in your home directory, how you create that is up to you. It will also be checking that inside the directory there's a file called test1234.
İlk bakılması gereken home dizini altında bir test dizini onun da altında test1234 diye bir dosya olmalı.
Bende olaylar şu şekilde gelişti:
1. shiba3@nootnoot:/home$ ls -la
total 32
drwxr-xr-x 8 root root 4096 Feb 22 2020 .
drwxr-xr-x 24 root root 4096 Feb 22 2020 ..
drwxr-xr-x 2 noot noot 4096 Feb 22 2020 noot
drwxr-xr-x 5 nootnoot nootnoot 4096 Feb 22 2020 nootnoot
drwxr-xr-x 5 shiba1 shiba1 4096 Feb 18 2020 shiba1
drwxr-xr-x 3 shiba2 shiba2 4096 Feb 22 2020 shiba2
drwxr-xr-x 6 shiba3 shiba3 4096 Jan 4 17:12 shiba3
drwxr-xr-x 5 shiba4 shiba4 4096 Jan 4 18:04 shiba4
2. shiba3@nootnoot:/home$ cd shiba3
3. shiba3@nootnoot:~$ pwd
/home/shiba3
4. shiba3@nootnoot:~$ ls -la
total 40
drwxr-xr-x 6 shiba3 shiba3 4096 Jan 4 17:12 .
drwxr-xr-x 8 root root 4096 Feb 22 2020 ..
-rw------- 1 shiba3 shiba3 726 Feb 22 2020 .bash_history
-rw-r--r-- 1 shiba3 shiba3 220 Feb 20 2020 .bash_logout
-rw-r--r-- 1 shiba3 shiba3 3771 Feb 20 2020 .bashrc
drwx------ 2 shiba3 shiba3 4096 Jan 4 16:03 .cache
drwx------ 3 shiba3 shiba3 4096 Jan 4 16:03 .gnupg
-r-xr--r-- 1 shiba3 shiba3 810 Feb 20 2020 .profile
drwx------ 2 shiba3 shiba3 4096 Jan 4 17:12 .ssh
drwxrwxr-x 2 shiba3 shiba3 4096 Feb 22 2020 test
5. shiba3@nootnoot:~$ cd test
6. shiba3@nootnoot:~/test$ ls -la
total 8
drwxrwxr-x 2 shiba3 shiba3 4096 Feb 22 2020 .
drwxr-xr-x 6 shiba3 shiba3 4096 Jan 4 17:12 ..
-rw-rw-r-- 1 shiba3 shiba3 0 Feb 22 2020 1234
-rw-rw-r-- 1 shiba3 shiba3 0 Feb 22 2020 test1234
Sırada, yine sorunun açıklama kısmında belirtmiş olduğu shiba4 binary'i bulmak vardı:
7. find */ | grep shiba4
shiba4 binary'i nerelerde arayacağımızı bulduktan sonra;
8. shiba3@nootnoot:/$ cd opt/secret/
9. shiba3@nootnoot:/opt/secret$ ls -la
total 20
drwxr-xr-x 2 root root 4096 Feb 22 2020 .
drwxr-xr-x 3 root root 4096 Feb 22 2020 ..
-rwsrwxrwx 1 root root 8456 Feb 22 2020 shiba4
10. shiba3@nootnoot:/opt/secret$ ./shiba4
test****
Task 9 Section 6
(man sudo | grep nearıyorsan ile bu sorulara cevap bulmak mümkün)
Soru 1:
How do you specify which user you want to run a command as?
Kim olarak komut vereceğimi aşağıdaki şekilde seçiyorum:
Yanıt:
-u : Run the command as a user other than the default target user (usually root).
Soru 2:
Bu defa whoami komutunu jen kullanıcısı olarak çalıştırmak istiyorum:
How would I run whoami as user jen?
Yanıt:
sudo -u jen whoami
Soru 3:
How do you list your current sudo privileges(what commands you can run, who you can run them as etc.)
Yanıt:
-l
Task 10 Section 6
Bir kullanıcı eklemek istiyorsam: adduser kullanıcıadı
Bir kullanıcıyı bir gruba eklemek istiyorsam: usermod -a -G <groups seperated by commas> <user>
Soru:
How would I add the user test to the group test?
Yanıt:
sudo usermod -a -G test test
(Root yetkileri ile yapılabilen bir işlem olduğundan başına sudo eklemek gerekiyor.)

Hiç yorum yok:
Yorum Gönder