You can specify the allowed commands with sudo;
you don't have to allow unlimited access, e.g.,
username ALL = NOPASSWD : /usr/bin/apt-get , /usr/bin/aptitude
This would allow username to run sudo apt-get
and sudo aptitude
without any password, but would not allow any other commands.
You can also use PackageKit combined with polkit
for some finer level of control than sudo.
Allowing users to install/remove packages can be a risk.
They can pretty easily render a system nonfunctional
just by uninstalling necessary software, like libc6, dpkg, rpm etc.
Installing arbitrary software from the defined archives may allow attackers
to install outdated or exploitable software and gain root access.
The main question in my opinion is how much do you trust your employees?
Of course your admin team could also start using a configuration management system like puppet, chef or look into spacewalk to manage your system. This would allow them to configure and manage the system from a central system.
apt-secure(8)
says: "apt-get will currently only warn for unsigned archives, future releases might force all sources to be verified before downloading packages from them". Depending on how sophisticated an attack is, it could be possible to hijack the connection to the repository source and inject an untrusted package. However, read that man page for more details. You may have a secure enough solution for your thread model. – camh May 29 '12 at 15:21