# Dosya Paylaşım Eklentisi

## Eklentinin  Amacı

Dosya paylaşım eklentisi, LimanMYS arayüzü üzerinden SMB paylaşımları oluşturulabilmesi olanak tanırken bu paylaşımların yetkilerini yönetebilir, paylaşımlara kota koyabilir ve işi biten paylaşımları kaldırabilir.

## Eklentinin Kullanılacağı Sunucular

Dosya paylaşım eklentisi etki alanına dahil sunucular üzerinde kullanılmalıdır.&#x20;

## Gereksinimler

* acl paketi yüklü olmalıdır

{% tabs %}
{% tab title="Debian" %}

```
sudo apt install acl
```

{% endtab %}

{% tab title="Centos" %}

```
sudo yum install acl
```

{% endtab %}
{% endtabs %}

* Dosya sunucusunda paylaşım köküne kadar olan alan mutlaka 777 iznine sahip olmalıdır

  Aşağıdaki yapılandırmada paylaşım kökü olarak `/paylasim` olarak kullanılmıştır.

  ```bash
  sudo mkdir -p /paylasim
  sudo mkdir -p /opt/paylasimlar
  sudo chmod 777 /paylasim
  sudo chmod 777 /opt/paylasimlar
  Other'ın Çalıştırma Yetkisi Olmalı ve dafultunun write yetkisi olmamalı
  ```
* ```bash
  sudo setfacl -R -dm o:--x /paylasim
  sudo setfacl -m g:"domain users":r-x /paylasim
  sudo setfacl -R -dm o:--x /opt/paylasimlar 
  ```
* Group olarak domain admin olmalı

  ```bash
  sudo setfacl -R -dm g:"domain admins":r /paylasim
  sudo setfacl -R -dm g:"domain admins":r /opt/paylasimlar 
  sudo chown root:"domain admins" -R /paylasim/
  sudo chown root:"domain admins" -R /opt/paylasimlar 
  sudo chmod  770 -R /paylasim/
  sudo chmod  770 -R /opt/paylasimlar 
  ```
* ssh ile eklentide yönetilecek kullanıcı için düzenleme izinleri eklenir

  ```bash
  sudo setfacl -R -m u:yereladmin:rwx /paylasim/
  sudo setfacl -R -dm u:yereladmin:rwx /paylasim/
  sudo setfacl -R -m u:yereladmin:rwx /opt/paylasimlar
  sudo setfacl -R -dm u:yereladmin:rwx /opt/paylasimlar
  ```

### Politika Gereksinimleri

Dosya paylaşım eklentisinden yönetilen paylaşımlara istemciler üzerinde sağlıkli bir şekilde erişilebilmesi ve işlem yapılabilmesi için bazı paket yüklemeleri ve sistem ayarlamalarının yapılması gerekmektedir. Bu ayarların istemciler üzerinde kolayca yapılabilmesi için poliitka kullanılmalıdır. Politikada uygulanması gereken kurallar ise:

* **caja** paketinin yüklenmesi

* Sistem üzerindeki varsayılan dosya yöneticisinin **caja** olarak belirlenmesi

* sssd.conf içerisindeki **nitelikli adları kullan (use fully qualified names)** değişkeninin **True** olarak ayarlanması

* smb.conf içerisinde aşağıdaki ayarlamaların yapılması

  ```
  client min protocol = SMB2
  client max protocol = SMB3
  ```

* **gvfs-\*** paketlerinin yüklenmesi

## Kullanım

### Ağaç ve Paylaşım Dosya Yollarının Belirlenmesi

Eklentiye giriş yapıldığında paylaşımların listelenebilmesi için bir sefer mahsus dosya yolları istenmektedir. Eğer ilk kez bir paylaşım oluşturulacaksa bu kısım istenildiği gibi yazılabilir. Ancak daha önceden oluşturulmuş bir ağaç ya da paylaşımlar varsa ilgili dizinlerin buraya yazılması gerekmektedir.

