📖
FedoraサーバーでRails開発するのにsudoが使えない
起こった事象
・fedoraサーバーにRubyOnRailsの開発環境を構築
・開発ユーザーとして「rails」を作成(rootユーザーでは開発ができないので)
・データベースはmysqlを使用
・ユーザー「rails」でmysqlを操作した際にエラーが発生
$ sudo systemctl status mysqld
[sudo] rails のパスワード:
rails は sudoers ファイルにありません。
現在ログインしているユーザー「rails」にはsudo権限がない為、mysqldの起動や設定変更といった管理者レベルの操作ができないとの事。
解決方法
$ su -
パスワード: rootのパスワードを入力
# rootユーザーに切り替え
% usermod -aG wheel rails
# wheelグループはデフォルトでsudoを使用できる
# -G オプション:セカンダリーグループを変更する
# -a オプション:「-G」オプションで指定したグループをセカンダリーグループに追加
% exit
$ whoami
rails
$ sudo systemctl status mysqld
[sudo] rails のパスワード:
● mysqld.service - MySQL 8.0 database server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; preset: disabled)
Drop-In: /usr/lib/systemd/system/service.d
└─10-timeout-abort.conf
Active: active (running) since Tue 2025-06-03 10:15:06 JST; 7h ago
Invocation: a0b8baef52194e43aadb6913e96cf628
Main PID: 1102 (mysqld)
Status: "Server is operational"
Tasks: 38 (limit: 4554)
Memory: 416.6M (peak: 429.4M)
CPU: 1min 10.596s
CGroup: /system.slice/mysqld.service
└─1102 /usr/libexec/mysqld --basedir=/usr
6月 03 10:15:06 fedora systemd[1]: Starting mysqld.service - MySQL 8.0 database server...
6月 03 10:15:06 fedora systemd[1]: Started mysqld.service - MySQL 8.0 database server.
無事sudoが使用できるようになった。
(補足)
※「usermod -g wheel rails」 はNG
gオプションはユーザーの主グループが変更され、元のグループ情報が失われるため、予期せぬ問題が発生する可能性があるので注意が必要。
Discussion