对用户的理解
Linux 是一个多用户、多任务的操作系统除了登陆等操作之外,系统要求进程要以一个用户的身份进行运行,管理员限制用户或者进程的访问权限。
系统中有一类用户称为伪用户(psuedousers),这些用户在Linux /etc/passwd文件中也占有一条记录,但是不能登录,因为它们的登录Shell为空。它们的存在主要是方便系统管理,满足
相应的系统进程对文件属主的要求。常见的伪用户如下所示。
bin 拥有可执行的用户命令文件
sys 拥有系统文件
adm 拥有帐户文件
uucp UUCP使用
lp lp或lpd子系统使用
nobodyNFS使用
每次添加新用户时。系统会读 /etc/login.defs 这个文件,这里定义了一些规则。在/etc/defualt 中有个文件叫useradd
,这个文件也定义了一些默认值。如默认shell。默认家目录。。。。
正如所见,这里定义了正常用户的UID范围1000-60000、初始的密码期限信息、默认邮箱目录。
当然还有其他信息,默认密码加密方式MD5.这里就不贴图了,可以自己打开去看看。
用户:密码:uid:gid:说明:家目录:用户使用的shell
注:第二字段的密码是个x,其真实密码被映射到 /etc/shadow 中。因为/etc/passwd是个所有人都可以查看的文件。。。
/etc/shadow ###用户认证信息
用户:密码:最后一次密码修改该时间:最短有效期:最长有效期:警告期:非活跃期:帐号到期日
第二字段的密码为以$分开 第一字段 1 代表MD5 加密方式
2 代表Blowfish加密方式
6 代表SHA-256加密方式
第二字段 杂质,随机生成的,就算2个相同的密码。因为加了杂质,所以加密结果也不一样
第三字段 代表加密后的密码
加密方式:
对称加密:加密和解密用同一个密码
公钥加密:每个密码都成对出现,一个为私钥,一个为公钥。(用于做密钥交换)
单向加密:散列加密;指纹加密。提取数据特征码。常用于数据完整性校验
(MD5:信息摘要128位定长输出)
(SHA1:安全哈希加密,160位定长输出)
(SHA-256:安全哈希加密增强版。256位定长输出)
!!,* 。锁定用户
[root@localhost ~]# md5sum inittab #使用MD5加密校验
66a88d6c4d693170753ea3382f8bc150 inittab
[root@localhost ~]# vim inittab #在inittab中加个a,因为散列加密的雪崩效应。稍微的改变也会是使加密结果不一样
[root@localhost ~]# md5sum inittab
d81a7893fc0f2fdd49d45e73624f6e00 inittab
组名称:组密码:组id:附加组成员
用户组类别:
私有组:创建用户时,如果没有为其指定所属组,系统默认创建一个与其同名的组
基本组:用户的默认组
附加组:默认组以外的组
/etc/gshadow ###组认证信息
/home/username ###用户家目录
/etc/skel/.* ###用户骨架文件
1.用户建立
useradd 参数 用户名字
-s ##用户所使用的shell,/etc/shells记录了用户能使用shell的名字
-m ##创建用户的主目录
上述命令是在创建用户的同时将某个系统默认值改成自己要定义的
2.用户删除
userdel -r 用户名称 -r表示删除用户信息及用户的系统配置
groupdel 组名字 ##删除组
为组添加或者删除用户
4.用户id信息查看
id 参数 用户-a ##显示所有信息
[root@localhost ~]# id -G wjx
1000 1111
[root@localhost ~]# id -Gn wjx
wjx double_lib
[root@localhost ~]# id -Gn zxx
zzx double_lib
改变文件的所属人和所属组。
chown wjx:wjx file
-L ##冻结帐号 (与passwd -l 冻结强度不一样,在/etc/shadow 中用usermod -L 是在密码字段加一个!,passwd -l,是加两个!!)
-U ##解锁
改用户的shell还有chsh。
改用户的备注信息有chfn
下放权力配置文件:/etc/sudoers
*)格式:
test用户能在desktop0.example.com以超级用户身份执行/usr/sbin/useradd
表示用户调用sudo命令的时候不需要自己密码
visudo使用时要十分注意。比如我想让普通用户帮我添加用户,但没改密码,此用户时无法登陆的
所以我需要把passwd命令的权限也下放,才能让普通用户真正意义上的添加用户。但普通用户就可以使用
passwd以root身份把root的密码改掉。这就相当于root把服务器送人了
也不能把vim等编辑命令给普通用户。看下图
将vim权利下放
[wjx@localhost root]$ sudo vim /etc/passwd #普通用户可以改passwd
让后把自己的UID改为0,root的UID改为1000。然后自己和root身份互换了,自己成大哥了,root成小弟了