Sistem Yöneticileri ve Geliştiriciler için Linux İzinleri

Sistem Yöneticileri ve Geliştiriciler için Linux İzinleri

Sistem Yöneticileri ve Geliştiriciler için Linux İzinleri

Linux'ta izinler konusu ve bunun "chmod" komutuyla doğru kullanımı, SL Topluluklarında çok yaygın olarak ortaya konulan ve tartışılan bir konudur. Gelişmiş Kullanıcılar, Teknisyenler ve Sunucu ve Sistem Yöneticileri tarafından. Örneğin Blogumuzda bununla ilgili çok iyi 2 yayınımız var: Linux'ta İzinler ve Haklar (01/12) y Chmod ile GNU / Linux'ta temel izinler (08/16).

Ama birçok kez SW Geliştiricileri Uygulamaları ve Sistemleri, çoğu Sistemleri ve Web Sitelerini oluşturan kimler, onları geliştirirken, genellikle hangilerinin kendilerine uygulanacak doğru izinleri dikkate almazlar, görevi neredeyse her zaman Sunucu ve Sistem Yöneticilerinin yanında bırakır. Bu yayında bu konuda onlara biraz rehberlik etmeye çalışacağız.

DevOps / BDA için Linux İzinleri: Giriş

Giriş

Komuta "chmod»Linux tabanlı İşletim Sistemlerinin gelişmiş kullanımı için çok yararlı ve önemlidir. Ancak, "chmod" bağımsız bir paket olmayıp, pakete entegre edilmiştir "Coreutils«. "Coreutils" paketi, İşletim Sistemine dosya yönetimi, komut yorumlayıcıları ve sözcük işleme için birçok temel araç sağlayan bir pakettir. Ve genel olarak, çoğu Linux dağıtımında varsayılan olarak zaten yüklüdür.

Bu paket özellikle "chmod" komutuna ek olarak aşağıdaki komutları içerir: arch base64 basename cat chcon chgrp chmod chown chroot cksum comm csplit kesim tarihi dd df dir dircolors dirname du echo env genişletme ifade faktörü false flock fmt katlama grupları head hostid id install join connect ln logname ls md5sum mkdir mkfifo mknod mktemp noh noh noh noh noh noh noh noh noh od yapıştırma pathchk pinky pr printenv printf ptx pwd readlink realpath rm rmdir runcon sha * sum seq shred sleep sort split stat stty sum sync tac tail tee test timeout touch tr true truncate tsort tty uname unexpand uniq unlink users vdir wc whoami whoami yes.

Özetle, "chmod" komutu, İşletim Sistemi tarafından yönetilen tüm kullanıcılar için dosya ve klasör izinlerini yönetme gibi çok önemli bir göreve izin verir. Bunun nedeni, bir İşletim Sistemi olarak Linux'un çok kullanıcılı olmasıdır ve bu nedenle, çalışma ortamına, tüm sistem kaynaklarını ve cihazları içeren dosyalar ve dizinler üzerindeki yetkilendirilmiş işlemler kümesini kontrol etmek için bir izin sistemi sağlaması gerekir.

içerik

SW / BD için Linux İzinleri: İçerik 1

Yazılım Geliştiricileri için kullanın

Bir Sunucu ve Sistem Yöneticisi (Sysadmin), X düzeyinde bir Kullanıcıya X dosyası veya klasöründe hangi izinleri vereceğine karar verirken, üzerinde tam olarak ne tür işlemler veya işlemler gerçekleştirmeleri gerektiğini bilmesi gerekir. Bir Web Sunucusu durumunda, Kullanıcılar 2 tipte sınıflandırılabilir:

  1. Yönetici Kullanıcılar: Sunucuda oturum açmak için bir kullanıcı hesabına sahip olanlar, belirli ayrıcalıklara sahip olanlar ve genellikle SSH veya SFTP aracılığıyla kurulan Sistem veya Web Sitesinde belirli değişiklikleri (kopyalama / silme / değiştirme) gerçekleştirenler.
  2. Yönetici Olmayan Kullanıcılar: Sadece Site ve Web Sisteminin ziyaretçileri oldukları için sunucuda bir kullanıcı hesabına sahip olmadıkları. Ve bu nedenle, dosyalara ve klasörlere doğrudan erişim izinleri yoktur, bunun yerine Sitenin web arayüzü veya kurulu Web Sistemi aracılığıyla onlarla etkileşimde bulunurlar.

