Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。
用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。
每个用户账号都拥有一个唯一的用户名和各自的口令。
用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录。
实现用户账号的管理,要完成的工作主要有如下几个方面:
- 用户账号的添加、删除与修改。
- 用户口令的管理。
- 用户组的管理。
摘自菜鸟教程
默认下创建文件的用户即为所有者;也可以创建时同时指定其他用户为文件的所有者;或文件创建后通过高级用户变更所有者
为保护数据的安全,用户可对文件进行相关的读写执行等权限的设置
大致分为三组:
对于普通用户,根据需要可进行自行分组,处于同一组可以拥有类似的功能。
用户组的信息存放在etc目录下的group文件中
与用户组相呼应
当某个文件若设置其文件所属组为2
并对文件所属组的权限设为可读可修改
,那么这个2组
中的所有用户
都可以对该文件进行读写操作
相对关系,某个组以外的其他用户都可以称为其他用户
属于root
用户组,是超级用户,拥有全部权限
可以创建
、删除
普通用户和用户组,设置用户权限
ueseradd
命令
useradd 选项 用户名
注意此时创建的用户是不能使用的,因为未对该账户设置密码,账号处于锁定状态
passwd
passwd 选项 用户名
现在对刚才的账户进行密码设置:
提醒:需要有一定的安全性,否则将可能不会通过检查,最好使用8位长的口令,口令中包含有大写、小写字母和数字
使用命令查看shadow文件尾的三行数据
分别对应创建的账户所对应的密码信息,每一项以:
分隔,第二项为加密后的密码
普通用户修改自己的口令时,passwd命令会先询问原口令,验证后再要求用户输入两遍新口令,如果两次输入的口令一致,则将这个口令指定给用户;而超级用户为用户指定口令时,就不需要知道原口令。
userdel
userdel 选项 用户名
检查发现不存在了
在创建用户的时候,我们没有对该用户的一些信息进行详细的设置,这给了我们在后期可能如果错误操作的改正机会
usermod
usermod 选项 参数
在使用前要确定改用户没有在计算机上执行任何程序
下面的绝大多数选项与创建时的选项是相同的(加粗为不同的)
对操作进行检查
每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。不同Linux 系统对用户组的规定有所不同,如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。
用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group文件的更新。
groupadd
group 选项 参数
这里创建一个编号为1800名字为group1的用户组
检查发现:
输出的结果被:
分隔成三项,分别为组名
、密码位
、组id
groupdel
groupdel 用户组名
该命令无参
groupmod 选项 用户组
这里把group1
修改为了shanghai
这里指定了一个新的用户在该组之下,并设置了一个缓冲时间;用了一个在线转换时间戳的网站转换了一下,不知道是不是支持时间格式化输入,如果支持的话望大佬给予指正,感谢!
将用户分组是Linux 系统中对用户进行管理及控制访问权限的一种手段。
每个用户都属于某个用户组;一个组中可以有多个用户,一个用户也可以属于不同的组。
当一个用户同时是多个组中的成员时,在/etc/passwd文件中记录的是用户所属的主组,也就是登录时所属的默认组,而其他组称为附加组。
用户要访问属于附加组的文件时,必须首先使用newgrp命令使自己成为所要访问的组中的成员。
在成为附件组成员后,用户就可以获得了相对应的组别权限。
用户可以从附加组中移除,但不能从基本组中移除
newgrp
newgrp 用户组名
su -(空格)username
su -
表示切换到root用户,并且转到根目录下su命令切换为root用户获取部分权限时需要知道root的密码,有一定的不安全性
sudo
sudo 选项 -u 用户 命令
sudo可以看做受限的su命令。
如果其他用户想要使用root的部分权限就可以使用该命令;但是若要使用,需要讲用户名添加到/etc/sudoers
中,该操作由root用户完成。这时候存在在该文件的用户只需要知道自己的密码就可以使用root身份,在密码匹配正确后,5分钟之内有效
sudoers文件
有一定的语法规范,尽量不要使用vim对其进行编辑,通常使用visudo
命令打开(其本质还是vi);在保存退出时系统也会对该文件进行语法检查
找到下面的界面
框起来的这句话的解释是:使root用户能够在任何情况下执行任何命令
对其进行编辑的时候:需要符合下列格式:
账户名 主机名称=(可切换的身份)可执行的命令
参数解释:
ALL
代表任何主机、身份、命令使用sudo -l
查看当前用户能够使用哪些命令和不能使用哪些命令
通过!
可使某些用户禁止某些命令
zhangsan ALL=(root)!/bin/more
式:
账户名 主机名称=(可切换的身份)可执行的命令
参数解释:
ALL
代表任何主机、身份、命令使用sudo -l
查看当前用户能够使用哪些命令和不能使用哪些命令
通过!
可使某些用户禁止某些命令
zhangsan ALL=(root)!/bin/more