Question: Is there a command that will deny anyone else to edit the directory I created?
They also have admin rights, but I only want to let them read the file not able to edit/delete it.
I know chmod commands, but that provides the permission only and anyone with root privilege can still make the changes.

Answer: 
**Yes , there is a solution.**

You should just cut the directory and place it on a server where only you have the root access and privilege. Then share that directory with all other users through NFS from that server and restrict them to read access by using root squash.

**Reference:**

Root squash is a reduction of the access rights for the remote superuser (root) when using identity authentication (local user is the same as remote user). It is primarily a feature of NFS but may be available on other systems as well.

This problem arises when a remote file system is shared by multiple users. These users belong to one or multiple groups. In Unix, every file and folder normally has separate permissions (read, write, execute) for the owner (normally the creator of the file), for the group to which the owner belongs, and for the "world" (all other users). This allows restriction of read and write access only to the authorized users while in general the NFS server must also be protected by firewall.

A superuser has more rights than an ordinary user, being able to change the file ownership, set arbitrary permissions, and access all protected content. **Even users that do need to have root access to individual workstations may not be authorized for the similar actions on a shared file system. Root squash reduces rights of the remote root, making one no longer superuser. On UNIX like systems, root squash option can be turned on and off in /etc/exports file on a server side.**

After implementing the root squash, the authorized superuser performs restricted actions after logging into an NFS server directly and not just by mounting the exported NFS folder.
Yes. If you make a new group and then only add you to that group you can make sure only that group can edit the file. Here's how:
First use groupadd to make a new group

```
groupadd -g {uniqueid}{newgroupname}

```

Example:

```
groupadd -g 1234 newgroup

```

Now we have to add the user:

```
sudo usermod -G {newgroupname} {username}

```

Now just add the permission for that group to the file I usually use a gui for this so I don't know how to that using cli.
Now this all assumes that he has the wheel group rights(Default admin group) or admin rights and not root rights in which case it's impossible.