一.用户管理配置文件
1.用户信息文件: /etc/passwd
2.密码文件:/etc/shadow
3.用户组信息文件 :/etc/group
4.用户组密码文件: /etc/gshadow
5.新用户配置文件: /etc/skel
解析用户信息配置文件组成:
以root用户为例:root:x:0:0:root:/root:/bin/bash
account:password:UID:GID:GECOS:directory:shell
用户名:密码位:用户标识:缺省组位:注释性描述:宿主目录:命令解释
linux用户分为三类:1.超级用户 如root 根本:UID(用户标识)为0的用户则为超级用户
2.普通用户 根本UID处于500-60000之间
3.伪用户 UID 1-499 注:①伪用户通常不需要或无法登陆系统
②可以没有宿主目录
用户组: 1.每个用户都至少属于一个用户组
2.每个用户组可以包括多个用户
3.同一用户组的用户享有该组的共有的权限
shadow文件的组成:
以root用户为例:root:$1$9fnDaGgx$U23ANw7mQJgRsPo335L5P.:15944:0:99999:7:::
登陆名:密码:。。。。。。
注意:删除shadow中用户对应的密码,则用户不需要密码就可以登陆系统。
linux添加用户原理:1.在etc/passwd中添加用户信息 2.在etc/shadow中添加密码信息 3.在/home下新建宿主目录,然后将etc/skel中的文件复制到宿主目录
用户配置文件: /etc/login.defs :用户登陆一些默认信息设置
/etc/default/useradd: 定义用户登陆的设置。主要是passwd的用户相关信息
/etc/motd :终端登陆成功后显示的信息。
/etc/issue :终端登陆之前会显示的信息。
Question:为什么普通用户能更改自己的密码
answer:因为passwd 拥有s权限;-rwsr-xr-x 1 root root 22984 Jan 7 2007 /usr/bin/passwd
S权限解释为 SETUID,当一个可执行程序具有SetUID权限,用户执行程序时,将以这个程序的所有者执行。然后passwd 拥有着是root 所以 每个人可以更改自己的密码。
给予 执行文件 SetUID 权限的方法:1.chmod u+s
2.chmod 4755
查看缺省的命令是 umask
SetUID 对应的缺省是 4
SetGID 对应的缺省是 2
注意:不要随便给可执行文件授予 S权限
粘着位 对应的缺省是 1
作用:如果一个 “目录” 具有粘着位,每个用户都可以在该目录创建文件,但只能删除自己创建文件。
linux中具有粘着位的文件夹是 /tmp drwxrwxrwt 14 root root 4096 Aug 30 07:12 tmp
授予目录粘着位:1.chmod 0+t
2.chmod 1777
用户组配置文件:
/etc/group 以 sys组为例: sys:x:3:root,bin,adm
组名:组密码为:组表示符:组内用户
添加组: groupadd 组名
删除组: groupdel 组名
添加用户 : useradd -D:查看缺省信息
注:添加用户中若有空格要使用双引号
例: useradd -g webmin -c “maker zhao” jack 添加一个隶属于webmin的jack用户 描述为maker zhao
用户改名命令:usermod -l TOMGAO JACK :将jack名改为tomgao
将用户添加到一个组: ①usermod -G webmin tomgao
②gpasswd -a 用户名 组名
-d :将用户从组中删除
-A :设置组管理员
-r :删除组密码
-R :禁止用户切换为改组
groups: 查看用户隶属于那个分组
newgrp:切换用户组
grpck:用户组配置文件检测
例:jack和mary 对目录 /software 有些权限
groupadd software -->usermod -G softadm jack ---> gpasswd -a mary softadm --->chgrp softw softadm /software --->chmod g+w /software
修改用户组信息:groupmod -n abc webadmin 修改webadmin的组名为abc
一些用户管理常用的管理命令:
pwck:检测文件,只能由一个用户编辑
vipw:编辑/etc/passwd文件
id :查看用户id和组信息
finger:查看用户详细信息
su 切换用户 su - 用户 会切换环境变量
passwd -s 查看密码状态
who 查看当前登陆用户信息;w 会显示更详细的用户登陆信息