Linux中用户的管理
(1)什么是用户
用户是操作者在系统中的身份,是系统最底层的安全机制的一部分,用户在系统中以字符和文件的形式存在
(2)用户管理即文件的管理
vim /etc/passwd (用户信息文件)
编辑
hello:x:11:11::/home/hello:/bin/bash
文件编辑完,就有了hello用户
su - hello(切换用户)
发现显示不正常,缺少家目录,缺少组的信息
mkdir /home/hello
vim /etc/group
编辑 hello:x : 888 :
报错没有了,但是用户还是不正常,因为家目录没有权限
chown hello.hello /home/hello/
还是不正常,是因为用户缺少很多配置
cp /etc/skel/.* .
复制一份配置
再次切换用户,发现用户正常
(3)用户存储文件有哪些
/etc/passwd (用户信息文件)
用户名称:密码:uid:gid:说明 : 家目录:默认shell(默认shell的指定可以查找系统中的/etc/shells文件)
/etc/group (用户组信息文件)
组的名字:组密码:组id:组成员
/etc/shadow (用户认证信息文件)
/home/username (用户的家目录)
/etc/skel/ (用户的骨文件)(默认开启shell的配置)
(4)用户的查看
查看当前用户:whoami
查看系统中的用户 id hello
查看系统用户的id id -u hello
查看系统用户的组id id -g hello(-G 是所有的组id)
(5) 建立/删除用户
useradd hello
useradd -u 888 hello / useradd -g 888 hello(g后面的888一定是已经存在的) groupadd -g 888 hello
userdel -r hello
(6) 更改用户的信息
usermod -l 新名称
usermod -u 666 更改用户的uid
usermod -g 21 更改用户的初始组
。。。
(7)切换用户
su - hello(级别高切换到级别低不需要后者密码)
su - student(要输入密码才能切换)
(8)修改用户的密码
如果是超级用户,如何去修改密码呢
passwd (改掉自身密码)无密码长度限制,且不需要知道原始密码
输入即可
passwd hello (改掉其他普通用户的密码)
如果是普通用户,该如何修改密码呢
只能修改自己的密码
passwd 即可 要输入当前用户密码,才能修改
(9)用户授权
sudo 下放权力,这是靠编辑文件来做的,/etc/sudoers
文件里有严格的语法格式(在100行左右)
root ALL=(ALL) ALL
下面写
hello hostname=(root) NOPASSWD: /usr/sbin/useradd
也就是说,hello用户可以以超级用户的身份去执行/user/sbin/useradd这个操作
但是发现还是不行,因为这个程序根本没有读到这个文件
sudo useradd lee
这样就可以啦