1 用户管理相关配置
/etc/passwd 保存了用户的密码信息
/etc/shadow 实际保存的用户加密后的密码信息
/etc/group 用户组的信息
1.1 用户管理相关配置
• 当使用影子口令时,/etc/shadow文件存放着实际加密过的用户
口令。
name:password:last:min:max:warn:inactive:
expire:reserved
12 用户管理
• 增加用户useradd、adduser
在使用adduser命令时,它会添加这个用户名,并创建和用户名
名称相同的组名,并把这个用户名添加到自己的组里去,并在
/home目录想创建和用户名同名的目录,并拷贝/etc/skel目录
下的内容到/home/用户名/的目录下,提示输入密码。
用户管理
• 增加用户useradd、adduser
在使用命令useradd时,它会添加这个用户名,并创建和用户名
相同的组名,但它并不在/home目录下创建基于用户名的目录,也
不提示创建新的密码。它只创建普通用户,不能用这个用户名来
登录系统。
• 删除用户userdel
只删除/etc/passwd与/etc/shadow中该账户的信息:
# userdel guest
加“-r”参数,连同相关文件一起删除:
# userdel –r guest
添加组命令groupadd
-g GID 设定组ID的值
# groupadd –g 55 newgroup
删除组命令groupdel
# groupdel newgroup
passwd命令常用参数:
-k 保留即将过期的用户在期满后能仍能使用
-d 删除用户密码
-l 锁定用户密码,使其无法更改密码
-u 解除锁定用户密码
-S 显示用户密码状态
利用passwd命令来修改用户的口令
chage -M命令迫使用户下次登入更改口令
# chage –M 0 username
chage –l查看用户信息
# chage –l username
用户信息查询:
id 查询用户的UID,GID及拥有的群组
groups 查询用户能支持的群组
finger 查询用户的一些相关信息
手动添加用户步骤:
1.添加新群组 (/etc/group)
2.创建账户的相关信息 (/etc/passwd)
3.同步passwd与shadow文件 (pwconv)
4.设置账户密码(passwd)
5.创建用户的根目录 (cp –r /etc/skel /home/username)
6.更改用户目录的所有者属性
(chown –R username.group /home/username)
用户手动创建实例:
1.添加组信息:# vi /etc/group
groupname:x:520:
2.添加用户信息:# vi /etc/passwd
username:x:520:520: :/home/username:/bin/bash
3.同步passwd与shadow:# pwconv
4.设置用户密码:# passwd username
5.创建用户的根目录:# cp –r /etc/skel /home/username
6.修改用户目录的权限:
# chown –R username.groupname /home/username
3 文件权限管理
• chown 改变文件的拥有者
• chgrp 改变文件的所属群组
• chmod 改变文件的可写、可读、可执行等属性
• umask 改变预设的建立文件或目录时的属性
chmod命令详解
# chmod +x hello
为hello文件赋予所有用户的执行权限
# chmod 777 hello
为hello文件赋予所有用户的全部操作权限
# chmod u+rwx hello
为hello文件赋予当前用户的所有操作权限
# chmod 700 hello
当前用户有对hello文件的所有操作权限,其他用户无任何权限
r 4 读权限 u 当前用户
w 2 写权限 g 组用户
x 1 执行权限 o 其他用户
4 安全
su命令可以在普通用户登入状态下切换root用户权限。
sudo 临时使用root权限进行操作,当命令执行后,权限解除。
Linux系统的习惯是尽量少用或不用root权限来对系统进行操
作,杜绝开机就直接root登入,操作到底。
在将普通用户变更为root用户时建议使用“-”选项,这样可以将
root的环境变量和工作目录同时带入。
【小知识】:环境变量实际上就是用户运行环境的参数集合。Linux是一个
多用户的操作系统。而且在每个用户登录系统后,都会有一个专有的运行
环境。通常每个用户默认的环境都是相同的,而这个默认的环境实际上就
是一组环境变量的定义。用户可以对自己的运行环境进行定制,其方法就
是修改相应的系统环境变量。
常见的环境变量如下:
PATH是系统路径
HOME是系统根目录
HISTSIZE是指保存历史命令记录的条数
LOGNAME是指当前用户的登录名
HOSTNAME是指主机的名称
SHELL是指当前用户用的是哪种Shell
LANG是和语言相关的环境变量
MAIL是指当前用户的邮件存放目录