k_g*_*ham 160 permissions webserver
安装网络服务器后,有一种简单的方法可以设置用户能够使用图形界面将文件和目录复制到本地网络服务器 /var/www
我在 Ubuntu 中给了自己管理权限,但它仍然不允许复制。
Aze*_*ale 249
如果您使 /var/www 可由其组写入并将用户添加到该组,则该用户将不必使用 sudo。尝试这个:
sudo adduser <username> www-data
sudo chown -R www-data:www-data /var/www
sudo chmod -R g+rwX /var/www
Run Code Online (Sandbox Code Playgroud)
然后用户应该能够轻松编辑 /var/www/ 文件。
第一行将用户添加到 www-data 组,第二行清除所有权混乱的所有文件,第三行使所有属于 www-data 组成员的用户都可以读取和写入其中的所有文件/var/www。
如果您已登录,则<username>
需要注销并重新登录以使组成员身份生效。
Mar*_*ior 26
你可以chown
,那是那个文件夹ch
的own
er。这将允许您更改文件夹的用户和组,允许您的用户添加/删除其中的文件。为此,请替换yourusername
为您的姓名并运行:
sudo chown yourusername.users /var/www
Run Code Online (Sandbox Code Playgroud)
就是这样。
但是,我更喜欢在我的主文件夹中创建一个虚拟主机,这要容易得多。
基本上它允许您使用任何文件夹作为 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>
Run Code Online (Sandbox Code Playgroud)
现在让我们创建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
Run Code Online (Sandbox Code Playgroud)
而且它,现在你不需要去/var/www
,你只需将文件添加到你的www
(或其他给定名),它已经存在了:)。
方法一:
按ALT+F2并输入 gksudo nautilus,然后单击运行。
方法二:
nautilus -q
终端中安装类型以刷新右键菜单。 它将以 root 权限打开该文件/文件夹。
小智 6
它可以像sudo usermod -a -G developers $username
使用 ACL一样简单。
不过,这需要一些工作才能开始。这至少适用于 Ubuntu 10.10。首先使用 /etc/fstab 中的 acl 选项挂载文件系统。
sudo vim /etc/fstab
Run Code Online (Sandbox Code Playgroud)
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx / ext4 默认值,acl 0 1
sudo mount -o remount,acl /
Run Code Online (Sandbox Code Playgroud)
然后为此目的创建一个用户可能所属的组。
sudo groupadd developers
sudo usermod -a -G developers $username
Run Code Online (Sandbox Code Playgroud)
用户需要注销并再次登录才能成为开发者组的成员。
当然,如果您在 /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
Run Code Online (Sandbox Code Playgroud)
然后在配置文件中用“/var/www/public”替换对“/var/www”的引用并重新加载。
sudo vim /etc/apache2/sites-enabled/000-default
sudo /etc/init.d/apache2 reload
Run Code Online (Sandbox Code Playgroud)
如果我们想限制除创建文件的用户之外的所有人的删除和重命名:
sudo chmod +t /var/www/public
Run Code Online (Sandbox Code Playgroud)
这样,如果我们想为存在于 Apache 文档根目录之外的框架创建目录,或者可能创建服务器可写目录,这仍然很容易。
Apache 可写日志目录:
sudo mkdir /var/www/logs
sudo chgrp www-data /var/www/logs
sudo chmod 0770 /var/www/logs
Run Code Online (Sandbox Code Playgroud)
Apache 可读库目录:
sudo mkdir /var/www/lib
sudo chgrp www-data /var/www/logs
sudo chmod 0750 /var/www/logs
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
312410 次 |
最近记录: |