用户、useradd、用户修改usermode、设置密码passwd、密码、用户组、包、yum、源码
- 
超级管理员用户 root 0 
- 
普通用户 - 
系统用户: 用来启动系统的一些服务和进程的用户,不可以登陆 1-999(centos7)1-499 (centos6) 
- 
可登陆用户:能登录系统的用户 1000-65535(centos7)500-65535(centos6) 
 
- 
 Usage: useradd [options] LOGIN
        useradd -D
        useradd -D [options]
 普通用户的id是递增,系统用户的id是递减的
 -d 用来指定用户的家目录
 -g 指定用户组的id
 -G 指定用户的附加组
 -k 指定复制那个文件夹下的内容,需要和-m一起使用
 -m 创建用户的家目录
 -c "message" 指定用户的描述信息
 -N 不创建同名的组,以users为组
 -s 指定用户登录后使用的shell
 -u 指定用户的id
 —D 显示系统的默认配置
 -D [options] 可以修改系统的默认配置
- 
相关文件 - 
/etc/default/useradd 创建用户的默认文件 
- 
/etc/skel/* 默认复制的文件 
 
- 
用户修改usermode
 -c 修改描述信息
 -d 修改家目录,默认不会创建新目录,如果想移动家目录,则需要使用-m
 -g 修改用户组
 -G 修改用户的附加组,默认情况下是替换
 -a 追加附加组
 -l newname 修改用户的登录名称
 -L 锁定用户,不能登录系统,修改密码默认情况下回解锁
 -U 解锁用户
 -s 修改用户登录后的shell
 -u 修改用户的uid
 -e 年-月-日 修改用户的过期时间,过期以后不能登录
删除用户 USERDEL
 默认删除用户不删除用户的家目录
 -r 删除家目录
 -f 强制删除
 默认情况下,用户登录状态下是不能删除用户,强制删除用户以后,用户还是可以用的
查看用户相关信息id
 -g 只显示组id
 -G 只显示附加组id
 -u 只显示用户id
 -n 显示名称,需要和guG来配合使用
切换用户
 su [options] [-] [USER [arg]...]
切换用户的方式
- 
完整切换:su - username 登录式切换,环境变量等都会切换 
- 
不完整切换:su username 不会切换用户的环境变量家目录等 
- 
root切换普通用户不需要密码,非root用户切换需要密码 
切换用户执行命令
 [root@localhost ~]#su - peiqi -c "whoami"
 peiqi
执行本身不能执行的命令
sudo 配置文件为/etc/sudoers
 peiqi   ALL=(ALL)       NOPASSWD:ALL
 其中的NOPASSWD 是不需要输入密码
/etc/passwd文件
- 
用户名称 
- 
密码,使用x来占位 
- 
uid 
- 
gid 
- 
描述信息 
- 
家目录 
- 
登录后使用的shell 
设置密码passwd
 passwd [OPTION...] <accountName>
 -d 删除指定用户的密码,删除密码之后就不能登录
 -l 锁定用户
 -u 解锁用户
 -e 在下次登录以后强制用户修改密码
 -f 强制操作
 -x maxday 密码的最长使用时间
 -n minday 密码的最短使用时间
 -w warnday 密码过期前多长时间提醒
 -i inactiveday 密码过期多长时间以后禁用
 --stdin 从标准输入读取密码 echo '123'|passwd --stdin peiqi
存放文件/etc/shadow
- 
用户名 
- 
密码 $加密方式(默认sha512)$盐$加密后的字符串$ 
- 
从1970年1月1日到最近一次修改密码经过的时间 
- 
密码的最短使用时间(0表示随时可以修改) 
- 
密码的最长使用时间(99999表示永不过期) 
- 
密码过期多长时间提醒(默认是一周) 
- 
密码过期多长时间锁定 
- 
从1970年1月1日开始算起,多长时间后账号失效 
密码的复杂性策略
- 
必须包括数字、大小写、特殊字符 
- 
密码必须12位以上 
- 
不能为弱口令 
- 
必须为随机密码 
- 
3个月或者半年修改一次 
机器免密登录
 ssh-keygen 一路回车
 ssh-copy-id 要登录的机器
修改用户密码策略 chage
 -E
 -I
 -m
 -M
 -W
 change login 可以使用交互式的修改密码策略
chfn 修改用户的个人信息
用户组
- 
超级用户组 root 0 
- 
普通用户组 - 
系统用户组 1-999(centos7) 1-499(centos6) 
- 
可登陆用户组 1000-65535(centos7)500-65535 (centos6) 
 
- 
 groupadd
 -g 指定组id
 -r 创建系统用户组
组的文件
/etc/group
- 
组名 
- 
密码占位 
- 
gid 
- 
组成员 
/etc/gshadow
- 
组名 
- 
密码 
- 
组管理员的密码 
- 
组成员 
修改组信息
groupmod
 -g 修改gid
 -n 修改组名
删除组
groupdel 删除组
软件
windows exe
centos(redhat) rpm
rpm: radhat package manager
rpm(手动解决依赖关系)
yum(自动解决依赖关系)
包的命名规范
 MySQL-python-1.2.5-1.el7.x86_64.rpm  
 名字-版本(大版本.小版本.修订版)-打包版本.可用的系统.架构.rpm
 架构:
     x86_64
     x86
     i386
     i486
     i686
     ppc
     noarch 表示通用
包的来源
- 
光盘 
- 
第三方网站 
- 
官方网站 
- 
自己做 
- 
epel 第三方包的结合地 
rpm 包的查询
 rpm -q 查询指定的包是否安装
 -a  all 表示当前系统安装的所有的包
 -f filename 查询指定的文件由那个包安装生成
 -c 查看指定的包生成了哪些配置文件
 -d 查询指定的包生成了哪些文档
 -i 查询指定包的详细信息
 -l 查询指定的包生成到文件
 常用的选项
 -qi
 -qa
 -ql
 -qc
 -qd
yum
yum 会自动解决依赖关系
仓库 存放的是 多个包和包的元数据信息(所在仓库,依赖关系)
仓库的位置:
- 
http:// 
- 
https: // 
- 
ftp: // 
- 
file: //(本地文件) 
- 
配置文件存放在/etc/yum.repos.d 
yum配置文件
 [base] #名称
 name=CentOS-$releasever - Base - mirrors.aliyun.com # 描述信息
 failovermethod=priority # 定义挑选顺序 priority 按顺序 roundrobin 随机
 baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
         http://mirrors.aliyuncs.com/centos/$releasever/os/$basearch/
         http://mirrors.cloud.aliyuncs.com/centos/$releasever/os/$basearch/
 enabled ={0|1} 是否启用,1启用,0是不启用
 gpgcheck={0|1} 使用校验
 gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7 # 校验文件
 默认值
 $releasever 发行版
 $basearch 系统架构
yum 源
- 
阿里 
- 
163 
- 
sohu 
- 
腾讯 
- 
北大 
- 
中科大学 
- 
。。。。 
yum命令
- 
yum repolist 查看仓库 
- 
yum list 列出仓库里面所有的包 安装的包前面带@ 
- 
yum install 安装包 
- 
yum reinstall 重新安装 
- 
yum update 更新所有的包 
- 
yum update pkg 更新指定的包 
- 
yum downgrade 降级 
- 
yum check-update 检查包是否可以更新 
- 
yum remove 卸载包 
- 
yum info pkg 显示包的详细信息 
- 
yum clean all 删除元数据信息 
- 
yum makecache 重新构建元数据信息 
- 
yum search 搜索软件包(包名称、描述信息只要包含就可以搜索出来) 
- 
yum provides 搜索命令是由哪个包提供的 
软件包组
- 
yum grouplist 查看包组 
- 
yum groupinstall 安装 
- 
yum groupinfo 获取包的信息,查看包组有哪些包组成 
- 
yum groupupdate 更新 
- 
yum groupremove 卸载包组 
yum选项命令
-y 自动确认
-q 静默模式
源码安装
- 
下载 wget https://www.python.org/ftp/python/3.6.9/Python-3.6.9.tar.xz 
- 
解压文件 tar xf Python-3.6.9.tar.xz 
- 
切换目录 cd Python-3.6.9.tar.xz 
- 
可以查看帮助信息 README INSTALL 文件 
- 
安装所需文件yum install zlib2-devel openssl-devel - yum install zlib-devel openssl-devel
 
- 
编译(检查程序所需的文件)./configure --prefix=/opt/python36 - 
- 
- ./configure --prefix=/opt/python36 --enable-optimizations
 
 
- 
 
- 
- 
构建安装程序 make 
- 
安装程序 make install 
- 
配置环境变量 
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号