Ancak, bir Sysadmin yeterli veya yeterli almadığında Yüklenecek Web Sitelerinin ve Sistemlerin yetenekleri, işlevleri veya dosya yapısı hakkında SW Geliştiricilerinin sağladığı bilgiler, belgeler veya destek güvenilir maksimumu yürütmekle sonuçlanır, bu durumda genellikle:

chmod 777 -R /var/www/sistema-web

Ve çoğu zaman şununla biter:

chown root:root -R /var/www/sistema-web

SW / BD için Linux İzinleri: İçerik 2

Uyarı

Bu genellikle kötü bir uygulamadır, ancak genellikle herhangi bir izin sorununu ve yüklü Web Sitelerinin ve Sistemlerinin kötü yürütülmesini önler. Kötü bir uygulama, çünkü chmod 777 komutu bir Site veya Web Sisteminin klasör ve dosyalarında bu şekilde yürütüldüğünde, bunun hiçbir güvenliği yoktur.

Site veya Web Sisteminin herhangi bir kullanıcısının çevrimiçi olarak Site veya Web Sisteminin dosya yapısındaki herhangi bir dosyayı Web Sunucusu veya ötesinde, büyük engeller olmaksızın değiştirmesini veya silmesini mümkün kılmak. Ziyaret eden kullanıcılar adına hareket eden Web Sunucusu olduğu ve yürütülen aynı dosyaları değiştirebildiği unutulmamalıdır.

Ve kullanıcının bir saldırgan olması ve Site veya Web Sisteminde bir miktar güvenlik açığı yakalaması durumunda, onu tahrif etmek, devre dışı bırakmak için kolayca kullanabilir.veya daha da kötüsü, kimlik avı saldırılarını gerçekleştirmek için kötü amaçlı kod eklemek veya kimsenin kolayca haberi olmadan sunucudan bilgi çalmak.

SW / BD için Linux İzinleri: İçerik 3

Öneriler

Bu tür önlemlerden kaçınmak için, ya Sysadmin veya SW Developer, çeşitli Sistemlerin veya Web Sitelerinin klasörlerinin ve dosyalarının doğru ve gerekli izinleri ve kullanıcıları taşımasını sağlamalıdır. gelecekteki güvenlik ve gizlilik sorunlarını önlemek için.

İzin seviyesinde, kurulu bir Sistemin veya Web Sitesinin izinlerini ve kullanıcılarını normale döndürmek için aşağıdaki 3 komut gerçekleştirilebilir.yani, tüm dizinlere 755 ve dosyalara 644 değerini ayarlayın.

Bunları her zaman Sistem veya Web Sitesi klasöründe çalıştırmayı hatırlamak, örneğin sunucunun kökü gibi daha yüksek bir klasörde (dizin) çalıştırıldıklarında, komut komutları Sunucunun tüm izinlerini büyük olasılıkla çalışmaz halde bırakarak özyinelemeli olarak değiştirecektir.

SW / BD için Linux İzinleri: İçerik 4

Klasörlere (Dizinler) uygulanan izinler

Örnekler

Dizinler ve dosyalar izinleri

find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;

y

chmod 777 -R .

o

chmod 777 -R /var/www/sistema-web

Sistem veya Web Sitesinin klasörünün (dizin) dışında olması durumunda.

Sistem veya Web Sitesi Kullanıcıları

chown www-data:www-data -R .

o

chown www-data:www-data -R /var/www/sistema-web

Sistem veya Web Sitesinin klasörünün (dizin) dışında olması durumunda. Ve kullanıcı www-verileri, Apache2'nin kullanımı söz konusu olduğunda en çok kullanılan veya en uygun olanı olduğu için yalnızca örnek olarak kullanılmıştır.

