FreeBSD mount_nullfs / nullfs로 인해 작업이 허용되지 않습니다.

FreeBSD mount_nullfs / nullfs로 인해 작업이 허용되지 않습니다.

FreeBSD를 로컬 웹 서버로 사용하고 있으며 SFTP를 사용하여 프로젝트 파일에 액세스하고 싶습니다. 사용자를 생성했지만 해당 사용자가 자신의 홈 디렉터리 위로 이동할 수 없도록 하고 싶습니다.

사용자 셸:/usr/sbin/nologin

사용자 홈페이지:/usr/home/username

사용자로서 SFTP 연결을 설정할 수 있지만 조작을 위해 프로젝트 파일에 액세스할 수 있도록 해야 합니다.

프로젝트 파일은 다음 위치에 있습니다./usr/local/www/nginx/projectname

관련 질문에 대한 답변을 바탕으로 다음을 시도했습니다.

mount_nullfs /usr/local/www/nginx/projectname /usr/home/username

하지만 이는 "허용되지 않는 작업".

한동안 검색해 봤는데 왜 이것이 작동하지 않는지 알 수 없습니다. 어떻게 해야 하나요?

편집하다:

  • 루트로 설치해 보세요
  • 사용자 홈을 프로젝트 디렉터리로 루트할 수 있었습니다.
  • 이 서버는 freenas의 감옥이지만 두 디렉토리는 모두 동일한 서버에 있다는 점을 언급해야 합니다.

답변1

sshd_config먼저, 다음이 있다고 가정합니다 .

Port 22

PermitRootLogin no
ChallengeResponseAuthentication no
UsePAM no

Subsystem       sftp    internal-sftp

Match Group sftp
    ChrootDirectory %h
    ForceCommand internal-sftp
    AllowTcpForwarding no
    X11Forwarding no

둘째, 일반 사용자로 nullfs 마운트를 수행한다고 가정합니다. 일반 사용자는 일반적으로 파일 시스템을 마운트할 수 없습니다. 루트로 시도하면 저에게 효과적입니다.

루트( sudo또는 )로 su테스트하여 경로가 올바른지 확인하세요. 그런 다음/etc/fstab

/usr/local/www/nginx/projectname       /usr/home/username     nullfs    rw     0      0

그 정도면 충분합니다.

이 경우 일반 사용자가 무엇이든 설치하도록 허용하는 것은 의미가 없습니다. 하지만 필요한 경우 이를 설정 vfs.usermount=1하고 규칙을 /etc/sysctl.conf추가하면 됩니다 .devfs/dev/

마지막으로, nullfs를 사용하는 경우 ChrootDirectory사용자 홈페이지를 직접 설정할 수 있습니다 /usr/local/www/nginx/projectname. nullfs를 사용한 간접 주소 지정은 추가 보안 계층을 제공할 수 있습니다. 하지만 당신이 당신의 것을 믿는다면 sshd_config그것으로 충분합니다.

답변2

감옥 내부에 nullf가 마운트될 수 있도록 감옥 구성을 수정해야 합니다. 이는 일반적으로 보안상의 이유로 교도소에서는 허용되지 않습니다. 나는 그것에 반대하는 것이 좋습니다.

호스트 시스템(/etc/fstab)에서 nullfs 마운트를 구성할 수 있지만 FreeNAS에서는 구성을 저장하는 방식 때문에 이것이 더 어렵습니다.

관련 정보