一、管理用户账号和组账号
1、用户账号
(1)超级用户
(2)普通用户
(3)程序用户
id+用户名————查看基本信息
例:id root
cat /etc/passwd——查看用户信息
登录shell信息(/bin/bash为可登录系统,/sbin/nologin和/bin/false为禁止用户登录系统)
cat /etc/shadow——所有密码保存地
(4)各个用户的UID号
- 管理员:root用户 UID=0
- 程序用户:UID范围——1~499(Centos 6以前);1-999(centos7 以后),对守护进程获取资源进行权限分配。辅助程序创建,账户不登录
- 普通用户:UID范围——500+(centos6以前);1000+(centos7的普通用户的UID范围是从500到65535),给用户进行交互式登录使用
2、组账号
(1)基础组(私有组)
(2)附加组(公共组)
3、UID和GID
(1)UID:用户标识号
(2)GID:组标识号
4、添加用户账号——useradd
(1)useradd 添加账号
useradd [选项]…用户名
(2)常用选项
(3)示例:
useradd -u 1005 -d /opt/test -g zjf test1——指定uid、家目录、组创建用户名
useradd test6——默认创建
cat /etc/passwd——查看创建用户名
cat /etc/shadow——查看密码
注:普通用户之间相互切换依然需要验证密码
解决方法:设置普通用户的密码
passwd test6——设置用户密码
5、设置密码——passwd
(1)格式
passwd+用户名 ——普通用户设置密码
(2)常用选项
(3)示例:
passwd -d zjf
passwd -l zjf
passwd -S zjf——超级管理员不受限制,普通用户之间切换会锁定
passwd -u zjf
6、设置密码——echo
(1)特点:运用管道符设置密码,可以批量添加用户的密码
(2)格式:echo 密码 | passwd --stdin 用户名
(3)示例:
echo 000000 | passwd --stdin zjf
7、修改用户账号的属性——usermod
(1)修改所创建用户的属性
(2)格式:usermod [选项] 登录用户名
(3)常用选项:
(4)示例:
usermod -u 1009 jgq——修改uid号
usermod -d /opt jgq——修改用户的家目录
usermod -s /no/login jgq——指定用户的登录是否可以shell
usermod -L jgq——锁定用户账户
usermod -U jgq——解锁用户账户
出现-bash-4.2
的解决办法:
−
b
a
s
h
−
4.2
的解决办法:-bash-4.2
的解决办法:−bash−4.2 表示使用的是bash shell程序的版本号是4.2,$表示当前用户是普通用户
[root@localhost home]# cp /etc/skel/.bashrc /home/jgq/
[root@localhost home]# cp /etc/skel/.bash_profile /home/test/
[root@localhost home]# chown jgq:jgq /home/jgq/.bash_profile
[root@localhost home]# chown jgq:jgq /home/jgq/.bashrc
8、使用户登陆不了
(1)使用 passwd -l 锁定用户的密码——仅限于普通用户之间切换,超级管理不限制
(2)使用 usermod -L 锁定用户账户——影响普通用户之间切换,不影响超级管理
9、删除用户账户——userdel
(1)特点:普通用户,程序用户均可删
(2)格式:userdel [-r] 用户名——添加“-r”选项时可以将该用户的宿主目录一并删除
(3)示例:
cat /etc/passwd——查看创建的用户
userdel -r test6——删除tses6
二、用户账户的初始配置文件
1、文件来源
(1)useradd 命令添加一个新的用户账号后会在该用户的宿主目录中建立一些初始配置文件
(2)这些文件来自于账号模板目录/etc/skel/,基本上都是隐藏文件
2、主要的用户初始配置文件
(1)/etc/profile
- 是系统的全局配置文件,对所有用户都生效,包含一些系统级别的环境变量和默认的系统级别的shell配置。(只对自己生效)
- 例:
vim /etc/profile
source /etc/profile——重启生效
(2).bash_profile
- 该文件是用户登录时被执行的脚本,可以用来配置环境变量和一些常用的命令别名等信息,通常用来为用户定制个性化系统环境
- 例:
vim .bash_profile
source .bash_profile ——重启生效
(3).bashrc
- 该文件是在每个新的bash shell 打开时被执行的脚本,通常用来定义一些用户自己的 shell 函数,命令别名,路径,颜色等(只对自己生效)
- 例:
vim .bashrc
source .bashrc——重启
修改之后重新登录shell即可
(4).bash logout
- 该文件是在用户退出 bash shell 时被执行的脚本,通常用来清理一些临时文件,关闭一些服务等等
(5)/etc/bashrc
- 该文件是系统全局的bash 配置文件,对所有用户都有效。可以在该文件中添加系统全局的环境变量,别名等信息通常用来为所有用户定制系统级别的配置信息
注:这些配置文件是不同的环境下被执行的,执行的顺序也不同,通常在登录系统时:
- 系统会首先执行 /etc/profile 文件
- 然后 /.bash_profile 文件会被执行
- 然后再执行 /.bashrc 文件
- 而在退出 bash shell 时,.bash_logout 文件会被执行
3、组账号文件
(1)/etc/group:保存组账号基本信息
(2)/etc/gshadow:保存组账号的密码信息
例:
grep “postfix” /etc/group
4、添加组账号——groupadd
(1)格式:groupadd + 组名 ——创建组
(2)例:
groupadd whd——创建组
cat /etc/group——查看组
tail -f /etc/group
(3)指定GID号创建组
- groupadd-g
- 例:
groupadd -g 66 lux——指定GID号66创建
5、添加删除组成员——gpasswd
(1)常用选项
(2)例:
gpasswd -a jgq lux——向组内添加一个成员
cat /etc/group
gpasswd -d jgq lux ——从组内删除一个成员
gpasswd -M jgq,test6 lux——指定多个组员添加到组中去
6、删除组账号——groupdel
(1)格式:groupdel+组
(2)例:
groupdel lux
注:如果组长下有组员只能将组员移出删掉
删除组必须满足以下才可以删除:
- 不可以有任何的关联关系
- 基于用户创建的不可以删除
- 只创建组但没有关联用户
7、查询用户所属的组——groups
(1)格式:groups+用户名
(2)例:
groups jgq
8、查询用户身份标识——id
(1)格式:id+用户名
(2)例:
id jgq
9、查询用户账号的详细信息——finger
(1)格式:finger +用户名
(2)如为安装,先安装
yum install -y finger
finger zjf
10、查询已登录到主机的用户信息——w、who、users
(1)示例:
三、文件/目录得到权限和归属
1、访问权限
(1)读取 r :允许查看文件内容、显示目录列表
(2)写入 w:允许修改文件内容,允许在目录中新建、移动、删除文件或子目录
(3)可执行x:允许运行程序、切换目录
2、归属(所有权)
(1)属主:拥有该文件或目录的用户账号
(2)属组:拥有该文件或目录的组账号
3、查看文件/目录的权限和归属
4、给文件/目录赋予权限——chmod
(1)格式:chmod +数字 +local。repo
(2)例:
chmod 421 local.repo
chmod u+x local.repo——加执行权限
chmod u+w-r local.repo ——加写权限去掉读权限
chmod 777 local.repo ——给予所有权限
chmod -R 777 /etc——改变当前目录包含子目录以及目录下所有的文件的权限
5、改变文件/目录的归属——chown
(1)所有者和所属组都改变
- 格式1:
chown zjf:zjf local.repo——所有者和所属组都改变
- 格式2:
chown root.root local.repo
(2)只改变组名所属组
chown :zjf local.repo
(3)只改变用户所有者
chown jgq local.repo
(3)递归修改当前迷路和目录里面的所有文件的所有者和所属组
chown -R zjf:zjf /etc
注:特殊:多个目录递归,只会对最后一个目录及文件生效
例如:
6、限制创建新文件和目录的权限——imask
(1)文件默认权限:666
目录默认权限:777
(2)文件:新建文件就是没有执行权想,必要chmod
目录:新建自带执行权限
7、修改主机名——hostname
(1)hostname +主机名
临时修改——重启即失效
hostname bl
(2)命令修改
- hostnamectl set-hostname +主机名——永久修改
hostnamectl set-hostname lyx
- vim /etc/hostname 进入后修改主机名——永久修改,必须重启生效
vim /etc/hostname——编辑重启虚拟机
8、补充
(1)echo $PATH——环境变量
(2)su
- 普通用户下su 切回用户
- root用户下:刷新
(3)面试:
cp /etc/passwd /opt/ky ——passwd复制到opt目录下
他们的最低权限是多少
cp——执行
passwd——读
ky——写