Ограничить вход через группу пользователей в access.conf

Вы не можете, поскольку пользователь, создающий каталог, имеет достаточно прав для записи в родительский каталог.

Вместо этого вы можете использовать семейство системных вызовов inotify , предоставляемых ядром Linux, чтобы следить за созданием (и, при необходимости, mv -ing) каталога shop в данном каталоге, если он создан (или, необязательно, mv -ed), rm каталог.

В данном случае вам понадобится программа inotifywait (поставляется с inotify-tools , при необходимости сначала установите ее).


Предполагая, что каталог shop будет находиться в каталоге / foo / bar , давайте установим мониторинг для создания / foo / bar / shop и rm мгновенно при создании:

inotifywait -qme create /foo/bar | \
             awk '/,ISDIR shop$/ { system("rm -r -- /foo/bar/shop") }'
  • inotifywait -qme create / foo / bar наблюдает за каталогом / foo / bar для любых файлов / каталогов, которые могут быть созданы, то есть следить за любыми create event

  • Если создано, awk '/, ISDIR shop $ / {system ("rm -r - / foo / bar / shop")}' проверяет наличие файла это каталог и его имя магазин ( /, ISDIR shop $ / ), если это так, rm каталог ( system ("rm -r - / foo / bar / shop ") )

Для удаления вам необходимо запустить команду от имени пользователя, имеющего разрешение на запись в каталог / foo / bar магазин из справочника.


Если вы хотите отслеживать операции mv -ing, добавьте также наблюдение за событием move_to :

inotifywait -qme create,moved_to /foo/bar | \
             awk '/,ISDIR shop$/ { system("rm -r -- /foo/bar/shop") }'

Обратите внимание, если вы ищете файл, а не каталог , названный магазин :

inotifywait -qme create /foo/bar | \
                 awk '$NF == "shop" { system("rm -- /foo/bar/shop") }'

inotifywait -qme create,moved_to /foo/bar | \
                 awk '$NF == "shop" { system("rm -- /foo/bar/shop") }'
2
15.03.2016, 23:08
3 ответа

Изman access.conf:

Each line of the login access control table has three fields separated by a ":" character (colon): permission:users/groups:origins

The first field, the permission field, can be either a "+" character (plus) for access granted or a "-" character (minus) for access denied.

The second field, the users/group field, should be a list of one or more login names, group names, or ALL (which always matches). To differentiate user entries from group entries, group entries should be written with brackets, e.g. (group).

Итак, ваш /etc/security/access.confдолжен выглядеть так:

+ : root : ALL
+ : (group_name) : ALL
- : ALL : ALL
4
27.01.2020, 21:52

RHEL 6.5 поддерживает SSSD. Вы можете установить фильтр доступа в вашем домене/LDAP-определении /etc/sssd/sssd.conf .

domains = LDAP
...
[domain/LDAP]
id_provider = ldap
auth_provider = ldap
...   
ldap_access_filter = memberOf=cn=MyGroupOfUsers,ou=MyOU,o=MyOrg
...

Затем обязательно перезапустите sssd

service sssd restart
1
27.01.2020, 21:52

mrc02 _kr tiene razón, creo.

+ : root : ALL
+ : (group_name) : ALL
- : ALL : ALL

Pero esto deja fuera un paso importante :tiene que decirle a authconfig que quiere hacer cumplir el control de acceso PAM. Antes de hacer esto, el archivo access.conf no hace nada.

*UNA PALABRA DE PRECAUCIÓN:*Lo que voy a describir funciona en mis sistemas, pero es muy peligroso y puede dejarlo fuera de su sistema si lo hace incorrectamente o si su configuración es diferente. Tome la precaución de tener una sesión de consola abierta para reparar problemas. Si se trata de una máquina virtual, tome una instantánea. Haz copias de seguridad. Use una caja de prueba antes de hacerlo y cualquier cosa que le interese. No reinicie mientras tenga problemas. Como no tengo experiencia con FreeIPA, esto podría arruinar su configuración. Usted ha sido advertido. Bien, volvamos a la respuesta:

Primero, hice una copia de seguridad de mi authconfig:

authconfig --savebackup authconfig_working_outofbox01

Luego, agregué un grupo local para cuentas autorizadas para ssh (pero estoy bastante seguro de que esto funcionará para grupos en FreeIPA... pero no estoy 100% seguro. He usado una configuración usando un grupo LDAP... solo ha pasado un tiempo.)

Luego, actualicé el archivo acces.conf, agregando:

+ : (ssh_auth) : ALL
- : ALL        : ALL EXCEPT LOCAL

A continuación, edito el archivo :/etc/sysconfig/authconfig, cambiando

USEPAMACCESS=no

a

USEPAMACCESS=yes

Por último, dígale a authconfig que actualice:

authconfig --updateall

Ahora pruebe cada tipo de usuario para asegurarse de que obtuvo los resultados que deseaba. Esto parece muy poco documentado en Internet, lo que me hace pensar que pocas tiendas lo usan. Me gusta como un paso sólido en los sistemas de endurecimiento.

2
27.01.2020, 21:52

Теги

Похожие вопросы