「一部の項目へのアクセス権がないため、操作は完了できません」というエラーメッセージが出てSambaの共有ディレクトリに書き込めないがEAでも直らない場合はSELinuxを疑うという発想
おいどん家のLinuxサーバは夏暑くて冬寒いユーザアンフレンドリーな部屋にあるので、Sambaでファイル共有してXPとMacからゲスト接続して使いまわしている。今回、YosemiteにアップデートしたMacからの接続も確認しておこうとしたところ、このようなメッセージが出て書き込めなかった。
悩んだ。1日悩んだ。XPも寒い部屋にあるのでMacだけで悩んだのが失敗だった。MacからSambaには、こんな感じで気軽に接続できるらしい。
・環境
Sambaサーバ側:
[root@centos ~]# cat /etc/redhat-release CentOS release 6.5 (Final) [root@centos ~]# smbstatus --version Version 3.6.9-169.el6_5
クライアントMacOS側:
macbook-no-MacBook-Pro:~ mac$ sw_vers ProductName: Mac OS X ProductVersion: 10.10.2 BuildVersion: 14C109
結論はSELinux
setenforce 0で解決したので、またもSELinuxだった。audit.logを見たら、確かにsmbdでdeniedされていた。またやっちまったぜ☆
[root@centos ~]# tail -n 10 /var/log/audit/audit.log 〜中略〜 type=AVC msg=audit(1423997969.395:67): avc: denied { write } for pid=2097 comm="smbd" name="share" dev=dm-2 ino=392449 scontext=system_u:system_r:smbd_t:s0 tcontext=unconfined_u:object_r:public_content_rw_t:s0 tclass=dir
という訳で、いつも通りchconで設定を直す。こちらは、これで解決した。
新SELinux入門 第5回 タイプを変更してトラブルに対処する
[root@centos home]# pwd /home [root@centos home]# ls -la drwxr-xr-x. 6 root root 4096 7月 23 10:15 2014 . dr-xr-xr-x. 26 root root 4096 2月 15 20:11 2015 .. drwxrwxrwx. 2 root root 4096 2月 15 20:51 2015 share [root@centos home]# ls -Z drwxrwxrwx. root root unconfined_u:object_r:public_content_rw_t:s0 share [root@centos home]# chcon -t samba_share_t share -R [root@centos home]# ls -Z drwxrwxrwx. root root unconfined_u:object_r:samba_share_t:s0 share
おいどん家の場合、EA(Extends Attributes)は関係なかった
「mac+samba+当エラーメッセージ」で検索すると、検索上位はこちらのEAの問題として出てきて、smb.conf内の「unix extensions = no」で解決するとの回答ばかりだった。しかし、うちの場合は、EAにはまったく全然これっぽっちも関係なくSELinuxのみの問題だったので、unix extensions=noで解決しない場合、SELinuxを疑ってみよう。
[global] unix charset=UTF-8 dos charset=CP932 unix extensions = no
EAというのは、ファイルにつく属性らしく、GUIだとファイル情報のここら辺に出てくる。
CUIで見るとすごく気持ち悪い。@がご覧いただけるだろうか。
macbook-no-MacBook-Pro:~ mac$ ls -la total 72 drwx------+ 11 mac staff 374 2 15 20:52 . drwxr-xr-x+ 21 mac staff 714 1 19 09:19 .. -rw-r--r--@ 1 mac staff 40 9 29 13:26 memo55.txt drwxr-xr-x 13 mac staff 442 10 7 23:16 Q&A火山噴火日本火山学会
macbook-no-MacBook-Pro:~ mac$ ls -la@ total 72 drwx------+ 11 mac staff 374 2 15 20:52 . drwxr-xr-x+ 21 mac staff 714 1 19 09:19 .. -rw-r--r--@ 1 mac staff 40 9 29 13:26 memo55.txt com.apple.metadata:kMDItemDownloadedDate 53 com.apple.metadata:kMDItemWhereFroms 198 drwxr-xr-x 13 mac staff 442 10 7 23:16 Q&A火山噴火日本火山学会
属性の詳細表示はxattr -lで、削除は-cまたは-dでやるらしい。
macbook-no-MacBook-Pro:Documents mac$ xattr -l memo56.txt com.apple.metadata:kMDItemDownloadedDate: 00000000 62 70 6C 69 73 74 30 30 A1 01 33 41 B9 D9 16 E1 |bplist00..3A....| 00000010 39 02 36 08 0A 00 00 00 00 00 00 01 01 00 00 00 |9.6.............| 00000020 00 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 |................| 00000030 00 00 00 00 13 |.....| 00000035 com.apple.metadata:kMDItemWhereFroms: 00000000 62 70 6C 69 73 74 30 30 A2 01 02 5F 10 53 68 74 |bplist00..._.Sht| 00000010 74 70 3A 2F 2F 31 39 32 2E 31 36 38 2E 30 2E 39 |tp://192.168.0.9| 00000020 39 2F 66 65 73 73 2F 67 6F 3F 72 74 3D 31 34 31 |9/fess/go?rt=141| 00000030 31 39 36 34 37 38 31 32 37 36 26 64 6F 63 49 64 |1964781276&docId| 00000040 3D 63 30 30 33 38 38 33 63 65 63 62 66 34 63 36 |=c003883cecbf4c6| 00000050 63 62 36 35 34 62 66 66 37 62 37 33 64 38 39 30 |cb654bff7b73d890| 00000060 65 5F 10 3F 68 74 74 70 3A 2F 2F 31 39 32 2E 31 |e_.?http://192.1| 00000070 36 38 2E 30 2E 39 39 2F 66 65 73 73 2F 73 65 61 |68.0.99/fess/sea| 00000080 72 63 68 3F 71 75 65 72 79 3D 6D 61 69 6E 62 61 |rch?query=mainba| 00000090 6E 6B 2E 74 78 74 26 6E 75 6D 3D 32 30 26 73 6F |nk.txt&num=20&so| 000000A0 72 74 3D 08 0B 61 00 00 00 00 00 00 01 01 00 00 |rt=..a..........| 000000B0 00 00 00 00 00 03 00 00 00 00 00 00 00 00 00 00 |................| 000000C0 00 00 00 00 00 A3 |......| 000000c6 macbook-no-MacBook-Pro:Documents mac$ xattr -c memo56.txt macbook-no-MacBook-Pro:Documents mac$ xattr -l memo56.txt macbook-no-MacBook-Pro:Documents mac$
詳しくはmanを見よう。
macbook-no-MacBook-Pro:Documents mac$ man xattr | col -b > man_xattr.txt macbook-no-MacBook-Pro:Documents mac$ less man_xattr.txt
うむ。そもそもWindowsでも書き込めてなかったというオチで。え〜、Sambaの設定したおいどんもビックリしちゃってもうね。
http://bokete.jp/boke/6050034