1.用户理解
用户就是系统使用者的身份
在系统中用户存储为若干字符+若干个系统配置文件
超级用户又称根用户,root。其他用户为普通用户。超级用户root的用户目录是/root。
创建用户:useradd,更改用户:usermod,删除用户:userdel。
su : 切换用户。su 用户名 (若为空,预设为root)。
usersadd : 只能由root用户增添其他用户。
userdel : 删除用户
passwd : 修改密码。 passwd userName可更改指定用户密码,仅限root修改他人。
组:
多个权限相同的用户可以归为一个组。组内用户也可以继承组的权限。
相关命令:groupadd groupmod groupdel
2. 用户信息涉及到的系统配置文件:
/etc/passwd ###用户信息
用户:密码:uid:gid:说明:家目录:用户使用的shell
/etc/shadow ###用户认证信息
用户:密码:最后一次密码修改该时间:最短有效期:最长有效期:警告期:非活跃期:帐号到期日
/etc/group ###组信息
组名称:组密码:组id:附加组成员
/etc/gshadow ###组认证信息
/home/username ###用户家目录
/etc/skel/.* ###用户骨架文件
3. 用户的管理
(1) 用户建立
useradd 参数 用户名字
-u ##指定用户uid
-g ##指定用户初始组信息,这个组必须已经存在
-G ##指定附加组,这个组必须存在
-c ##用户说明
-d ##用户家目录
-s ##用户所使用的shell,/etc/shells记录了用户能使用shell的名字
(2) 用户删除
userdel -r ##用户名称 -r表示删除用户信息及用户的系统配置
(3) 组的建立
groupadd -g ##建立组
groupdel 组名字 ##删除组
作以上实验的监控命令:
watch -n 1 'tail -n 3 /etc/passwd /etc/group;echo ====;ls -l /home;echo ===;ls -l /mnt'
(4) 用户id信息查看
id 参数 用户
-u ##用户uid
-g ##用户初始组id
-G ##用户所有所在组id
-n ##显示名称而不是id数字
-a ##显示所有信息
(5) 用户信息更改
如图,用以下命令实时监控用户的信息,以便看在更改用户信息后可以看到变化
]# watch -n 1 " tail -n 3 /etc/passwd /etc/shadow /etc/group ; echo ============\
ls -l /home"
usermod 参数 用户
-l ##更改用户名称
-u ##更改uid
-g ##更改gid
-G ##更改附加组
-aG ##添加附加组
-c ##更改说明
-d ##更改家目录指定
-md ##更改家目录指定及家目录名称
-s ##更改shell
-L ##冻结帐号
-U ##解锁
4.用户权力下放
在某些情况下,普通用户需要有超级用户的权力来执行一些任务,这就需要将root用户的权力暂时下放给普通用户,在使用完后再将权力回收,这需要用到sudo 命令。
通过sudo,我们能把某些超级权限有针对性的下放,并且不需要普通用户知道root密码。执行过后自动切换到原用户。
权力下放的步骤:
(1) 权力的下放需要在下放权力配置文件:/etc/sudoers 中进行相关命令权力的添加。
添加方法:
visudo #超级用户执行此命令即可进入编辑
#文件的位置:/etc/sudoers
如下图对student用户添加可以添加用户的权力,其中的NOPASSWD可以在使用时免密码。
(2) : 命令执行的方法
在命令前加上sudo 即可
$ sudo useradd test
4. 用户认证信息的控制
用户的密码不是永远不变的,经常修改密码有利于用户的安全,所以修改用户密码的有效时间时非常有必要的,这可以提醒用户按时修改密码,
chage 参数 用户
-d --lastday 用户登陆系统后必须修改自己的密码 ,chage -d 0 可以在用户第一次登陆后密码自动失效,强制用户 修改密码
chage -d 30 guest , 表示在改变guest密码30天后密码自动失效。
chage -d 2016-01-01 ,表示guest用户的密码在2016年1月1日后自动失效。
-m 最短有效期
-M 最长有效期
-W 警告期
-I 用户非活跃天数
-E 帐号到期日格式 -E "YYYY-MM-DD"