2015-04-27 2 views
0

У меня есть файловый сервер на основе Ubuntu 14.04. В нем существует множество пользователей, где каждый пользователь принадлежит к своей группе (например, lucas: lucas), а также к общей группе, называемой «sambashared».Разрешения файлов в подпапках с SGID в linux

[email protected]:~$ cat /etc/group | grep lucas 
adm:x:4:lucas,syslog 
lp:x:7:saned,lucas 
cdrom:x:24:lucas 
sudo:x:27:lucas 
dip:x:30:lucas 
plugdev:x:46:lucas 
lucas:x:1000: 
lpadmin:x:111:lucas 
sambashare:x:112:lucas 

Существует также общая папка под/home:/home/share. Такая папка битой SGID включена, так что файлы, созданные под ней будут принадлежать к группе «sambashare»:

[email protected]:/home$ ls -l | grep samba 
drwxrwsr-x 10 share  sambashare 4096 Apr 24 13:44 share 
[email protected]:/home/share$ touch test.text 
[email protected]:/home/share$ ls -l test.text 
-rw-rw-r-- 1 lucas sambashare 0 Apr 24 14:02 test.text 

Таким образом, как видно выше, файлы создаваемой в/дома/акции созданы штраф (Лукасу : sambashare). Проблема у меня есть для файлов, создаваемых на более глубоком подпапке/дома/акции:

[email protected]:/home/share/99_varios$ touch file.txt 
[email protected]:/home/share/99_varios$ ls -l | grep file.txt 
-rw-rw-r-- 1 lucas lucas   0 Apr 24 14:19 file.txt 

Если вы видите перед собой, файл file.txt принадлежит Лукасу: Лукаса, но я надеялся, что его быть lucas: sambashare.

Любая идея о том, как это решить? Или это разрешимо?

Спасибо заранее,

Lucas

+0

Привет! Я получаю downvotes для этого вопроса, но я не уверен, почему ... Вопрос не совсем ясен? Это слишком просто или просто? ... вместо того, чтобы слепо опускать вниз, это, по крайней мере, помогло бы некоторым разъяснениям, почему кто-то голосует за него отрицательно ... –

+0

Можете ли вы не просто вручную изменить разрешения? –

+0

Привет @JID, я могу, конечно, изменить разрешения вручную. Дело в том, что это многопользовательский сервер, и я надеялся, что разрешения будут правильно назначены при каждом создании файла (ssh - наиболее распространенный метод доступа). У меня есть жалобы на то, что пользователи время от времени возвращаются ко мне, говоря, что они не могут изменять какой-либо файл из-за проблем с разрешением. Я думал, что SGID решит его, но этого недостаточно ... –

ответ

0

Возможный обходной путь заключается в использовании facl (списки контроля доступа к файлам).

setfacl -m default:group:sambashare:rw /home/samba 

Все новые файлы в /дома/самбы и подпапок будет принадлежать Лукаса: LUCAS но sambashare группа будет читать и писать разрешения.

Подробнее в getfact (1) и setfact (1).