![](/files/sv7BZ0ApGIJVzmaWVbBd)

### Yeni Dizin Oluşturulması

Dosya yolu girildikten sonra gelen ekranda aşağıdaki gibi sol tarafta paylaşım ağacı ve sağ tarafta halihazırda var olan paylaşımların listelendiği bir ana ekran gelmektedir. Eğer daha önceden bir paylaşım oluşturulmamışsa bu ekran aşağıdaki gibi boş gelecektir.

![](/files/Am9RgLuXV9Sw3GwAMsYD)

Sol tarafta yer alan ağaç ayarlarda kullanıcı tarafından verilen dizinden başlamaktadır. Eğer bu ağaca yeni bir dizin eklenmek isteniyorsa, altına dizin eklenecek dizine sağ tıklayıp Yeni Klasör seçeneğinin seçilmesi gerekmektedir.

Gelen ekranda oluşturulacak dizinin adı girilip Oluştur butonuna tıklanmalıdır.

![](/files/pfS9x7KahNKB2Gdjaf5u)

Dizin oluşturulduktan sonra sol tarafta yer alan ağaç yapısında görüntülenebilir.

![](/files/lTpnyczUM9Xs05q233Vg)

### Paylaşım Oluşturulması

Paylaşım oluşturulacak dizine sağ tıklanıp Paylaşım Oluştur seçeneğinin seçilmesi gerekmektedir. Gelen ekranda ,

![](/files/R1Go50UWFdO89VQYD0db)

Paylaşım yolu sol ağaçtan seçilen yol olduğundan değiştirilememektedir. Oluşturulacak olan paylaşım verilecek opsiyonlarına göre buradaki dizinin altını kapsayacaktır.

Açıklama kısmı zorunlu olmamakla beraber paylaşıma ait açıklama bilgileri bu boşluğa girilmelidir. Son kısımda yer alan seçeneklerden keşfedilebilir seçeneği paylaşımın diğer kullanıcılar tarafından görüntülenebilmesi gerektiğinden **işaretlenmelidir**.

Genel paylaşım politikası tüm kullanıcıların paylaşıma erişebilmesinin kısa yolu olarak düşünülmelidir. Bu seçenek seçilirse domainde yer alan tüm kullanıcılar bu paylaşımı görüntüleyebilir.

Zorunlu olmamakla beraber paylaşımın dosya boyutu(MB cinsinden) oluşturulma aşamasında belirlenebilir. Bu senaryoda oluşturulan paylasim paylaşımının dosya boyutu 100MB olarak belirlenmiştir. Eğer paylaşıma bu boyuttan büyük bir dosya konumlandırılmaya çalışılırsa hata alınacaktır.

Yukarıdaki senaryolara göre modal aşağıdaki gibi şekillenmiş olacaktır.

![](/files/rNteL1OLw5AiKJvrYl9A)

Paylaşım oluşturulduktan sonra ekranın sağ kısmında yer alan paylaşım listesinde listelendiği görülecektir.

![](/files/Kz5P6efdpOOzwFLQ2vNp)

### Paylaşımın Görüntülenmesi

Ekranın sağ tarafında yer alan paylaşımlardan herhangi birine sol tıklanıldığında paylaşıma ait detaylar görüntülenebilmektedir.

![](/files/iZ5sdiaXevrieEMChesE)

### Paylaşım Bilgilerinin Düzenlenmesi

Eğer paylaşım yanlış şekilde oluşturulduysa ya da üzerindeki bilgiler doğru amaca hizmet etmiyorsa, paylaşım adına sağ tıklanarak düzenle sekmesine tıklanarak gelen pencerede paylaşım özellikleri düzenlenebilir.

Bunun için paylaşıma sağ tıklayıp **düzenle** seçeneğinin seçilmesi gerekmektedir. Gelen ekranda **paylaşım açıklaması, keşfedilebilir özelliği ve misafir erişilebilir** olması gibi özellikleri değiştirilebilir.

![](/files/43U1HSAdnOBBSav6rA5p)

