Permisos especiales de Linux 8
Ver los permisos del archivo de comando passwd
Primero verifique la ubicación del archivo de comando passwd a través del cual
# which passwd
我们发现所在位置是:
/usr/bin/passwd
Preste atención para distinguir el archivo passwd en / etc / passwd, aquí está el archivo de configuración
Ver información detallada a través de ll / user / bin / passwd
-rwsr- xr- X.1 root root 27832 1月 30 2014 /usr/bin/passwd
Descubrí que este archivo fue asignadopermiso suid, De esta forma, cuando los usuarios normales usen este archivo para cambiar la contraseña, el archivo se ejecutará con los permisos del usuario root al que pertenece el archivo, y el usuario root podrá modificar / etc / shadow
permisos suid:
usuario1 usuario en propioDirectorio de inicio([user1 @ localhost ~]) crea archivos archivo1 y archivo2
Use letras y números para agregar permisos suid a los dos archivos respectivamente
Primero cree nuevos archivos file1, file2
$ touch file1
$ touch file2
Ver detalles del archivo
-rw-rw-r--. 1 userl userl 0 xxxxxx file1
-rw-rW-r--. 1 userl userl 0 xxxxxx file2
Agregar permisos suid
$ chmod u+S file1
$ chmod u+4664 file2
Ver detalles del archivo
-rwSrW-r--. 1 user1 user1 0 xxxxxx file1
-rwSrW-r--. 1 user1 user1 0 xxxxxx file2
permisos sgid
El usuario user1 crea una carpeta de prueba en su directorio de inicio
Cambie a superusuario, cree un nuevo grupo de prueba grupo de prueba, ajuste el grupo que pertenece al directorio de prueba a grupo de prueba
Agregar sgid para probar
Cambie al usuario normal user1, ingrese la prueba, cree un nuevo subarchivo de archivo y una subprueba de carpeta y verifique los grupos a los que pertenecen
Primero cree una nueva carpeta de prueba en el directorio de inicio de user1
# su user1
$ mkdir test
Ver los detalles como:
drwxrwxr- x. 2 user1 user1 6 xxxxxx test
Cambie a la raíz de superusuario y cree un nuevo grupo de prueba
$ exit
# groupadd testgroup
Ajustar el grupo que pertenece al directorio de prueba a testgroup
# cd /home/user1/
# chown : testgroup test 或 chgrp testgroup test
drwxrwxr- x. 2 user1 testgroup 4096 xxxxxx test
chown: Cambiar de grupo
Agregar permiso sgid para probar
# chmod g+s test
drwxrwxsr- x. 2 user1 testgroup 4096 xxxxxx test
Cambie al usuario normal user1, ingrese la prueba, cree un nuevo subarchivo de archivo y una subprueba de carpeta y verifique los grupos a los que pertenecen
# su user1
$ cd test
$ touch subfile
$ mkdir subtest
$ ll
-rw-rw-r--. 1 user1 testgroup 0 xxxxxx subfile
drwxrwsr-x. 2 user1 testgroup 4096 xxxxxx subtest
permisos fijos
Supongamos que tenemos dos usuarios nash y bob, están asignados al grupo net, tenemos una carpeta testdir que pertenece al grupo net, los miembros del grupo net tienen permisos de lectura y escritura en esta carpeta, necesitamos usar permisos fijos para este control de carpeta de archivos, de modo que nash y bob solo pueden ver los archivos creados por el otro, pero no pueden modificarlos ni eliminarlos
1. Cree un grupo de red y usuarios de bob, nash y asigne usuarios a un grupo de red.
2. Cree la carpeta testdir y cambie su grupo a net, agregue permisos de lectura y escritura a este grupo
3. Sin permiso fijo, pruebe si nash y bob pueden ver, modificar y eliminar archivos creados por el otro
4. Agregue permisos fijos al directorio testdir y luego pruebe si nash y bob pueden ver, modificar y eliminar archivos creados el uno por el otro.
Primero cree un nuevo grupo de red
# groupadd net
usuarios de bob y nash, y asigne usuarios al grupo de red
# useradd -G net bob
# useradd -G net nash
Cree la carpeta testdir y cambie su grupo a net, agregue permisos de lectura y escritura a este grupo
# cd /home
# mkdir testdir
drwxr- xr-x. 2 root root 4096 xxxxxx testdir
# chown : net testdir
drwxr- xr-x. 2 root net 4096 xxxxxx testdir
# chomod g+w testdir
drwxrwxr- x.2 root net 4096 xxxxxx testdir
Sin permiso fijo, pruebe si nash y bob pueden ver, modificar y eliminar archivos creados por el otro
# su bob
$ cd testdir
$ touch bobfile
$ exit
# su nash
# cd testdir
# rm -f bobfile
Se puede encontrar que se puede eliminar normalmente.
Agregue permisos fijos al directorio testdir y luego pruebe si nash y bob pueden ver, modificar y eliminar archivos creados el uno por el otro
# chmod o+t testdir
#ll
drwxrwxr- t. 2 root net 4096 xxxxxx testdir
# su bob
$ cd testdir
$ touch bobfile
$ exit
# su nash
# cd testdir
# rm -f bobfile
rm: 无法删除"bobfile":不允许的操作