Langkah 1. buat skrip dengan perintah bind menggunakan editor apa pun. Sebagai contoh:
sudo emacs bind_user_directories.sh
isi:
#!/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
Langkah 2. simpan bind_user_directories.sh dan buat itu bisa dieksekusi:
chmod a+x bind_user_directories.sh
Langkah 3. tautkan ke lokasi yang sesuai seperti / usr / local / sbin:
sudo ln -s bind_user_directories.sh /usr/local/sbin/bind_user_directories.sh
Langkah 4. buat skrip pemula:
sudo emacs /etc/init/bind_user_directories.conf
isi:
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
Jika ini berhasil untuk Anda, beri tahu saya. Anda dapat memeriksa log sistem untuk pesan setelah masuk. (Saya belum mengujinya dan saya belum pernah menerapkan hal seperti ini sebelumnya.) Jika Anda meningkatkan solusi, silakan berbagi solusi akhir Anda di sini. Terima kasih.
/etc/profileatau~/.profilekarena menjalankan kode dalam skrip tersebut dilakukan oleh shell pengguna dan tunduk pada kontrol pengguna, sedangkan jika Anda tidak ingin pengguna memiliki kekuatan untuk menjalankan program sepertirootdiri mereka sendiri, maka ini harus dilakukan oleh beberapa layanan yang berjalan di luar proses pengguna. ... Mungkin membantu jika Anda dapat memberi tahu kami tujuan skrip yang ingin Anda jalankan.