使用新用户运行时,WGET无法编写文件.如何修复它



我在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_accounttest_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]

只是以为我应该发布我的解决方案,以防有人面对同一问题。

相关内容

最新更新