安装Web服务器后,有一种简单的方法可以设置用户使用图形界面将文件和目录复制到本地Web服务器/ var / www的能力。
我给自己在Ubuntu中的管理特权,但是它仍然不允许复制。
安装Web服务器后,有一种简单的方法可以设置用户使用图形界面将文件和目录复制到本地Web服务器/ var / www的能力。
我给自己在Ubuntu中的管理特权,但是它仍然不允许复制。
Answers:
如果使/ var / www的组可写,并将该用户添加到该组,则该用户将不必使用sudo。尝试这个:
sudo adduser <username> www-data
sudo chown -R www-data:www-data /var/www
sudo chmod -R g+rwX /var/www
然后,用户应该可以轻松编辑/ var / www /文件。
第一行将用户添加到www-data组,第二行清除所有权混乱的所有文件,而第三行则使所有属于www-data组成员的用户都可以在其中读写所有文件。 / var / www。
如果<username>
需要登录,则需要注销并重新登录,以使组成员身份生效。
sudo adduser <username> www-data; sudo chgrp -R www-data /var/www; sudo chmod -R g+rw /var/www; find /var/www -type d -print0 | sudo xargs -0 chmod g+s
注销并再次登录以选择新的群组。我这样做是chmod g+s
为了强制新文件和目录选择组所有者(www-data),并确保传播我的权限更改。
/var/www
root:root的所有权,所以最好不要保留sudo chgrp -R www-data /var/www
它sudo chgrp -R www-data /var/www/*
。
composer.json
和LICENSE
)使用二进制图标显示。composer.json
在文本编辑器中打开会显示一个空白文件,最糟糕的是我也无法浏览某些子文件夹,我什至尝试了@DonFaulkner建议的其他命令,但还是没有运气。如果我使用终端作为root用户,一切都应该是正确的。任何人都知道为什么会这样吗?
您可以chown
,即该文件夹ch
的own
er。这将允许您更改文件夹的用户和组,从而允许用户在其上添加/删除文件。为此,请替换yourusername
为您的名字并运行:
sudo chown yourusername.users /var/www
就是这样。
但是,我倾向于在主文件夹中创建一个虚拟主机,这要容易得多。
基本上,它允许您将任何文件夹用作apache服务文件夹。为了显示它的简单性,假设您的用户名是username,并且要提供的文件夹是/ home / username / www。
mywebprojects
在/ etc / apache2 / sistes-available中创建以下文件(例如),以替换用户名和文件夹路径(基本上只需在#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>
现在,我们创建www
文件夹,添加一个简单的hello world,禁用默认网站(/var/www
),启用我们的网站mywebprojects
并重新启动apache。
mkdir ~/www
echo "<html><h1>Hello World</h1></html>" > ~/www/test.html
sudo a2dissite default #
sudo a2ensite mywebprojects
sudo service apache2 restart
而且,现在您不需要转到/var/www
,只需将文件添加到您的www
(或其他赠名)中,并且它已经存在:)。
方法1:
按ALT+ F2并输入gksudo nautilus,然后单击“运行”。
方法2:
nautilus -q
您的终端以刷新右键菜单。 它将以root权限打开该文件/文件夹。
/var/www
。一次意外按下该[delete]
键,您可能会得到无法启动的系统。
它可能和sudo usermod -a -G developers $username
使用ACL 一样简单。
但是,这需要一点工作。至少适用于Ubuntu 10.10。首先使用/ etc / fstab中的acl选项挂载文件系统。
sudo vim /etc/fstab
UUID = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx / ext4默认值,acl 0 1
sudo mount -o remount,acl /
然后建立一个用户可以为此目的所属的组。
sudo groupadd developers
sudo usermod -a -G developers $username
用户需要注销然后再次登录才能成为开发人员组的成员。
当然,如果您要在/ var / www目录中包含内容,则不要执行此操作,而只是为了说明将其设置为开始:
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
然后在配置文件中将对“ / var / www”的引用替换为“ / var / www / public”并重新加载。
sudo vim /etc/apache2/sites-enabled/000-default
sudo /etc/init.d/apache2 reload
如果我们想限制创建文件的用户以外的所有用户的删除和重命名:
sudo chmod +t /var/www/public
这样,如果我们想为Apache文档根目录之外的框架创建目录,或者创建服务器可写目录,这仍然很容易。
Apache可写的日志目录:
sudo mkdir /var/www/logs
sudo chgrp www-data /var/www/logs
sudo chmod 0770 /var/www/logs
Apache可读的库目录:
sudo mkdir /var/www/lib
sudo chgrp www-data /var/www/logs
sudo chmod 0750 /var/www/logs
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
-line发生了什么吗?它是按字面意思添加还是希望用户找到该行并编辑后面的选项?
sudo rm -rf /var/www
-step。看来似乎没有必要。
sudo blkid
UUID=xxxx
部分sudo blkid
。
最简单的方法是按照以下步骤操作:
sudo -s
您的密码并登录。root
。nautilus
它将以root身份为您打开主文件夹。因此,现在您可以轻松地编辑文件并执行所需的任何操作。希望这可以帮助。:)
sudo -i
,sudo -s
出于相同的原因,sudo -H
它比sudo
运行单个图形应用程序更可取。(sudo -s
不重置HOME
,因此用户可能会在其主目录中获得应该属于它们但属于根目录的配置文件。)