2014-09-10 30 views
0

我正在關注this教程。我得的dnsmasq工作正常,但得到嘗試使用這個腳本來生成自簽名證書時權限錯誤:生成自簽名SSL證書,權限錯誤(OSX)

#!/usr/bin/env sh 
cat > openssl.conf <<-EOF 
    [req] 
    distinguished_name = site_distinguished_name 
    x509_extensions = v3_site 
    prompt = no 
    [site_distinguished_name] 
    CN = *.${PWD##*/}.dev 
    [v3_site] 
    keyUsage = keyEncipherment, dataEncipherment 
    extendedKeyUsage = serverAuth 
    subjectAltName = @domains 
    [domains] 
    DNS.1 = *.${PWD##*/}.dev 
    DNS.2 = ${PWD##*/}.dev 
EOF 
openssl req -new -newkey rsa:2048 -sha256 \ 
    -days 3650 -nodes -x509 -keyout site.key \ 
    -out site.crt -config openssl.conf 

這裏就是我得到的終端

project_directory $ ./ssl_cert_gen.sh 
-bash: ./ssl_cert_gen.sh: Permission denied 

project_directory $ sudo ./ssl_cert_gen.sh 
Password: 
sudo: ./ssl_cert_gen.sh: command not found 

上午我離開?有任何想法嗎?提前致謝。

回答

1

你必須使腳本可執行:

$ chmod +x ssl_cert_gen.sh 

在UNIX上的所有可執行文件必須有相應的可執行文件(x)位設置,否則內核不會執行它們。腳本也是可執行文件,但它們使用「shebang」機制(#!)指定解釋器的名稱。