### Paylaşım Üzerinde Kullanıcılara Yetki Verilmesi

Etki alanında yer alan kullanıcıları, oluşturulan bu paylaşım üzerinde yetkilendirmek için ilgili paylaşıma sağ tıklayıp **Paylaşım İzinleri** seçeneği seçilmelidir.

Gelen ekranda sol tarafta yer alan **Kullanıcıya İzin Ekle** butonuna tıklanılarak izin verilecek kullanıcı seçilir.

![](/files/CbPybKAitsQjtdSqz9RQ)

Daha sonrasında seçilen kullanıcıya verilmek istenen yetkiler seçilmelidir. Bu yetkiler,

1. **Okuma yetkisi:** Paylaşımın ilgili kullanıcı tarafından görüntülenebileceği anlamına gelir.
2. **Yazma yetkisi:** Paylaşımın içerisinde ilgili kullanıcı tarafından değişiklik yapılabileceği anlamına gelir. (Var olan dosyaya yazma, yeni dosya/dizin oluşturma/silme.)
3. **Özyineli:** Yukarıdaki yetkiler tek başlarına verilirse yalnızca birinci seviyede etkili olmaktadır. Paylaşımın altındaki tüm dizinlerde kullanıcının yetkili olması isteniyorsa bu seçenek de işaretlenmelidir.

Bu yetkilere istinaden,

* Kullanıcıya yalnızca okuma yetkisi verildiğinde Thunar üzerinde yalnızca paylaşımı birinci seviyeden görüntüleyecektir, paylaşımın içerisinde değişiklik yapamayacaktır.

![](/files/aJX9TYHqU5sCGAsBXqRL)

* Kullanıcıya hem okuma hem yazma yetkisi verildiğinde Thunar üzerinde birinci seviyeden paylaşımı görüntüleyecek ve içerisinde değişiklik yapacaktır.

![](/files/DFN82GLDr0vgKt9lV4jR)

* Kullanıcı birinci seviyeden yetki almış olmasına rağmen eğer yeniBirDizin dizini altında paylasimDizini2 oluşturulursa zeki kullanıcısı bu dizine erişebilecektir.
* Ancak hali hazırda var olan dizinlerden birine paylaşım oluşturulup birinci seviyeden yetki verilirse kullanıcı alt dizinlere erişemeyecektir.
* Kullanıcının alt paylaşımlara da ulaşabilmesi için paylasim paylaşımına sağ tıklanarak paylaşım izinleri seçilmelidir. Kullanıcı izinlerinin düzenlendiği pencerede özyineli yetki verilerek kaydedilmelidir.
* Thunar üzerinde kullanıcının tüm paylaşım ve içerisindeki dizinlere erişebildiği görülecektir.

![](/files/oLUyEUpqE70Z62drLQFc)

* Kullanıcının yetkilerinin tüm paylaşımlar üzerinde alınması için, paylaşım izinleri penceresindeki ilgili kullanıcıya sağ tıklayarak özyineli sil seçeneği seçilmelidir.

### Paylaşım Üzerinde Gruplara Yetki Verilmesi

Gruba izin vermek için öncelikle izin verilecek grubun bir güvenlik grubu olması gerekmektedir. Distribution-mail gruplarını GNU/Linux yetkilendirme amaçlı kullanamamaktadır.

İzin verilecek yetkililer grubuna yetki tanımlamak için paylaşıma sağ tıklanarak paylaşım izinleri penceresi açılmalıdır. Gelen ekranda gruba izin ekle butonuna tıklanarak izin verilecek grup ve izinleri seçilmelidir.

Bu noktada kullanıcının eğer kullanıcı oturumu açık iken gruba eklenmiş ise Log in/Log out olması gerekmektedir. Bu bir standart olup Microsoft da Windows ürününde aynı politikayı uygulamaktadır.

Yetkiler özyineli olmadan verildiğinde gruptaki kullanıcıların yalnızca birinci seviyeden yetkili olduğu, alt paylaşım ve dizinlere erişemediği görülecektir

