• 用户、yum


    用户

    • 超级管理员用户,id是0。

    .bashrc :系统存放内置别名目录,设置别名一般放在/etc/bashrc/文件中。

    .bash_profile:系统设置环境变量的文件,设置环境变量一般放在/etc/profile.d中的某一个.sh文件中。

    • 系统用户: 用来启动系统的一些服务和进程的用户,不可以登陆,id:1-999(centos7)1-499 (centos6) ,相关文件夹:/etc/passwd ——>bin…nologin

    • 可登陆用户:能登录系统的用户,id:1000-65535(centos7)500-65535(centos6)

    普通用户的id是递增,创建用户是从最多的id增加的;系统用户的id是递减的。

    新建的用户家目录有一些隐藏文件ll -a进行查看。如.bashrc,是设置命令别名的文件。

    useradd

    Usage: useradd [options] LOGIN_NAME
           useradd -D
           useradd -D [options]

    -d 用来指定用户的家目录
    useradd -d /test/test_user test_user1

    -g 指定用户组的id
    useradd -d /test/test_user -g test_user1 test_user2

    -u 指定用户的id
    useradd -u 2000 test_user8

    -G 指定用户的附加,多个用","相隔,新建的用户拥有所有附加组的权限
    useradd -G root,test_user1 test_user3

    -k 指定复制哪个文件夹下的内容到新建用户的家目录,需要和-m一起使用
    -m 创建用户的家目录
    useradd -k /etc/sysconfig/network-scripts -m test_user4

    -c "message" 指定用户的描述信息
    useradd -c "haha" test_user5
    查看描述信息:vim /etc/passwd  末尾

    -N 不创建同名的组,以users为组
    useradd -N test_user6

    -r 创建一个系统用户

    -s 指定用户登录后使用的shell,查看可以shell cat /ect/shells
    useradd -s /sbin/nologin test_user7

    —D 显示系统的默认配置   
    useradd -D

    -D [options] 可以修改系统的默认配置
    • 相关文件
      • /etc/default/useradd 创建用户的默认配置文件
      • /etc/skel/* 默认复制的文件
      • /etc/login.defs id范围配置文件

    用户修改usermode

    -c 修改描述信息
    -d 修改家目录,默认不会创建新目录,如果想移动家目录,则需要使用-m
    -m 移到家目录,只能和-d使用
    -g 修改用户组
    -G 修改用户的附加组,默认情况下是替换
    -a 追加附加组,和-G结合使用
    -l newname 修改用户的登录名称,id不变
    -L 锁定用户,不能登录系统,修改密码默认情况下会解锁
    -U 解锁用户
    -s 修改用户登录后的shell
    -u 修改用户的uid
    -e 年-月-日 修改用户的过期时间,过期以后不能登录

    删除用户

    userdel

    默认删除用户不删除用户的家目录
    -r 删除家目录
    -f 强制删除
    默认情况下,用户登录状态下是不能删除用户,强制删除用户以后,用户还是可以用的

    查看用户相关信息id

    -g 只显示组id
    -G 只显示附加组id
    -u 只显示用户id
    -n 显示名称,需要和-g来配合使用
    id -gn test_user

    切换用户

    su [options] [-] [USER [arg]...]

    切换用户的方式

    • 完整切换:su - username 登录式切换,环境变量等都会切换
    • 不完整切换:su username 不会切换用户的环境变量家目录等
    • 退出:exit
    • root切换普通用户不需要密码,非root用户切换需要密码

    切换用户执行命令,然后再切换回来

    su - test_name -c whoami

    执行本身不能执行的命令

    sudo 配置文件为/etc/sudoers

    进入文件后搜索root

    test_user   ALL=(ALL)       NOPASSWD:ALL
    其中的NOPASSWD 是执行命令不需要输入登录用户的密码,可以不设置:
    test_user   ALL=(ALL)       ALL

    用test_user执行root能执行的命令:
    sudo command

    更多配置请看文件中的解释

    /etc/passwd文件

    man 5

    name:password:UID:GID:GECOS:directory:shell

    • 用户名称
    • 密码,使用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 test_user

    存放文件/etc/shadow

    • 用户名
    • 密码 $加密方式(默认sha512)$盐$加密后的字符串$
    • 从1970年1月1日到最近一次修改密码经过的时间
    • 密码的最短使用时间(0表示随时可以修改)
    • 密码的最长使用时间(99999表示永不过期)
    • 密码过期多长时间提醒(默认是一周)
    • 密码过期多长时间锁定
    • 从1970年1月1日开始算起,多长时间后账号失效

    密码的复杂性策略

    • 必须包括数字、大小写、特殊字符
    • 密码必须12位以上
    • 不能为弱口令
    • 必须为随机密码
    • 3个月或者半年修改一次

    机器免密登录

    ssh-keygen 一路回车
    ssh-copy-id 要登录的机器  ssh-copy-id root@192.168.13.129

    直接登录另一台机器:
    ssh root@192.168.13.129

    修改用户密码策略 chage

    -E 
    -I
    -m
    -M
    -W
    change test_user 可以使用交互式的修改密码策略

    chfn 修改用户的个人信息

    用户组

    超级用户组 root 0

    普通用户组:

    • 系统用户组 1-999(centos7) 1-499(centos6)
    • 可登陆用户组 1000-65535(centos7)500-65535 (centos6)
    groupadd
    -g 指定组id
    -r 创建系统用户组

    查看组的信息
    cat /etc/group

    组的文件

    /etc/group

    • 组名
    • 密码占位
    • gid
    • 组成员

    /etc/gshadow

    • 组名
    • 密码
    • 组管理员的密码
    • 组成员

    修改组信息

    groupmod

    -g 修改gid
    -n 修改组名

    删除组

    groupdel 删除组

    软件

    windows中后缀名为.exe

    centos(redhat): .rpm (是radhat package manager的缩写)

    包的管理工具:rpm、yum。使用rpm安装需要自己解决包的依赖关系,使用yum会自动帮助安装相关的依赖包。

    包的命名规范

    MySQL-python-1.2.5-1.el7.x86_64.rpm  
    名字-版本(大版本.小版本.修订版)-打包版本.可用的系统.架构.rpm
    架构:
        x86_64
        x86
        i386
        i486
        i686
        ppc
        noarch 表示通用

    包的来源

    • 光盘
    • 第三方网站
    • 官方网站
    • 自己做
    • https://pkgs.org
    • epel 第三方包的结合地

    使用国内源安装模块示例:

    pip install openpyxl -i https://pypi.douban.com/simple

    rpm 包的查询

    rpm -q 查询指定的包是否安装
    -a  all 表示当前系统安装的所有的包
    -f filename 查询指定的文件由那个包安装生成
    -c 查看指定的包生成了哪些配置文件
    -d 查询指定的包生成了哪些文档
    -i 查询指定包的详细信息
    -l 查询指定的包生成到文件 
    常用的选项:-qi、-qa、-ql、-qc、-qd

    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 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
    • 切换目录 cd
    • 可以查看帮助信息 READM或INSTALL 文件
    • 安装所需文件
    • 编译(检查程序所需的文件)./configure
    • 构建安装程序 make
    • 安装程序 make install
    • 配置环境变量
  • 相关阅读:
    并发与并行
    cgi fastcgi
    阻塞和非阻塞,同步和异步
    PHP常量
    nginx入门(4):FastCGI代理
    fastjson实体转json顺序不一致问题
    vue在一个方法执行完后再执行另一个方法
    如何搭建一个vue项目(完整步骤)
    什么是Node.js?
    Android学习记录---在子线程中使用组件ui会报错
  • 原文地址:https://www.cnblogs.com/wby-110/p/13462936.html
Copyright © 2020-2023  润新知