Назад | Перейти на главную страницу

Как включить просмотр файлов с полными правами на /?

Теперь я знаю, что на ServerFault есть много вопросов самбы (около 1400), и я просмотрел, по крайней мере, половину из них, и не смог использовать ни один из ответов для решения моей проблемы.

Мы устанавливаем CentOS 6.2 на новую пустую машину - чистая установка; он будет работать как сетевой сервер для размещения Asterisk.

Я хочу настроить машину так, чтобы у меня был полный административный доступ к root (я имею в виду корень «/») с моей рабочей станции Windows.

Это позволит мне использовать мой собственный удобный компьютер (и Notepad ++) для редактирования всех файлов конфигурации. Другими словами, я должен открывать \\mylinux\etc\samba\ в проводнике Windows, а затем иметь полные права на редактирование smb.conf с моим текстовым редактором Windows.

У меня это очень хорошо работает с CentOS 4, но не могу заставить его работать в CentOS 6.2. В более старой версии ОС для всего был графический интерфейс, но теперь мне нужно учиться и делать все из интерфейса командной строки. Я до сих пор использую графический интерфейс для некоторых вещей, которые я еще не научился делать с помощью интерфейса командной строки, поэтому я все равно буду делать ссылки на графический интерфейс в своих заметках здесь.

Теперь, когда вы знаете мою проблему и мою цель, вот некоторые подробности:

.

[root]
comment = Root Directory
path = /
valid users = @root all root group
invalid users = None
writeable = yes
browseable = yes

Теперь вы можете подумать, что на этом этапе я могу получить доступ к общему ресурсу linux. Но когда со своего компьютера с Windows я пытаюсь отобразить путь \\mylinux\root\, Я получаю сообщение об ошибке, указывающее, что пункт назначения не существует. На моей старой Linux-машине я могу просматривать даже \\oldlinux\ и получите список акций. Кажется, я не могу дублировать функциональность!

[РЕДАКТИРОВАТЬ]

Хорошо, я полностью отключил брандмауэр, и теперь я могу просматривать файлы, куда хочу. Остались только права на редактирование файла вроде smb.conf. Другими словами, моя учетная запись пользователя, которую я использую для просмотра файлов, находится в root группа, также нуждается root разрешения. Как мне это получить?

Samba сопоставляет ваш доступ с учетной записью пользователя Unix на сервере, и для этого пользователя применяются обычные разрешения. Следовательно, это то же самое, что предоставить пользователю Unix доступ на запись к этим файлам. Вы либо должны быть root user (т.е. действовать как владелец файлов, у которого есть разрешение на запись), или вы должны быть в группе, у которой есть права группы на запись в файлы. Последний вариант (незначительно) предпочтительнее, поэтому добавьте себя в список root group и измените права доступа к файлу, чтобы разрешить групповую запись. (Я предполагаю, что вы знаете о последствиях этого для безопасности.)

Наконец то получил! Потребовалось две вещи: - Отключить selinux - раскомментировать строку в smb.conf для

username map = /etc/samba/smbusers

И в smbusers.conf я добавил root = myuser затем запустите команду:

smbpasswd -a myuser
smbpasswd -e myuser
service smb restart

Теперь я могу подключиться к машине со своего компьютера с Windows, просматривать файлы в корневом каталоге и редактировать их с помощью моего любимого текстового редактора на моем компьютере с Windows.

Просто примечание для всех - я понимаю, что работа с процедурами, над которыми я работаю, представляет собой угрозу безопасности, но я нахожусь за безопасным брандмауэром-маршрутизатором и буду администрировать машину таким образом только из локальной сети.

Для CentOS7

В CentOS 7 он по умолчанию запрещает аутентификацию ntlm для корневого доступа - что означает, что вы не можете подключиться с учетной записью root - если вы не добавите это в [global] раздел smb.conf:

ntlm auth = yes

И если вы хотеть чтобы использовать файл smbusers, добавьте его в тот же глобальный раздел в smb.conf:

username map = /etc/samba/smbusers

Затем вы можете создать этот файл и добавить это:

root = myusername