管理Linux服务器的用户和组
Linux系统下的用户账户分为两种:
● 普通用户账户:在系统中只能进行普通工作,只能访问他们拥有的或者有权限执行的文件。
● 超级用户账户(root):也叫管理员账户,它的任务是对普通用户和整个系统进行管理。超级用户账户对系统具有绝对的控制权,能够对系统进行一切操作。
在Linux系统中,为了方便管理员的管理和用户工作的方便,产生了组群的概念。
组群是具有相同特性的用户的逻辑集合,使用组群有利于系统管理员按照用户的特性组织和管理用户,提高工作效率。有了组群,在做资源授权时可以把权限赋予某个组群,组群中的成员即可自动获得这种权限。
指令
1.新建用户 useradd [选项] <username>
2.设置口令 passwd [选项] [username]
3.删除用户账户 userdel [-r] 用户名
4.创建/删除/为组群添加用户组 groupadd testgroup/groupdel testgroup/gpasswd [选项] [用户] [组]
使用su命令和sudo命令
1.su命令
su命令可以解决切换用户身份的需求,使得当前用户在不退出登录的情况下,顺畅地切换到其他用户,比如从root管理员切换至普通用户
当从root管理员切换到普通用户时是不需要密码验证的,而从普通用户切换成root管理员就需要进行密码验证
2.sudo 命令
尽管像上面这样使用su命令后,普通用户可以完全切换到root管理员身份来完成相应工作,但这会暴露root管理员的密码,从而增大了系统密码被黑客获取的概率,因此上述操作并不是最安全的方案。
sudo命名用于给普通用户提供额外的权限来完成原本root管理员才能完成的任务,这样既可保证普通用户能够完成特定的工作,也可以避免泄露root管理员密码。我们要做的就是合理配置sudo服务,以便兼顾系统的安全性和用户的便捷性。 ( sudo [参数] 命令名称)
参数 作用
-l 列出当前用户可执行的命令
-u 用户名或UID值 指定用户身份执行命令
-k 清空密码的有效时间,下次执行sudo时需要再次进行密码验证
-b 在后台执行指定的命令
-p 更改询问密码的提示框
sudo命令默认验证密码后5分钟内无须再次验证,除了使用命令也可以使用visudo命令配置sudo命令的配置文件,在配置文件中,按照如下的格式进行配置,大概在93行