Есть работающая самба. Надо определять кто трогал файл.
В голову пришло две идеи.
1) в конфиге настроить права доступа таким образом чтоби по UNIX правам можно било би определить кто изменил файл. Попробовал следующее
[public]
comment = Public Stuff
path = /public
public = yes
writable = yes
directory mode = 777
force directory mode = 777
create mode = 666
force create mode = 666
valid users = user1,user2,user3
Когда пользователь создает файл для него проставляется корктний владелец файла. Но когда уже существующий файл изменяется другим пользователем, владелец не меняется.
Подскажите есть ли в Самбе опция которая би заставила менять владельца при изменении файла?
2) Какимто образом заставить Самбу протоколировать доступ к файлу. Признаюсь чесно в манах не искал. Просто надо знать есть ли такая фишка? И если да то примерное направление поиска, буду разбиратся.
>[оверквотинг удален]
> create mode = 666
> force create mode = 666
> valid users = user1,user2,user3
>Когда пользователь создает файл для него проставляется корктний владелец файла. Но когда
>уже существующий файл изменяется другим пользователем, владелец не меняется.
>Подскажите есть ли в Самбе опция которая би заставила менять владельца при
>изменении файла?
>2) Какимто образом заставить Самбу протоколировать доступ к файлу. Признаюсь чесно в
>манах не искал. Просто надо знать есть ли такая фишка? И
>если да то примерное направление поиска, буду разбиратся.есть такая фишка.
[global]
dos charset = cp1251
unix charset = utf8
display charset = cp1251
workgroup = work
netbios aliases = server
server string = server
interfaces = eth0, 192.168.11.7, 127.0.0.1
bind interfaces only = Yes
smb passwd file = /etc/samba/smbpasswd
log file = /var/log/samba/log.smbd
max log size = 0
socket options = TCP_NODELAY SO_SNDBUF=8192 SO_RCVBUF=8192
printcap name = /etc/printcap
preferred master = No
domain master = No
dns proxy = No
wins support = Yes
guest ok = Yes
hosts allow = ALL
hosts deny = ALL
printing = cups
cups options = raw
print command =
lpq command = %p
lprm command =
log level = 0 vfs:2 # с уровнем можно поиграть.далее.
[Anal_promo]
comment = Network Folder/Disk for Domovenok
path = /sda1/samba/Anal_promo
valid users = test, naryshkinaichev
read list = test
write list = naryshkina
read only = No
create mask = 0664
directory mask = 0775
vfs objects = audit # то что нам нужно.
log level = 0 vfs:10
настроили завели.
идём в /var/log/
грепаем
cat messages |grep naryshkina |less
видим.Feb 29 09:05:53 mailserver smbd_audit[3878]: connect to service Anal_promo by user naryshkina
копируем ссесию и грепаем её.
cat messages |grep 3878 |less
И читаем чем занималось данная ссесия.Feb 29 09:05:53 mailserver smbd_audit[3878]: connect to service Common by user naryshkina
Feb 29 09:05:53 mailserver smbd_audit[3878]: connect to service Anal_promo by user naryshkina
Feb 29 09:10:36 mailserver smbd_audit[3878]: opendir .
Feb 29 09:26:43 mailserver smbd_audit[3878]: opendir ./
Feb 29 09:26:43 mailserver smbd_audit[3878]: opendir .
Feb 29 09:26:43 mailserver smbd_audit[3878]: opendir .
Feb 29 09:41:43 mailserver smbd_audit[3878]: opendir портфолио (маркетинговая информация)
Feb 29 09:41:44 mailserver smbd_audit[3878]: opendir портфолио (маркетинговая информация)/Airmec
Feb 29 09:41:44 mailserver smbd_audit[3878]: opendir портфолио (маркетинговая информация)/Airmec/1.Материалы для опт.про
дажСоветую ещё прочитать данную статью.
http://www.opennet.me/base/net/samba_full_audit.txt.htmlХотя меня устраивает пример который я описал выше.