단계 1. 편집기를 사용하여 bind 명령으로 스크립트를 작성하십시오. 예를 들면 다음과 같습니다.
sudo emacs bind_user_directories.sh
내용:
#!/bin/bash
#NOTE: this file would be placed in /usr/local/sbin/ folder as bind_user_directories.sh
#alternatively it could be placed in /etc/init.d/ ... (I guess)
### BEGIN INIT INFO
# Provides: bind_user_directories
# Required-Start:
# Required-Stop:
# Should-Start: $named
# Default-Start: 0 2 3 4 5 6 (I guess...)
# Default-Stop: 1
# Short-Description: mount --bind for a user
# Description: runs mount --bind command for certain pre-defined directories for a specific user
### END INIT INFO
# What is this?
DESC="bind_user_directories"
# See how we were called.
case "$1" in
start)
log_progress_msg "bind directories for user..."
sudo mount --bind /source/path /target/path
log_progress_msg "done: bind directories for user"
;;
stop)
log_progress_msg "umount --bind directories for user..."
sudo umount /target/path
log_progress_msg "done: unbind directories for user"
;;
restart)
$0 stop
sleep 1
$0 start
;;
*)
#log_success_msg "Usage: bind_user_directories {start|stop|restart}"
log_success_msg "Usage: service bind_user_directories <start|stop|restart>"
exit 1
;;
esac
exit 0
단계 2. bind_user_directories.sh를 저장하고 실행 가능하게하십시오.
chmod a+x bind_user_directories.sh
3 단계 : / usr / local / sbin과 같은 적절한 위치에 연결합니다.
sudo ln -s bind_user_directories.sh /usr/local/sbin/bind_user_directories.sh
단계 4. upstart 스크립트를 작성하십시오.
sudo emacs /etc/init/bind_user_directories.conf
내용:
description "runs mount --bind command for certain pre-defined directories for a specific user"
start on filesystem and net-device-up IFACE!=lo
stop on runlevel [!023456]
console output
respawn
respawn limit 10 5
exec /usr/local/sbin/bind_user_directories.sh start
이것이 효과가 있으면 알려 주시기 바랍니다. 로그인 한 후 시스템 로그에서 메시지를 확인할 수 있습니다. (아직 테스트하지 않았으며 이전에는 이와 같은 것을 구현 한 적이 없습니다.) 솔루션을 개선하려면 여기에서 최종 솔루션을 공유하십시오. 감사.
/etc/profile
또는~/.profile
그 스크립트의 실행 코드가 사용자의 쉘에 의해 수행하고 사용자가이하지 않으려면 반면, 사용자의 지배의 대상이되기 때문에 프로그램root
자체 를 실행할 수 있다면, 이는 사용자 프로세스 외부에서 실행중인 일부 서비스에 의해 수행되어야합니다. ... 실행하려는 스크립트의 목적을 알려 주면 도움이 될 수 있습니다.