2、sudo,受限的su 如果系统管理员sa不想其它的普通用户知道root密码,而又希望其他用户能够拥有root用户部分权限或者全部权限。这是最好的选择方式是使用sudo。 sudo需要通过/etc/sudoers文件来管理用户权限,或者直接输入visudo来编辑/etc/sudoers 文件,最好使用visudo命令。sudo运行程序时,输入自己的登录密码即可。/etc/sudoers权限管理的通用格式为: user host =run_as command user:一位或几位用户,在/etc/group中可以用一个%代替它,组对象的名称一定要用百分号%开头。 host:一个或几个主机名; run_as:作为哪个用户运行,常见选项是root和ALL command:想让用户或组运行的一个或几个根级别命令。 eg:root ALL=(ALL) ALL root表示被授权的用户,这里是根用户; 第一个ALL表示所有计算机; 第二个ALL表示所有用户; 第三个ALL表示所有命令; 全句的意思是:授权根用户在所有计算机上以所有用户的身份运行所有文件。$sudo su - 可以由一般用户切换到普通用户eg:%zhang ALL=(ALL) NOPASSWD:useradd,userdel授权zhang组全部成员在所有计算机上以所有用户的身份运行useradd,userdel命令;且运行时不必输入密码。区分su、su root、su -、 su - rootsu 后面不加用户是默认切到 root su 是不改变当前变量 su - 是改变为切换到用户的变量 也就是说su只能获得root的执行权限,不能获得环境变量 而su -是切换到root并获得root的环境变量及执行权限 su - root is the same as su - just like login as root, then the shell is login shell, which mean it will expericene a login process, usually .bash_profile and .bashrc will be sourced su root is the same as su like you open an interactive shell in root name, then only .bashrc will be sourced.本文永久更新链接地址