Linuxでユーザを作成し、特定のディレクトリのみ操作できるように権限を設定
Linuxでユーザを作成し、SSHやFTPでログインした場合に特定のディレクトリのみ操作できるように権限を設定方法になります。
以下はその手順の概要です。
※rootユーザで操作する場合は、いちいちsudoを付ける必要はないです。また、ディレクトリ名やユーザ名は適宜操作する環境に合わせて読み変えてください。
1. ユーザの作成
まず、新しいユーザを作成します。
sudo adduser 新しいユーザ名
2. 特定ディレクトリの作成
次に、ユーザが操作できる特定のディレクトリを作成します。
sudo mkdir /path/to/特定ディレクトリ名 sudo chown 新しいユーザ名:新しいユーザ名 /path/to/特定ディレクトリ名
3. SSHの設定
ユーザがSSHを使用してログインする場合、sshd_configファイルを編集して、ユーザを特定のディレクトリに制限します。
sudo vim /etc/ssh/sshd_config
sshd_configファイルに以下の設定を追加します。
Match User 新しいユーザ名 ChrootDirectory /path/to/特定ディレクトリ名 ForceCommand internal-sftp AllowTcpForwarding no
変更を保存してSSHサービスを再起動します。
sudo systemctl restart sshd
4. FTPの設定
ユーザがFTPを使用してログインする場合、vsftpdなどのFTPサーバソフトウェアを使用することが一般的です。
以下はvsftpdの設定例です。
vsftpd.confファイルを編集します。
sudo vim /etc/vsftpd/vsftpd.conf
以下の設定を追加または変更します。
chroot_local_user=YES allow_writeable_chroot=YES
FTPサービスを再起動します。
sudo systemctl restart vsftpd
これで、ユーザは特定のディレクトリに制限され、その中でのみ操作が可能となります。
サーバの種類やバージョンによっても手順が微妙に変わることがあるので注意してください。