站点创建脚本 - 缺少 chmod 权限

站点创建脚本 - 缺少 chmod 权限

我们最近拥有了一台 Linux 服务器,服务器上有一个可以运行的站点创建脚本,但似乎缺少必要的 chmod 文件夹权限(755?)。

我认为我们需要在下面的代码中添加一个 chmod 行,以便将其应用于正确的“新创建”文件夹

我对 Linux 的了解很基础,因此任何帮助我都会很感激。

echo "Please enter the domain name"
read domainname

echo "Please enter a username"
read username

echo "Please enter a password.  This will be the FTP password, and MySQL Database password if used"
read password

echo "Please enter a database name.  If empty, one will not be created"
read databasename

passcrypt=$(perl -e 'print crypt($ARGV[0], "password")' $password)
mkdir /home/$domainname
useradd -g webusers -d /home/$domainname -p $passcrypt $username
chown $username:webusers /home/$domainname

(我删除了最后的一些代码,因为我怀疑它可能需要保密)

谢谢

答案1

由于您正在创建webusers目录的组所有者,如果运行 Web 服务器的用户属于该组,则您不需要chown

例如,Ubuntu 上 webserver 进程的常用用户是www-data,该用户属于该www-data组。通过使任何目录归该www-data组所有,webserver 将能够使用常规组权限(默认情况755下)访问该目录。

答案2

不,这取决于您想如何保护文件和目录的安全性。

默认情况下授予以下权限,

目录 777 文件 666

7 表示二进制的 111,转换成二进制后加入到目录信息表中,翻译为

111 111 111

读取命令执行/读取命令执行/读取命令执行
用户/组/通用

因此,如果您想提供更多安全性,则添加 chmod,否则不需要执行任何操作

默认目录权限为 777。默认文件权限为 666。因此,如果您的 umask 值为 002(或 0002),则最终目录权限为 775,文件权限为 664。775 数字表示用户“读、写、执行”,组“读、写、执行”,其他人“读、执行”。664 数字表示用户“读、写”,组“读、写”,其他人“读”。来源

相关内容