rbenvはユーザごとにinstallし、Rubyもユーザごとにinstallするのが想定されている使用方法だが、Rubyのinstallをユーザに任せずシステム管理者がinstallする場合、rbenvをただ一つsystem wideにinstallして、どのユーザでもrbenvを使えるようにしたい。

rbenvを/usr/localにrootでinstallし、rootのみがrbenvに書き込み権限をもつ状態であれば、各ユーザのinstall / uninstall、global versionなどを制限したうえで、Rubyを使えるようになる。
rbenvの読み込み自体は/etc/profile.d以下で読み込めるようにし、さらにユーザ単位でRubyのversionを指定する。Rubyのversionをrbenvで指定する方法はrbenv global 2.4.2rbenv local 2.4.2だが、今回はsystem wideにrbenvをinstallし、どのユーザでも同一のrbenvを使うことになるので、globalのversionを変更されると他のユーザのversionに影響がでるし、localで指定するとディレクトリ単位での指定となってしまうのでユーザ全体へのversion指定ができない。そのためrbenvで一時的にversionを指定することができるRBENV_VERSION環境変数を/etc/profile.dで使うことで、ログイン期間だけそのユーザのRubyのversionを変更できるようにした。
RBENV_VERSION変数に直接値をセットするのではなく、rbenv shell 2.4.2のようにrbenv shellを使ってもいい。

rbenvの導入は以下の通りとなる。以下の例だと、user1とuser2というOSユーザのみRubyのversionを2.4.2とし、それ以外のユーザはsystem versionのままとなる。

cd /usr/local
git clone git://github.com/sstephenson/rbenv.git

cat <<'EOF' >> /etc/profile.d/rbenv.sh
export RBENV_ROOT=/usr/local/rbenv
export PATH="$RBENV_ROOT/bin:$PATH"
eval "$(rbenv init -)"

if [ `whoami` == "user1" -o `whoami` == "user2" ]; then
  export RBENV_VERSION=2.4.2
fi
EOF

source /etc/profile

Rubyのinstallを行うためにruby-buildも導入する。

mkdir /usr/local/rbenv/plugins
cd /usr/local/rbenv/plugins
git clone git://github.com/sstephenson/ruby-build.git

rbenv install 2.4.2

一般ユーザでは勝手にRubyやgemのinstall、またglobal versionの変更ができなくなる。

$ rbenv install 2.4.1
Downloading ruby-2.4.1.tar.bz2...
-> https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.1.tar.bz2
Installing ruby-2.4.1...
mkdir: cannot create directory `/usr/local/rbenv/versions/2.4.1': Permission denied

BUILD FAILED (CentOS 6.4 using ruby-build 20170914-15-g449ba6b)

Inspect or clean up the working tree at /tmp/ruby-build.20171121173127.32721
Results logged to /tmp/ruby-build.20171121173127.32721.log

Last 10 log lines:
/tmp/ruby-build.20171121173127.32721 ~
/tmp/ruby-build.20171121173127.32721/ruby-2.4.1 /tmp/ruby-build.20171121173127.32721 ~
$ gem install mysql2
Fetching: mysql2-0.4.10.gem (100%)
ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions for the /usr/local/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0 directory.
$ rbenv global 2.4.2
/usr/local/rbenv/libexec/rbenv-version-file-write: line 19: /usr/local/rbenv/version: Permission denied

他のサイトでは、以下のように特定グループに対して権限を与えていた。これだとグループに属しているユーザであればRubyのinstall等が行えるが、全ユーザに勝手にglobal versionを変えないように依頼したりするのは、自分の環境では非現実的と考え、システム管理者だけがinstallやversion変更をできるようにした。各ユーザが勝手にversionを変えたりできるのであれば、rbenvの一般的な使い方通り、各ユーザがrbenvをそれぞれinstallするべきで、system wideにinstallすべきではないと考えた。

chgrp -R staff rbenv
chmod -R g+rwxXs rbenv

参考
rbenv を system-wide にインストールする際の傾向と対策
rbenv + ruby-build を system-wide にインストールする
rbenvでsystem wideに入れるときに気をつけたいこと
rbenv で Ruby の version を一時的に切り替え

関連
rbenvでinstallしたRubyへsymlinkを貼り、cron等から使えるようにする