用户,在windows和linux中都有用户的存在,用户是什么呢?用户可以登录我们的操作系统,执行某些操作。和windows不同的是,平时我们使用的windows让我们对用户的权限很陌生,因为作为PC的使用者,我们可以进行任何操作。但是我们使用linux的时候,我们会碰到各种各样的因为用户权限的问题。首先我们要了解用户有什么样的信息。我们可以通过下面的语句来查询用户的信息。但是系统为什么会识别用户,有没有这个用户?我们就要看系统默认用户存在路径有没有该用户相关的配置文件了。
cat/etc/passwd
可以查看用户涉及到的系统配置文件
cat/etc/shadow
可以查看用户的认证信息
cd/etc/skel/.*
ls-a 列出隐藏文件
可以查看用户的骨架文件
PC的所有者可以通过管理用户文件的方式来管理用户,给不同的用户设置不同的权限,从而达到自己对于其他用户(访客)的一种管理。
首先我们可以使用命令usseradd【用户名】来添加用户,中间添加语句从而使用户的信息完善。
我们可以看到用户添加成功之后,没有报错,说明我们添加的格式都是正确的,但是添加用户的组的ID和附加组时一定要注意,这两个信息一定要存在才可以进行直接操作。
其次对于已经弃用的用户我们可以删除,使用userdel -r 【用户名】命令,可以直接删除用户所在的目录,防止出现安全问题。
可以建立用户,那就可以建立组,类似的使用groupadd 【组名】来建立。因为组不同于用户的权限问题,所以建立时没有那么复杂,直接建立。
还有用户id信息查看和用户信息更改其中:
id直接查看
用来查看当前id的信息。
usermod改变的只是用户的当前信息,而只是这么做很难达到系统所有者的意愿,即不同用户权限不同这一性质。所以,在linux中可以对权力进行下放及回收,那么就要更改一些文件,从而达到这些目的。但是这些操作只有超级用户可以完成,普通用户只能执行超级用户所赋予的权力。
更改步骤:
1.在系统中超级用户可以下放普通用户不能执行的操作给普通用户下放权力配置文件:/etc/sudoers
2.下放权力的方法
超级用户执行visudo进入编辑/etc/sudoers模式
*)格式:
获得权限用户 主机名称=(获得到的用户身份) 命令
test desktop0.example.com=(root) /usr/sbin/useradd
test用户能在desktop0.example.com以超级用户身份执行/usr/sbin/useradd
3.执行下放权限命令
sudo 命令 ##如果第一次执行sudo需要输入当前用户密码
在/etc/sudoers中如果设置如下:
test desktop0.example.com=(root) NOPASSWD: /usr/sbin/useradd
表示用户调用sudo命令的时候不需要自己密码
这个由于具体执行操作步骤的各种文件绝对路径的不同,可以更改给用户各种各样的超级用户的权力,所以有很大的风险,所以执行这个需要特别谨慎。
此外对于用户每次登录时,系统总会从自身文件配置的文件中读出相关的用户信息,读取成功,则用户登录成功,失败则用户登录失败。
所有时间的表示均为(距计算机元年时间的到现在时间具体的天数)。