Une fois le serveur Web installé, existe-t-il un moyen simple de définir un utilisateur capable d’utiliser l’interface graphique pour copier des fichiers et des répertoires sur le serveur Web local/var/www
Je me suis octroyé des privilèges d’administration dans Ubuntu mais cela n’autorise toujours pas les copies.
Si vous créez/var/www en écriture pour son groupe et ajoutez l'utilisateur au groupe, cet utilisateur n'aura pas à utiliser Sudo. Essaye ça:
Sudo adduser <username> www-data
Sudo chown -R www-data:www-data /var/www
Sudo chmod -R g+rwX /var/www
L'utilisateur devrait alors pouvoir éditer/var/www/files sans tracas.
La première ligne ajoute l'utilisateur au groupe www-data, la deuxième ligne efface tous les fichiers dont les droits de propriété sont altérés, et la troisième permet à tous les utilisateurs membres du groupe www-data de pouvoir lire et écrire tous les fichiers/var/www.
Si vous êtes connecté en tant que <username>
, vous devez vous déconnecter et vous reconnecter pour que l’appartenance au groupe prenne effet.
Vous pouvez chown
name__, c'est-à-dire ch
name__etablissez le own
name__er de ce dossier. Cela vous permettra de changer l'utilisateur et le groupe du dossier, permettant à votre utilisateur d'ajouter/supprimer des fichiers dessus. Pour ce faire, remplacez yourusername
par votre nom et exécutez:
Sudo chown yourusername.users /var/www
Et c'est tout.
Cependant, je préfère créer un hôte virtuel dans mon dossier personnel, c'est beaucoup plus facile.
En gros, il vous permet d’utiliser n’importe quel dossier en tant que dossier de service Apache. Pour montrer à quel point c'est simple, supposons que votre nom d'utilisateur est nom d'utilisateur et que le dossier que vous souhaitez servir est / home/nom d'utilisateur/www
Créez le fichier suivant (par exemple mywebprojects
name__) dans/etc/Apache2/sistes-available en remplaçant le nom d'utilisateur et le chemin du dossier (il suffit de copier-coller et de remplacer dans #CHANGE HERE):
<VirtualHost *:80>
ServerAdmin webmaster@localhost
# CHANGE HERE
DocumentRoot /home/username/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
# CHANGE HERE
<Directory /home/username/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/Apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/Apache2/access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
Créons maintenant le dossier www
name__, ajoutons un monde simple bonjour, désactivez le site Web par défaut (/var/www
), activez notre site Web mywebprojects
et redémarrez Apache.
mkdir ~/www
echo "<html><h1>Hello World</h1></html>" > ~/www/test.html
Sudo a2dissite default #
Sudo a2ensite mywebprojects
Sudo service Apache2 restart
Et cela, maintenant vous n’avez plus besoin d’aller à /var/www
, vous ajoutez simplement des fichiers à votre www
(ou autre prénom) et c’est déjà là :).
Méthode 1:
Presse ALT+F2 et entrez gksudo nautilus puis cliquez sur Exécuter.
Méthode 2:
nautilus -q
dans votre terminal pour actualiser les menus par clic droit.Il ouvrira ce fichier/dossier avec la permission root.
Cela pourrait être aussi simple que Sudo usermod -a -G developers $username
en utilisant ACL.
Cela prend un peu de travail, cependant, pour commencer. Ceci est pour Ubuntu 10.10 au moins. Commencez par monter les systèmes de fichiers avec l'option acl dans/etc/fstab.
Sudo vim /etc/fstab
UUID = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/ext4 par défaut, acl 0 1
Sudo mount -o remount,acl /
Créez ensuite un groupe auquel un utilisateur peut appartenir à cette fin.
Sudo groupadd developers
Sudo usermod -a -G developers $username
L'utilisateur doit se déconnecter puis se reconnecter pour devenir membre du groupe de développeurs.
Bien sûr, ne le faites pas si vous avez le contenu souhaité dans le répertoire/var/www, mais juste pour illustrer sa configuration:
Sudo rm -rf /var/www
Sudo mkdir -p /var/www/public
Sudo chown -R root:developers /var/www/public
Sudo chmod 0775 /var/www/public
Sudo chmod g+s /var/www/public
Sudo setfacl -d -m u::rwx,g::rwx,o::r-x /var/www/public
Remplacez ensuite les références à "/ var/www" par "/ var/www/public" dans un fichier de configuration, puis rechargez.
Sudo vim /etc/Apache2/sites-enabled/000-default
Sudo /etc/init.d/Apache2 reload
Si nous voulions restreindre la suppression et le changement de nom de tous, à l'exception de l'utilisateur qui a créé le fichier:
Sudo chmod +t /var/www/public
De cette façon, si nous voulons créer des répertoires pour des infrastructures qui existent en dehors de la racine du document Apache ou peut-être créer des répertoires accessibles en écriture au serveur, cela reste simple.
Répertoire des journaux en écriture Apache:
Sudo mkdir /var/www/logs
Sudo chgrp www-data /var/www/logs
Sudo chmod 0770 /var/www/logs
Répertoire de la bibliothèque lisible par Apache:
Sudo mkdir /var/www/lib
Sudo chgrp www-data /var/www/logs
Sudo chmod 0750 /var/www/logs
/var/www folder
est la propriété de la racine. vous devez changer le propriétaire en votre propre nom d'utilisateur pour modifier les fichiers de ce dossier. Pour cela, vous pouvez essayer les commandes suivantes.
Sudo -i
// pour passer à la console racine
Sudo chown -R <username> <path> // for eg. Sudo chown -R scott /var/www/html (scott is the username, -R indicates recrusive)
Désormais, la propriété du dossier /var/www/html will
sera attribuée à l'utilisateur scott
. Maintenant, Scott peut copier/déplacer des fichiers dans ce dossier.
La meilleure façon de faire est de suivre les étapes ci-dessous: -
Sudo -s
et connectez-vous avec votre mot de passe.root
.nautilus
et le dossier d’accueil s’ouvrira pour vous en tant que root. Alors maintenant, vous pouvez facilement éditer les fichiers et faire ce que vous voulez.J'espère que cela t'aides. :)