Linux中用户和组的操作
1、用户
(1)增加用户:useradd test1,默认使用bash,家目录在/home下
(2)给用户加密:passwd test1
(3)删除用户:userdel –r test1 (-r 用于删除家目录及其所有文件)
(4)切换用户:su root 或者 su – root (两者区别:su root不会重新加载切换用户的用户变量,su – root会重新加载用户的用户变量)
(5)获取超级用户权限:sudo,普通用户要使用sudo命令,要在/etc/sudoers文件中配置才可以使用。
例如要besttest用户要使用sudo获取root用户权限,使用root用户编辑/etc/sudoers文件,找到root ALL=(ALL) ALL这一行,在它下面加入besttest ALL=(ALL) NOPASSWD:ALL然后保存即可(NOPASSWD表示该用户使用sudo时不用输入密码)。
那么那三个ALL到底是什么意思呢?第一个ALL是指网络中的主机,第二个括号里的ALL是指目标用户,也就是以谁的身份去执行命令,最后一个ALL就是指命令名了。例如,我们想让best1用户在linux主机上以best2或best3的身份执行cat和ls命令,这样编写配置文件:best1 besttest=(best2,best3) /bin/cat,/bin/ls。那么问题就来了,best1是以best2还是best3的身份执行命令呢?这时我们可以使用sudo –u,但是这样挺麻烦,其实我们可以设置一个默认用户,再在上面加一行:Defaults:best1 runas_default=best2。
2、组
(1)增加组:groupadd 组名 或者 groupadd –g 组ID –r 组名 (groupadd –g 451 –r best)
注:-r:建立系统组,组ID小于499;新组ID在500-60000之间,小于500的为系统组
(2)删除组:groupdel 组名
(3)让用户加入组:usermod –G 组名 用户名
3、chgrp、chown
大家注意到,如果使用usermod -G 组名 用户名,只是让用户加入附属组,但是没有改变用户的主组,而使用chgrp和chown就可以改变用户的主组。
① chgrp 改变文件所属组
用法:chgrp 选项 组 文件
主要参数:-R 递归
注意:使用权限是超级用户
② chown 改变文件所有者和所属组
用法:chown 选项 用户或组 文件名
主要参数:-R 递归
注意:使用权限是超级用户
例如:chown –R test:test foo