나는 특정 권한을 가진 원격 서버에 디렉터리를 생성할 수 있는 스크립트를 작성했습니다.
다음 명령을 사용하여 원격 서버에 스크립트를 실행합니다.
[email protected] /root/Documents/script
나는 다음과 같은 대답을 얻었습니다.
bash: /root/Documents/script: Permission denied
Connection to 192.168.159.133 closed.
저는 Fedora 20을 사용하고 있으며 서버는 Ubuntu 18.04.1에서 실행되고 있습니다.
스크립트 문서의 권한을 수정하기 위해 chmod를 사용해 보았습니다.
chmod 777 script
먼저 스크립트 내부에 통합된 SSL 연결을 사용하여 스크립트를 실행해 보았습니다(내 스크립트에서 볼 수 있음).
#!/bin/bash
#Connecting to Ubuntu Server
#ssh [email protected]
#specifying the directory where I want to create my two directories
cd /home/stan
#Creating the first directory "PublicFolder" and assigning permissions
mkdir PublicFolder
chmod -R 606 PublicFolder
#Creating the first directory "PrivateFolder" and assigning permissions
PrivateFolder
chmod -R 604 PrivateFolder
답변1
문제를 일으킬 수 있는 몇 가지를 발견했습니다. 1. 아니요SSH당신의 명령 앞에. 2. 원격 서버에 로그인되어 있습니다.
ssh [email protected] /root/Documents/script
스탠사용자로 스크립트를 실행해보십시오.뿌리. 파일에 대한 권한을 변경하더라도 Stan은 이 스크립트에 액세스할 수 없습니다.스크립트.
3. 권한은 디렉터리 트리 아래로 흐릅니다.엑스속성. 기본적으로,/뿌리~ 할 것이다아니요그 아래에 있는 모든 항목에 대한 액세스를 허용합니다. 다음과 같은 내용이 표시될 수도 있습니다. 또는 Stan이 /root를 볼 수 없기 때문에 권한 거부 오류가 발생할 가능성이 더 높습니다. 가능성:
ssh [email protected] ls -ld /root
ssh [email protected] ls -ld /root/Documents
drwxr----- root root /root
나쁜루트:192.168.159.133 #chmod -R a+rx /루트
더 나은 것/root/Documents/script /tmp를 이동하고 /tmp에 실행 권한을 설정합니다.
최고/share라는 디렉터리를 만들고, /root/Documents/script를 /share로 이동하고 /share에 r+x 권한을 설정합니다.