Linux'un ilkelerinden biri: hepsi bir dosyadır. Bu, süreç ve dizinlerin dosya olarak ele alınması gerektiği ve tüm dosyaların üç grup izinleri olduğu anlamına gelir: kullanıcı için, grup için ve geri kalan kullanıcılar için.
İzinler şunlardır: 1 yürütme, 4 okuma, yazma 2. Dolayısıyla, "644" iznine sahip bir dosya gördüğünüzde, kullanıcının bu dosyayı okuyabileceği ve yazabileceği anlamına gelir, bu arada grup ve kullanıcıların geri kalanı sadece okuyabilir. Bir dosya izinleri "777" (MS Windows yolu) görürseniz, bu, tüm insanların istedikleri şeyi bu dosya ile yapabildikleri anlamına gelir, aksine "000" iznine sahip bir dosya, bunun sahibi için bile "kilitlenir" dosya. demektir
-rw-r--r-- 1 manuel manuel 0 Mär 20 12:41 test.txt
: "sahibi kullanıcı manuel okuyabilir ve yazabilir
$ touch test.txt
$ ls -l test.txt
gibi bir şey göreceksiniz: iznini değiştirmek için komut "chmod" Örneğin, yeni bir dosya oluşturmak olduğunu Bu dosya, grup manuel kullanıcı üyeleri sadece bu dosyayı okuyabilir ve geri kalanları sadece okuyabilir. "
Bu izinler nereden geldi? Onlar "umask" için tanımlanmıştır, varsayılan olarak umask, oluşturduğunuz veya kopyaladığınız yeni dosyalar için 644 ve "ls -la" yazarken "mkdir" komutuyla bir dir oluşturduğunuzda dirsekler için 755 "dosya" dizininin bir dizin olduğunu ve bir kullanıcı için erişilebilecek yürütme izinlerine gereksinim duyduğunu belirten bir satırın başlangıcında bir "d" görürsünüz: linux dizinlerinde yürütme izinleri olan dosyalar vardır.
Her zaman
Eğer komutla sisteme yeni bir kullanıcı eklemek:
$sudo adduser thomas
komut otomatik ayrıca grup "thomas" ve ona/home dizininde bir dir oluşturur oluşturur. Apt-get, apache veya mysql veya postgresql'yi yüklediğinizde, bu işlemlerin üstesinden gelmek için benzersiz bir kullanıcı ve bir grup oluşturur, çünkü tüm işlemlerin tek bir yönetici kullanıcı için ele alındığı bir Windows benzeri yaklaşım açısından tehlikeli, eğer birisi bu kullanıcıyı tüm sistemin tam kontrolüne sahip olacaktı. Elbette Linux'ta kullanıcı "root", daha az sayıda işlemi mümkün olduğunca çalıştırmalıdır.
Sen ile sisteminizde mevcut gruplarını görebilirsiniz: o değil dosyanın çünkü can, "Thomas" az önce oluşturduğumuz dosya metin.txt düzenlemek istiyor kullanıcıyı varsayalım, Şimdi
$ cat /etc/group
"manuel" kullanıcısına ve "manuel" grubuna aittir.Eğer komut chown ile dosyanın sahibini değiştirebilir, birkaç seçeneğiniz vardır:
şimdi dosya kullanıcı "thomas" "thomas" grubu ve sahip olduğu, ne var ki belki bir sorun
$ chown thomas.thomas test.txt
dosyayı daha sonra düzenlemek istiyorsunuz ve şimdi yapamazsınız. Bunun yerine sahibini değiştirmek için, belki sadece dosyaya yazma izinleri eklemek gerekir:
$chmod 666 test.txt
Şimdi kullanıcı Thomas de seni bu dosyadaki yazabilir ve. Ama şimdi
'un herhangi bir kullanıcısının dosyada yazabileceği problem var.
$sudo useradd -G manuel thomas
artık "Thomas" grubunun "manuel üyesidir: grubuna kullanıcı eklemek için
$chmod 664 test.txt
ve sonra: gerçek çözüm kullanıcıya ve gruba yazma izinlerini vermek "(bir kullanıcı birçok gruba üye olabilir) ve daha sonra dosyaya yazabilir, ancak diğer kullanıcılar yapamaz.
drwxr-xr--+ 4 root root 4096 Mar 20 12:50 ./
onu çalıştırma izni yok root ve kök grubu ve hduser sahibi olduğu "dosya" dir:
Artık dir anlıyoruz.
$ sudo chown -R hduser /media/avp/
veya grubu "root" için hduser ekleyebilir ama bu tehlikeli olurdu: Sen hduser için yinelemeli bütün dizini vermek gibi birçok şey yapabilirsiniz.
Kapsamlı açıklama için teşekkürler! – avp