나 하나 작업 중이야QNAP NAS 시스템(이것만으로도 고통스럽습니다. 펌웨어: 4.1.1(새롭지는 않음)) 및 설치이중성일부 커뮤니티 팩을 통해.
질문
다음으로 로그인행정(이것은 QNAP 시스템의 루트를 대체합니다.) 통과SSH, 다음이 작동합니다.
duplicity
Command line error: Expected 2 args, got 0
Enter 'duplicity --help' for help screen.
다른 사용자와 동일한 작업을 시도하면 항상 실패합니다(여기: sudo -i):
sudo -i -u backupScript
duplicity
Could not find platform independent libraries <prefix>
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
ImportError: No module named site
반품sudo--로그인:
sudo -u backupScript --login
duplicity
Could not find platform independent libraries <prefix>
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
ImportError: No module named site
Sudo-E(가능한 후보)가 내 버전에서는 작동하지 않는 것 같습니다.1.8.14p3.
디버깅 환경 설정:
관리:환경
HOSTNAME=XXX
TERM=xterm
SHELL=/bin/sh
HISTSIZE=1000
SSH_CLIENT=192.168.2.106 55935 22
SSH_TTY=/dev/pts/5
LC_ALL=en_US.UTF-8
HISTFILESIZE=1000
USER=admin
TEMP=/Apps/opt/tmp
LS_COLORS=no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.jpg=01;35:*.jpeg=01;35:*.png=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.mpg=01;35:*.mpeg=01;35:*.avi=01;35:*.fli=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:
PAGER=/bin/more
MAIL=/var/mail/admin
PATH=/Apps/opt/bin:/Apps/opt/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin/X11:/usr/local/sbin:/usr/local/bin:/usr/local/ruby/bin:/Apps/bin:/Apps/sbin:/usr/local/jre/bin
INPUTRC=/etc/inputrc
PWD=/root
JAVA_HOME=/usr/local/jre
RUBY_PATH=/usr/local/ruby
EDITOR=/bin/vi
LANG=en_US.UTF-8
DMALLOC_OPTIONS=debug=0x34f47d83,inter=100,log=logfile
PS1=[\w] #
SHLVL=1
HOME=/root
TERMINFO=/Apps/opt/share/terminfo
TMP=/Apps/opt/tmp
LOGNAME=admin
LC_CTYPE=en_US.UTF-8
SSH_CONNECTION=192.168.2.106 55935 192.168.2.103 22
_=/usr/bin/env
sudo -i -u backupScript 이후의 backupScript 환경
HOSTNAME=XXX
SHELL=/bin/sh
TERM=xterm
HISTSIZE=1000
LC_ALL=en_US.UTF-8
HISTFILESIZE=1000
USER=backupScript
LS_COLORS=no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.jpg=01;35:*.jpeg=01;35:*.png=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.mpg=01;35:*.mpeg=01;35:*.avi=01;35:*.fli=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:
SUDO_USER=admin
SUDO_UID=0
USERNAME=backupScript
PAGER=/bin/more
MAIL=/var/mail/backupScript
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin/X11:/usr/local/sbin:/usr/local/bin:/usr/local/ruby/bin:/Apps/bin:/Apps/sbin:/usr/local/jre/bin
INPUTRC=/etc/inputrc
PWD=/share/homes/backupScript
JAVA_HOME=/usr/local/jre
RUBY_PATH=/usr/local/ruby
EDITOR=/bin/vi
LANG=en_US.UTF-8
DMALLOC_OPTIONS=debug=0x34f47d83,inter=100,log=logfile
PS1=[\u@\h \W]\$
SHLVL=1
SUDO_COMMAND=/bin/sh
HOME=/share/homes/backupScript
LOGNAME=backupScript
LC_CTYPE=en_US.UTF-8
SUDO_GID=0
_=/usr/bin/env
- 둘 다 PYTHONHOME을 정의하지 않습니다(오류에 언급됨).
- 어떻게 관리자는 이중적일 수 있는데 사용자의 backupScript는 이중적일 수 없습니까?
- 이 문제를 해결하는 방법에 대한 아이디어가 있습니까?
- 추가 디버깅 시도에 대한 아이디어가 있습니까?내가 이 문제에 대해 완전히 잘못된 방향으로 가고 있는지 언급해 주세요!
답변1
귀하의 경우 주요 문제는 $PATH에 이것이 없다는 것입니다 "/Apps/opt/bin:/Apps/opt/sbin"
. 아마도 python
거기에서 나와야 할 것입니다.
sudo -i
이는 사용자 "backupScript"가 자신의 집에 올바른 프로필/쉘 프로필을 가지고 있는 경우 실제로 작동합니다 /share/homes/backupScript
. 그렇지 않은 경우 해당 프로필을 변경하거나 --login 또는 -i를 사용하지 마십시오.
sed -E
동작을 모방하도록 편집 할 수 있습니다 /etc/sudoers
. PATH 비활성화 Defaults env_reset
또는 추가Defaults env_keep
그런데 관리자가 루트라면 sudo를 사용할 필요조차 없습니다. su
괜찮을 것입니다.
su -c duplicity backupScript