Paylaşım izinleri penceresinde ilgili gruba sağ tıklayarak düzenle seçeneği seçilir ve özyineli seçeneği işaretlenir. Thunar üzerinde ilgili gruba ait kullanıcının tüm paylaşımlara erişebildiği görülecektir.

Gruplardan yetkinin alınması için paylaşım izinleri kısmından ilgili gruba sağ tıklanarak özyineli sil seçeneği seçilmelidir.

### Boyut Ayarlama (Kota İşlemleri)

LimanMYS Dosya Paylaşım eklentisi paylaşımlara kota konulmasına imkan tanıdığı gibi, verilen kotanın sonradan değiştirilmesine de imkan tanımaktadır. Bunun için daha önceden oluşturulmuş paylasim paylaşımına sağ tıklanarak boyut ayarla seçeneği seçilmelidir. İstenen bir boyut verildiğinde paylaşımın boyutu verilen yeni değere göre düzenlenecektir.

Kotalı paylaşımların paylaşım izinlerinin yönetilmesi ve paylaşımın silinmesi işlemleri normal paylaşımlardan farklı değildir. İşlemler aynı şekilde gerçekleştirilebilir.

Kotalı paylaşımlarda dikkat edilmesi gereken en önemli kısım paylaşım ve klasör kotalarının farklarını kavramaktır. Bu problem iç içe kotalı paylaşımlar gerçekleştirildiğinde ortaya çıkmaktadır. İç içe paylaşımlarda alttaki paylaşıma üsttekinden daha büyük bir boyut vermek mantıksal bir hata olarak gözükse de gayet normal bir durumdur. Bu durumu bir örnekle açıklamak gerekirse görseldeki gibi bir klasör yapısının bulunduğunu varsayarsa hiyerarşik olarak D klasörü B klasörünün altında, B ve C klasörleri ise A klasörünün altında bulunmaktadır.

![](/files/jdCgjNleFTF44rNpYJ5b)

Örneğin bu klasörlerden A ve B klasörünlerine paylaşım açıldığı durumda bu paylaşımlar arasında bir hiyerarşi bulunmaz. Unutulmamalıdır ki hiyerarşi yalnızca klasörler arasındadır, **paylaşımlarda hiyerarşi yoktur.**

Örnekten devam edilecek olursa A ve B klasörlerine sırasıyla 50 ve 100 MB'lık kotalı paylaşımlar (paylasim1 ve paylasim2) açılır. Yukarıda da belirtildiği üzere paylaşımlar arasında hiyerarşi bulunmadığından bu kotalar ile paylaşım açmak mümkündür. İşte kotaların hangi paylaşımda ne kadar olarak uygulanacağı bu durumda devreye girer.

![](/files/BFgfmSK2nWiuuXuh2orf)

* **paylasim1 paylaşımına girildiğinde** dosya yöneticisi üzerinde boyutun 50 MB olarak verildiği görülecektir. paylasim1 içerisinde B, C veya D klasörüne gidildiğinde de bu kota değişmeyecektir. Klasör B içerisine girildiğinde boyutun 100 MB olarak görülmesi gerektiği düşünülebilir fakat B klasörü paylasim1 içerisinde (yani A klasöründe) bir dizin olduğundan kotanın değişmesi olanaksızdır. paylasim1 içerisinde hangi dizine gidilirse gidilsin boyut paylasim1'e verilen kota kadardır.
* **paylasim2 paylasimina gidildiğinde** ise kotanın 100 MB olduğu görülecektir. Mantıksal olarak yine A klasörünün içerisindeki B klasörüne girmiş olsak da aslında paylaşım içerisine girdiğimizden boyut paylasim2 kotası ne ise o kadardır.

### Paylaşım Silme

Paylaşımın kaldırılması için paylaşım tablosundan ilgili paylaşıma sağ tıklanarak Sil butonu kullanılır.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.liman.dev/liman-eklentileri/politika-eklentileri/dosya-paylasim-eklentisi.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
