之前讲的rpm和yum命令,一直在使用root用户来操作,之后要讲的内容可能会要求使用非root,即普通用户来操作。
root用户与普通用户
我在安装的时候已经为root用户设置了密码,并且同时创建了一个普通用户。root即管理员,主要用于安装维护系统环境,一些系统命令如rpm和yum只有root才有权限操作,一些系统文件也只有root有权修改,以防止其他用户破坏系统。而与系统无关的一些业务工作应使用普通用户来操作,比如数据库运维使用dba用户,tomcat运维使用tomcat用户。普通用户即使把自己的文件玩坏,即使密码被盗,也不会影响到别人,不会侵害到系统,因为他没有权限。在线上的时候,能使用普通用户来操作就不要使用root,以提高安全性。
用户命令
useradd username:创建一个用户,同时默认会创建用户的私有目录:/home/username,每次登录默认进入这里。root用户的私有目录是/root 。
passwd username:修改用户的密码,之后会进入输入密码操作界面。
userdel -r username:删除用户,-r是同时删除用户的相关目录及文件,不加-r默认不会删除。
usermod:这个命令主要是在创建用户后,可以修改一些相关信息,具体命令参数和选项查看usermod --help
组
组命令
groupadd group1:创建一个组,名为group1
groupdel group1:删除group1组
groupmod:和用户一样,mod命令是在创建组后,用于修改一些相关信息,参考groupmod --help
gpasswd -A username group1:-A是将用户设置为group1的管理员。
gpasswd -a username group1:-a是将用户添加到group1,换成-d就是从group1中删除用户。group1的管理员可以使用这个命令。
初始组和普通组
切换用户
开头说了root用户和普通用户要分开用,而有的时候,我们一人兼任多职,既是root,又是dba,又是tomcat管理员。此时可能需要切换不同的用户,拿到不同的权限,来完成不同的操作。su - username:切换到某用户,如果省略用户名,默认会切换到root。
su命令后面加不加 - 是有区别的。su是切换用户,su - 加横杠是切换用户同时切换用户环境。如PATH环境变量,不同用户的PATH是不一样的,如果不加横杠,用户A切换到用户B,而环境仍然还是用户A的,容易造成各种混乱。必须加横杠才能同时切换到用户B的环境。
另外:出于安全考虑,可以在服务器中禁止root远程登录。并且创建一个什么内容都没有的空用户,每次让这个用户来完成登录操作,进入服务器后再通过su命令行切换到root。这样即使黑客知道了登录用户的密码,他进入我们的服务器,仍然没有root权限,什么也做不了。