Ubuntu 22.04에서 고정 비트의 영향을 받지 않는 Ubuntu 사용자

Ubuntu 22.04에서 고정 비트의 영향을 받지 않는 Ubuntu 사용자

/tmp 디렉터리와 클러스터 명령의 지속 비트에서 이상한 동작이 발생합니다. 두 가지 시나리오를 시도했습니다.

상황 1: Ubuntu 사용자를 사용하여 파일을 생성합니다. 루트에는 생성된 파일에 액세스할 수 있는 권한이 없습니다.

ubuntu@:~$ touch -a /tmp/ubuntu_user_created.lck
ubuntu@:~$ flock -n /tmp/ubuntu_user_created.lck -c "echo 123"
123
ubuntu@:~$ sudo flock -n /tmp/ubuntu_user_created.lck -c "echo 123"
flock: cannot open lock file /tmp/ubuntu_user_created.lck: Permission denied

시나리오 2: 루트 사용자를 사용하여 파일을 생성하고 루트 및 Ubuntu 사용자 모두 생성된 파일에 액세스할 수 있습니다.

ubuntu@:~$ sudo touch -a /tmp/root_user_created.lck
ubuntu@:~$ flock -n /tmp/root_user_created.lck -c "echo 123"
123
ubuntu@:~$ sudo flock -n /tmp/root_user_created.lck -c "echo 123"
123

두 파일에 대한 권한:

ls -la /tmp/
total 52
drwxrwxrwt 12 root   root   4096 Oct  6 08:08 .
drwxr-xr-x 19 root   root   4096 Oct  6 03:42 ..
-rw-r--r--  1 root   root      0 Oct  6 07:56 root_user_created.lck
-rw-rw-r--  1 ubuntu ubuntu    0 Oct  6 07:54 ubuntu_user_created.lck

r 파일이 루트 소유 flock -n /tmp/root_user_created.lck이므로 Ubuntu 사용자가 명령을 성공적으로 실행할 수 있는 이유를 이해할 수 없습니다. Flock 명령은 이 파일을 읽기 모드에서만 열고 싶습니까?oot_user_created.lck

Flock 명령에 읽기 액세스만 필요한 경우 flock -n /tmp/ubuntu_user_created.lck루트 권한으로 명령을 실행하면 거부된 권한이 반환되는 이유는 무엇입니까?

관련 정보