Ubuntu 12.04 üzerinde bir dizine dosya kopyalarken sorun yaşıyorum. Ev dizininde bir dizin oluşturuyorum, böylece kopyalamak istediğim yol:
/home/sixven/camp_sms/inputs
Ancak ini aşağıdaki gibi bir örnek dosya oluşturmak için terminalde aşağıdaki komutu çalıştırdığında:
francisco-vergara@Francisco-Vergara:/home/sixven/camp_sms/inputs$ touch test_file.txt
touch: can not make `touch' on «test_file.txt»: permission denied
Dosyaları doğrudan o dizine kopyalayamıyorum. Dosyaları kopyalamak için chown
& chmod
komutları ile izinleri nasıl atayabilirim?
Hangi kullanıcı ve grubu kullanacağımı bilmiyorum.
Öncelikle Ubuntu'da dizinlerin varsayılan izinlerinin 644 olduğunu bilmelisiniz, bu da sahibi olmadığınız bir dizinde dosya oluşturamayacağınız anlamına gelir.
kullanıcı:francisco-vergaraolarak
kullanıcı:sixventarafından sahip olunan
/home/sixven/camp_sms/inputs` dizininde bir dosya oluşturmaya çalışıyorsunuz.
Peki bu nasıl çözülür:
Dizinin iznini değiştirebilir ve başkalarının içinde dosya oluşturmasını sağlayabilirsiniz.
sudo chmod -R 777 /home/sixven/camp_sms/inputs
Bu komut, dizinin iznini özyinelemeli olarak değiştirecek ve diğer tüm kullanıcıların içindeki dosya ve dizinleri oluşturmasına/değiştirmesine ve silmesine olanak tanıyacaktır.
Bu dizinin sahip gemisini değiştirebilir ve user:francisco-vergara
yı sahip yapabilirsiniz
sudo chown -R francisco-vergara:francisco-vergara /home/sixven/camp_sms/inputs
Ancak bu şekilde user:sixven
bu klasöre tekrar yazamaz ve böylece dairesel bir sonsuz döngü içinde hareket edebilirsiniz.
Bu yüzden 1. seçeneği kullanmanızı tavsiye ederim.
Veya bu dizine her iki kullanıcı tarafından da erişilecekse aşağıdaki numarayı yapabilirsiniz:
dizinin sahipliğini user:francisco-vergara
olarak değiştirin ve grup sahibini group:sixven
olarak tutun.
sudo chown -R francisco-vergara /home/sixven/camp_sms/inputs
Her iki kullanıcının da dizini kullanabilmesi gibi.
Ancak size daha önce de söylediğim gibi **1. seçeneği kullanmak en kolayı ve daha verimlisidir.
Dosya sahipliğini değiştirmek için bunu root olarak yapın:
chown -R user:user /home/sixven
Eğer chmod yöntemini kullanmaya karar verirseniz:
Kullanıcının dosyanın grubunun bir parçası olduğunu biliyorsanız
chmod -R g+rw /home/sixven
Aksi takdirde:
chmod -R o+rw /home/sixven
Ancak bu yol çok güvenli değildir.
Varsayılan UMASK 022 (Ubuntu'da), bu nedenle /home/kullanıcıadı için izinler 755 olur. ve francisco-vergara
kullanıcısı olarak oturum açtınız ve sixyen kullanıcısında dosya oluşturmaya çalışıyorsunuz Ev: yani /home/sixven
. diğer kullanıcılara yazma izni yok Sadece sixven
kullanıcısının / grubunun yazma erişimi var.
eğer bu dizine yazma erişimi istiyorsanız, usermod -G sixyen francisco-vergara
VEYA chmod -R 777 /home/sixven
kullanarak sixven
grubunun bir parçası olmanız gerekir (kullanmayın'kötü bir uygulamadır).