SW / BD için Linux İzinleri: İçerik 5

Dosyalara (Dosyalara) uygulanan izinler

İzin değişiklikleri yapıldıktan sonra, farklı izinlere sahip olmak istediğimiz dizinlerin ve dosyaların izinlerini manuel olarak değiştirmeye devam edebiliriz.. Ve gerekirse, gerekli olanların sahip kullanıcılarını değiştirin. Bu nedenle, bu noktada, hem Sysadmin hem de Yazılım Geliştiricileri, Sistem veya Web Sitesi yapısının her bir klasörü ve dosyası için gerekli izinlerin ne olması gerektiği konusunda anlaşmalıdır.

SW / BD için Linux İzinleri: Sonuç

Sonuç

Linux veya UNIX işletim sistemlerinin dosya ve klasörleri üzerindeki izinlerin yönetimi, bunun en büyük avantajlarından ve faydalarından biridir., çünkü dosyalar ve klasörler üzerindeki farklı erişim, düzenleme ve çalıştırma düzeylerinde daha iyi, hassas ve güvenli bir kontrol sağlarlar.

Ve çok daha fazlası, Web Sunucuları seviyesine gelindiğinde, yani bir Organizasyonun Sistemlerinin veya dahili ve harici Web Sitelerinin barındırıldığı, gizlilik, güvenlik ve işlevsellik arasında en iyi dengeyi sağlamak için her bir dizine veya dosyaya hangi izinlerin atanması gerektiğini bilmek daha yüksek bir önceliktir.


Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: Miguel Ángel Gatón
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.

  1.   polg28 dijo

    Günaydın nasılsın?
    Linux ile uğraşıyorum, ondan dosya içe aktarabilen bir uygulamam var, kullanıcı veritabanına ekledikleri dosyaları açtıktan sonra xml dosyaları içeren bir klasör içeren bir .zip yüklüyor. Windows'ta hiçbir sorun yaşamıyorum, uygulamayı linux'a geçirirken bazı izinleri kaçırıyor, prensip olarak bu makalede söylediklerini yaptığım her şeyi test etmek için ve yapılmamalı haha ​​(ama bir kez değiştireceğim Tüm işlevleri doğrulayabilirim).
    Gerçek şu ki, dosyalar sıkıştırılmış durumda ancak görüyorum ki sadece sahipler için okuma ve yazma izinleri ile indiriliyorlar, sahipler grubu için ve diğerleri için izinler olmadan okunuyorlar. Dosyaların, uygulamayı kullanan kullanıcıya ait olduğu zaman. Yürütme izinlerine sahip olmadığım için, işlemin normal akışını izleyemeyeceğini ve xml'yi veritabanına eklemeye devam edemeyeceğini anlıyorum. Sorumun geldiği sistemde henüz sahip olmadığım dosyalara nasıl izin verebilirim? İndirilen klasörde (tmp) tüm izinlere sahiptir, bunlar re-italik bir şekilde uygulanır, ancak bu klasör içindeki dosyalar her indirildiğinde yalnızca belirtilen izinlere sahip olurlar. Bu klasörde görünen dosyaların da yürütme izinleriyle bırakılmasının bir yolu var mı?
    Umarım net olmuşumdur, şimdiden çok teşekkür ederim ve mükemmel bir blog

  2.   Linux Sonrası Yükleme dijo

    / Tmp veya… / tmp klasörünün 755 izne sahip olduğunu varsayıyorum, ancak bu durumda bile uygulamanın sahibi olan kullanıcı bunları bıraktığında, diğer izinlerle bırakıyor. Ben bir geliştirici değilim, ancak uygulama dilinde veya başka birinin, gerekli izinlerin (chmod) komut komutunu (bash) ve dosyaların sahibini (chown) çalıştıran bir rutini gösterebileceğini varsayıyorum. Aksi takdirde, komut dosyasını çalıştırdığı her dakika çalıştırabilirsiniz.