ActiveDirectoryとは関係なく、従来のsmb共有について記す
アカウントを個別に用意して、あるいは代表で一つ用意してとかな面倒な事をせず、
誰でも認証なしに使えるファイルサーバを用意してみる。
CentOS7な感じで最小限のマシンを作って、最低限、chronyは設定しておきます。ファイルの作成時間は重要ですから。
[root@smb ~]# yum install samba
とsambaをインストールする。この段階で一般ユーザは何も作ってなく、
「誰でも認証なしに使えるファイルサーバ」を目指すのでroot以外のユーザはむしろ不要。
共有フォルダを /opt/share として、sambaの設定ファイルは下記になる。
[root@smb ~]# mkdir -p /opt/share
[root@smb ~]# chown nobody:nobody /opt/share
[root@smb ~]# cat <<_EOF_ > /etc/samba/smb.conf
[global]
workgroup = MYGROUP
log file = /var/log/samba/log.%m
max log size = 50
security = user
load printers = No
show add printer wizard = No
printing = bsd
printcap name = /dev/null
guest account = nobody
map to guest = Bad User
[share]
path = /opt/share
guest ok = yes
writeable = yes
_EOF_
[root@smb ~]#
その後にsambaを起動します。
[root@smb ~]# systemctl enable smb
[root@smb ~]# systemctl start smb
あとfirewall
[root@smb ~]# firewall-cmd --add-service=samba --zone=public --permanent
[root@smb ~]# firewall-cmd --reload
追加でSElinux
[root@smb ~]# yum install policycoreutils-python
[root@smb ~]# semanage fcontext -a -t samba_share_t "/opt/share(/.*)?"
[root@smb ~]# restorecon -R -v /opt/share
restorecon reset /opt/share context unconfined_u:object_r:usr_t:s0->unconfined_u:object_r:samba_share_t:s0
[root@smb ~]#
(一応selinuxは有効です)
[root@smb ~]# sestatus
SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: enforcing
Mode from config file: enforcing
Policy MLS status: enabled
Policy deny_unknown status: allowed
Max kernel policy version: 31
[root@smb ~]#
これで \\smb にアクセスすれば、
とパスワードなしに共有フォルダにアクセスできます。
置かれたファイルの所有者は nobody となります。なので多ユーザが勝手に編集・削除できてしまいます。
*これにスナップショットとか、毎時0分の差分バックアップがあれば尚よろしいかと