Is there an ability to not allow sudoers view your folder (only you and root can access folder)?
Assuming that by “sudoers” you mean people who are allowed to run commands as root with the
sudo prefix, because they are mentioned in the
sudoers file through a line like
bob ALL=(ALL) ALL, then these people are root. What defines being root isn't knowing the password of the root account, it's having access to the root account through whatever means.
You cannot protect your data from root. By definition, the root user can do everything. Permissions wouldn't help since root can change or bypass the permissions. Encryption woulnd't help since root can subvert the program doing the decryption.
If you don't trust someone, don't give them root access on a machine where you store your data. If you don't trust someone who has root access on a machine, don't store your data on it.
If a user needs root access for some specific purpose such as comfortably administering an application, installing packages, etc., then give them their own hardware, or give them their own virtual machine. Let them be root in the VM but not on the host.
sudo access is granted in this type of manner:
# User privilege specification root ALL=(ALL) ALL user1 ALL=(ALL) ALL
In this scenario, the user essentially has unfettered access to become root and do whatever they want. You can be more judicious in how you grant access to various tasks within sudo by doing things this way instead:
user1 ALL=(root) /usr/bin/find, /bin/rm
Here's we're limiting the commands that user1 can use to just
rm. If you know that a user only needs a particular command you can grant them access exclusively to just that command.
Further more you can create scripts instead of just adding commands. For example:
user1 ALL=(root) /usr/local/bin/limited_script.sh
This script would be the only command they would have access to, you could for example
cd /to/some/dir, in the script prior, and then wrap whatever command they need to have access to. This might be a way to limit their access.
Realize that the approach isn't full proof but would provide you some level of protection.
Unless the commands a sudoer can run are restricted in the
sudoers config file (normally
root, so there's nothing you can do to prevent a sudoer from accessing your directory.
sudo is used to gain root-powers by normal users, at least of a particular command. So if root can read it, then a user using
sudo can too.
I guess the best you could do was to encrypt the folder/files in some way to a personal password.
You might possibly use ACLs and in setting the appropriate ACE entries you might be able to do this. However, its a bit more hassle.
Anyway, if you do this, how is an administrator going to help you fix a problem with your files/directories? Either you trust your trusted users or you do not and move along to another system where you trust your administrators.