用户就是系统使用者的身份,在系统中,用户储存为若干窜字符+若干个系统配置文件
用户的系统配置文件为: /etc/passwd 这里包含了用户的信息
格式为:用户:密码:uid:gid:说明:家目录:用户使用的shell
/etc/shadow 这个文件是用户的认证信息
格式为:用户:密码:最后一次密码修改该时间:最短有效期:最长有效期:警告期:非活跃期:帐号到期日
/etc/group 组信息
格式为:组名称:组密码:组id:附加组成员
/etc/gshadow 组认证信息
/home/username 用户家目录
/etc/skel/.* 用户骨架文件
useradd -u xxx usename 指定用户的uid为xxx
useradd -g xxx username 指定用户的gid为xxx,且xxx必须已存在。
useradd -G xxx username 指定用户的附加组为xxx,且xxx必须已存在。
useradd -c <备注> username 加上备注文字。备注文字会保存在passwd的备注栏位中。
useradd -d 目录 username 指定用户登入时的家目录。
useradd -s /bin/xxx username 用户所使用的shell,/etc/shells记录了用户能使用shell的名字
userdel -r username 删除用户
groupadd -g groupname 建立组
groupdel groupname 删除组
以上实验可以用监控命令监控,具体操作如下:
打开一个新的shell,输入命令:watch -n 1 'tail -n 3 /etc/passwd /etc/group;echo ====;ls -l /home;echo ===;ls -l /mnt'
通过此监控窗口,可以实时显示用户状态,包括删除,添加,更改,uid,gid等等。
4.用户id信息查看
id -u username 查看用户uid
id -g username 查看用户初始组id
id -G username 查看用户所有组id
id -a username 显示所有信息
一般用的最多的是id username。
usermod -l username2 username1
usermod -u xxx username 将用户username的uid改为xxx
usermod -g xxx username 将用户username的gid改为xxx,且xxx必须存在
usermod -G xxx username 将用户username的附加组更改为xxx,且xxx必须存在,若没有附加组,则加一个附加组
usermod -aG xxx username 可以添加多个附加组
usermod -c <备注> username 加上备注文字。备注文字会保存在passwd的备注栏位中。
usermod -d /home/xx 更改用户的家目录为xx
usermod -s /sbin/nologin lee 更改shell
usermod -L username 锁定用户username
usermod -U username 解除username的锁定
以上所有对用户的操作都必须在超级用户下执行才能有效
在linux系统中有root超户和普通用户,超级用户权力最大,拥有普通用户一些不能拥有的权力。如果普通用户想要获得超级用户的一些权力,就需要超级用户下放一些权力。
下放权力配置文件:/etc/sudoers
具体步骤如下:
hostname查看主机名
超级用户执行visudo进入编辑/etc/sudoers模式,在第99行输入下放命令:
例如: student localhost=(root) /usr/sbin/useradd 这样,student就可以创建用户了
设置好之后在student用户下就可以使用 sudo useradd xxx 创建用户了。
虽然可以创建用户,但是需要输入密码,如果觉得繁琐,也可以在第99行输入:
student localhost=(root) NOPASSWD:/usr/sbin/useradd ,意思是不用输入密码。