我在ubuntu中有一个名为 my_account
的用户帐户。然后,我创建了另一个名为test_account
的帐户。当我在 my_account
中做wget时,它有效:
my_account@my_machine:~$ wget --no-check-certificate https://hdfs_server:50470/webpage.html#tab-datanode
--2018-02-09 14:37:30-- https://hdfs_server:50470/webpage.html
Resolving hdfs_server (hdfs_server)... 192.168.xx.xx
Connecting to hdfs_server (hdfs_server)|192.168.xx.xx|:50470... connected.
WARNING: cannot verify hdfs_server's certificate, issued by ‘CN=abc CA3,DC=def,DC=ghi,DC=org,DC=jkl’:
Self-signed certificate encountered.
WARNING: cannot verify hdfs_server's certificate, issued by ‘CN=abc CA3,DC=def,DC=ghi,DC=org,DC=jkl’:
Self-signed certificate encountered.
HTTP request sent, awaiting response... 200 OK
Length: 13320 (13K) [text/html]
Saving to: ‘webpage.html’
webpage.html 100%[===================>] 13.01K --.-KB/s in 0.002s
2018-02-09 14:37:30 (5.33 MB/s) - ‘webpage.html’ saved [13320/13320]
但是当我在 test_account
中做wget时,它会产生此错误:
test_account@my_machine:~$ wget --no-check-certificate https://hdfs_server:50470/webpage.html#tab-datanode
--2018-02-09 14:29:52-- https://hdfs_server:50470/webpage.html
Resolving hdfs_server (hdfs_server)... 192.168.xx.xx
Connecting to hdfs_server (hdfs_server)|192.168.xx.xx|:50470... connected.
WARNING: cannot verify hdfs_server's certificate, issued by ‘CN=abc CA3,DC=def,DC=ghi,DC=org,DC=jkl’:
Self-signed certificate encountered.
HTTP request sent, awaiting response... 200 OK
Length: 13320 (13K) [text/html]
webpage.html: Permission denied
Cannot write to ‘webpage.html’ (Success).
我正在使用test_account
作为超级用户(即su test_account
(。那么,为什么WGET不能使用test_Account
将文件写入系统?我该如何修复?
我找到了原因。事实证明,如sudo useradd -m -d /home/test_account test_account
这样创建时,test_account
的设置未正确设置,如my_account
和test_Account
之间的所有者的差异所示:
my_Account@my_machine:~$ ls -la
total 120
drwxr-xr-x 30 root root 4096 Feb 7 16:02 .
drwxr-xr-x 26 root root 4096 Jan 28 06:44 ..
drwxr-xr-x 4 1026 1026 4096 Feb 9 14:12 test_account
drwxr-xr-x 23 my_account my_account 4096 Feb 9 14:37 my_account
可以看出,test_account
没有任何所有者,而my_Account
则没有。因此,要解决此问题,我做了以下操作:
my_Account@my_machine:~$ su - root
Password:
root@my_machine:/home# chown test_account:test_account test_account
之后,我们可以看到test_account
属于适当的组,WGET有效:
root@my_machine:/home# ls -la | grep test_account
drwxr-xr-x 4 test_account test_account 4096 Feb 9 14:12 test_account
root@my_machine:/home# exit
exit
my_account@my_machine:~$ exit
logout
test_account@my_machine:~$ wget --no-check-certificate https://hdfs_server:50470/webpage.html#tab-datanode
--2018-02-09 14:37:30-- https://hdfs_server:50470/webpage.html
Resolving hdfs_server (hdfs_server)... 192.168.xx.xx
Connecting to hdfs_server (hdfs_server)|192.168.xx.xx|:50470... connected.
WARNING: cannot verify hdfs_server's certificate, issued by ‘CN=abc CA3,DC=def,DC=ghi,DC=org,DC=jkl’:
Self-signed certificate encountered.
WARNING: cannot verify hdfs_server's certificate, issued by ‘CN=abc CA3,DC=def,DC=ghi,DC=org,DC=jkl’:
Self-signed certificate encountered.
HTTP request sent, awaiting response... 200 OK
Length: 13320 (13K) [text/html]
Saving to: ‘webpage.html’
webpage.html 100%[===================>] 13.01K --.-KB/s in 0.002s
2018-02-09 14:58:01 (5.26 MB/s) - ‘webpage.html’ saved [13320/13320]
只是以为我应该发布我的解决方案,以防有人面对同一问题。