며칠 전에 운영 체제를 Windows에서 Fedora로 변경했습니다. 그래서 저는 모든 Linux 분야의 초보자입니다.
나의 기본 목표는 시작할 때 원격 드라이브(클라우드 드라이브)를 추가하여 사용할 수 있도록 하는 것입니다. 를 사용하여 시작 시 실행될 bash 스크립트를 만들려고 했습니다 sftp
. 다음 코드를 찾았습니다.
sshfs [email protected]:/targetpath ~/mountdir
내 문제는이것은 루트 권한으로는 작동하지만 내 사용자 권한으로는 작동하지 않습니다. 일반 권한으로 실행하면 오류가 발생합니다 read: Connection reset by peer
. 시작할 때 이것을 실행하고 싶기 때문에 루트 권한을 사용하고 싶지 않습니다.
또한 사용자 이름과 비밀번호를 저장하는 솔루션을 검색했지만 아직 아무것도 찾지 못해 매번 입력할 필요가 없습니다.
배경
Fstabfstab
: 처음에는 구글링을 많이 해서 파일을 찾았어요 . 시스템을 시작할 때 인터넷 연결이 없어 대상 디스크를 포함할 수 없었기 때문에 하루 종일 시간을 보냈고 결국 시스템이 손상되었습니다(적어도 그런 일이 일어난 것 같습니다).
스크립트(WebDAV, sftp): 그런 다음 WebDAV를 사용하려고 시도했습니다.
mount -t davfs2 https://webdav.example.com ~/mountdir
하지만 이는 루트 권한이 있는 경우에만 작동합니다(오류: mount: only "root" can do that
). 내 다음 단계는 더 잘 작동하는 것 같은 sftp를 사용하는 것이었습니다. 그런데 위에서 언급한 오류가 발생했습니다(오류: read: Connection reset by peer
).
사용 가능한 디스크 공간이 충분하지 않기 때문에 파일을 로컬에 저장하고 싶지 않습니다.
이것이 어리 석고 매우 기본적인 질문이라면 죄송하지만 계속할 방법이 없습니다. 도움을 주셔서 감사합니다.
답변1
절대로 루트로 스크립트를 실행하면 안 됩니다! 언제 루트로 스크립트를 실행해야 하는지에 대한 몇 가지 이유를 생각해낼 수 있지만 일반적으로 이는 좋은 생각이 아닙니다. sshfs
또한 작동하려면 루트가 필요하지 않습니다! :)
이를 통해 비밀번호를 사용하여 원격 SSH 파일 시스템을 마운트할 수 있습니다 sshfs
(비밀번호 대신 인증서를 사용할 수 있다면 더 좋을 것입니다).
echo <mypassword> | sshfs <myuser>@<site.tld>:/ ~/<myfolder> -o workaround=rename -o password_stdin
<mypassword>
, 및 을 <myuser>
교체 합니다 .<site.tld>
<myfolder>
예:
echo 4ghNZGpk182q8SvY0kw0 | sshfs [email protected]:/ ~/diblo -o workaround=rename -o password_stdin
메모:탑재 폴더가 존재하는지 확인 ~/<myfolder>
하거나 생성하세요(스크립트를 실행하려는 Linux 사용자로부터 폴더를 생성해야 함).
mkdir -p ~/<myfolder>
바꾸다 <myfolder>
.