linux05

用户


  • 超级管理员用户 :root id为0

  • 普通用户

    • 系统用户 :专门用来启动系统一些服务和进程的,不可以登入,id值默认为1-999(centos7)(centos6:1-499)

    • 可登入用户 :能登入系统的用户,id值:(centos:1000-65535)(centos6:500-65535)

useradd


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

普通用户的id是递增的,系统用户的id是递减的

-G :指定用户的附加组
[root@localhost ~]#useradd -G root,alex1 alex3
  [root@localhost ~]#id alex3
   uid=1006(alex3) gid=1006(alex3) groups=1006(alex3),0(root),1004(alex1)

-k :指定复制哪个文件夹下的内容,需要和-m一起使用
-m :创建用户的家目录
# 将network-scripts里面的文件复制到alex4中
[root@localhost ~]#useradd -k /etc/sysconfig/network-scripts/ -m alex4
# 查询
[root@localhost ~]#ls /home/alex4/

-c "message" :指定用户的描述信息
[root@localhost ~]#useradd -c 'xxxxx' alex5
# 查看描述信息
[root@localhost ~]#vim /etc/passwd
alex5:x:1008:1008:xxxxx:/home/alex5:/bin/bash

-N :不创建同名的组,以users为组
[root@localhost ~]#useradd -N alex6
  [root@localhost ~]#id alex6
   uid=1009(alex6) gid=100(users) groups=100(users)
  • -d : 用来指定家目录

    [root@localhost ~]#useradd -d /opt/alex alex1
    [root@localhost opt]#ll /opt/
    total 12
    drwx------.   3 alex1 alex1   78 Aug 28 17:14 alex

    # 家目录已存在会报错,但用户已创建
    [root@localhost ~]#useradd -d /opt/alex alex12
    useradd: warning: the home directory already exists.
    Not copying any file from skel directory into it.
    [root@localhost ~]#id alex12
    uid=2010(alex12) gid=2010(alex12) groups=2010(alex12)
  • -D :显示系统的默认配置

    -D [options] 可以修改系统的默认配置
    [root@localhost ~]#useradd -D
    GROUP=100
    HOME=/home
    INACTIVE=-1
    EXPIRE=
    SHELL=/bin/bash
    SKEL=/etc/skel
    CREATE_MAIL_SPOOL=yes

    # 修改shell
    [root@localhost ~]#useradd -D -s /sbin/nologin
  • -u :指定用户的id

    [root@localhost ~]#useradd -u 2008 alex10
    [root@localhost ~]#id alex10
    uid=2008(alex10) gid=2008(alex10) groups=2008(alex10)
  • -s :指定用户登入后使用的shell

    # 查看可以使用的shells
    [root@localhost ~]#cat /etc/shells
    /bin/sh
    /bin/bash
    /sbin/nologin
    /usr/bin/sh
    /usr/bin/bash
    /usr/sbin/nologin
    /bin/tcsh
    /bin/csh

    [root@localhost ~]#useradd -s /sbin/nologin alex9
    # 可以登入alex9这个账户,但系统发现shell是/sbin/nologin,紧接着给踢了
  • -r :创建系统用户(id递减)

    [root@localhost ~]#useradd -r alex7
    [root@localhost ~]#id alex7
    uid=988(alex7) gid=982(alex7) groups=982(alex7)
  • -g : 用来指定用户组的id

    [root@localhost alex]#id alex1
    uid=1004(alex1) gid=1004(alex1) groups=1004(alex1)
    # 指定alex2的gid和alex1的gid一样
    [root@localhost ~]#useradd -g alex1 alex2
    [root@localhost ~]#id alex2
    uid=1005(alex2) gid=1004(alex1) groups=1004(alex1)
  • 相关文件

    • vim /etc/default/useradd 创建用户的默认文件

    • vim /etc/login.defs 默认复制的文件

用户修改:usermode


-c :修改描述信息
[root@localhost ~]#usermod -c 'ooo' alex5
alex5:x:1008:1008:ooo:/home/alex5:/bin/bash  # 由‘xxx’改成了‘ooo’

-d :修改家目录,默认不会创建新目录,如果想移动家目录,则需使用-m
[root@localhost ~]#usermod -d /opt/alex11 -m alex11
  [root@localhost ~]#ls /opt/
  alex alex11 etc rh

-g :修改用户组
[root@localhost ~]#usermod -g xin alex2

-G :修改用户的附加组,默认情况是替换
[root@localhost ~]#usermod -G root,alex10 alex2
  [root@localhost ~]#id alex2
   uid=1005(alex2) gid=1004(alex1) groups=1004(alex1),0(root),2008(alex10)
   
-a :追加附加组
[root@localhost ~]#usermod -G alex10 alex2
  [root@localhost ~]#id alex2
   uid=1005(alex2) gid=1000(xin) groups=1000(xin),2008(alex10)
   # 追加root
[root@localhost ~]#usermod -a -G root,alex10 alex2
  [root@localhost ~]#id alex2
   uid=1005(alex2) gid=1000(xin) groups=1000(xin),0(root),2008(alex10)

-l newname :修改用户的登入名称
[root@localhost ~]#usermod -l gg alex5
[root@localhost ~]#id gg
   uid=1008(gg) gid=1008(alex5) groups=1008(alex5)

-L :锁定用户,不能登入系统,修改密码默认情况下可以登入
-U :解锁用户
-s :修改用户登入后的shell

-u :修改用户的uid
[root@localhost ~]#usermod -u 8888 alex6
  [root@localhost ~]#id alex6
   uid=8888(alex6) gid=100(users) groups=100(users)

-e 年-月-日 :修改用户过期时间,过期以后不能登入
usermod -e 2019-09-01 alex10

删除用户 :userdel


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

查看用户相关信息 :id


-g :只显示组id
-G :只显示附加组id
-u :只显示用户id
-n :显示名称,需要和g,u,G配合使用,不能直接使用
[root@localhost ~]#id alex6
uid=8888(alex6) gid=100(users) groups=100(users)
[root@localhost ~]#id -n -u alex6
alex6

切换用户


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

切换用户的方式

  • 完整切换:su -username 登入式切换,环境变量等都会切换

  • 不完整切换 :su username 不会切换用户的环境变量,家目录等

  • root切换普通用户不需要密码,非root用户切换需要密码

    [root@localhost ~]#su - alex2
    Last login: Wed Aug 28 20:01:58 CST 2019 on pts/1
    [alex2@localhost ~]$su - alex3
    Password:
    Last login: Wed Aug 28 18:48:09 CST 2019 from 192.168.71.1 on pts/3
    [alex3@localhost ~]$

切换用户执行命令,最后还是回到之前用户

[root@localhost ~]#su - alex2 -c 'whoami'
alex2
[root@localhost ~]#

# 可以退回到上一个用户
[alex2@localhost root]$exit
exit
[root@localhost ~]#

执行本身不能执行的命令


  • sudo 配置文件为 /etc/sudoers

    vim  /etc/sudoers   # 进入到文件中

    root    ALL=(ALL)       ALL  # 在root下面添加一个用户,这样才能执行root才能执行的命令
    alex2   ALL=(ALL)       ALL

    peiqi   ALL=(ALL)       NOPASSWD:ALL
    # 其中的NOPASSWD 是不需要输入密码

    [root@localhost ~]#su - alex3
    [alex3@localhost ~]$sudo useradd eva    # 创建用户eva

/etc/passwd 文件


  • 用户名称

  • 密码 :使用x来占位

  • uid

  • gid

  • 描述信息

  • 家目录

  • 登入后的shell

设置密码:passwd


passwd [OPTION...] <accountName>
-d :删除指定用户的密码,删除之后就不能登入了
-l :锁定用户
-u :解锁用户
-e :在下次登入以后强制用户修改密码
-f :强制操作
-x maxday :密码最长使用时间
-n minday :密码的最短使用时间
-w warnday :密码过期前多长时间提醒
-i inactiveday :密码过期多长时间后禁用
--stdin :从标准输入读取密码
# 设置alex6的密码为123
[root@localhost ~]#echo '123' | passwd --stdin alex6

存放文件 :/etc/shadow


  • 用户名

  • 密码 : $加密方式(默认是sha512)$盐$加密后的字符串

  • 从1970年1月1号到最近一次修改密码经过的时间

  • 密码的最短使用时间(0表示随时可以修改)

  • 密码的最长使用时间(99999表示永不过期)

  • 密码过期多长时间提醒(默认是一周)

  • 密码过期多长时间后锁定

  • 从1970年1月1号开始算起,多长时间后账号失效

密码复杂性策略


  • 必须规定数字 、大小写、特殊字符

  • 密码必须12位以上

  • 不能为弱口令,必须是随机密码

  • 3个月或者半年修改一次

机器免密登入


ssk-keygen 一路回车
ssh-copy -id 要登入的机器

修改用户密码策略 :chage


chage 用户名
chage login 可以使用交互式的修改密码策略

chfn :修改用户的个人信息


用户组:


  • 超级用户组

  • 普通用户组

    • 系统用户组

    • 可登入用户组

    [root@localhost ~]#groupadd peiqi
    [root@localhost ~]#tail -1 /etc/group
    peiqi:x:2011:

    -g :指定组id
    -r :创建系统用户组
    [root@localhost ~]#groupadd -r peiq2i
      [root@localhost ~]#tail -1 /etc/group
      peiq2i:x:980:    # id小于1000

组的文件

  • vim /etc/group

    • 组名

    • 密码占位

    • gid

    • 组成员

  • vim /etc/gshadow

    • 组名

    • 密码

    • 组管理员的密码

    • 组成员

修改组信息


groupmod

-g : 修改gid
-n :修改组名

删除组 :groupdel

 

软件


windows :exe结尾

centos(Redhat)rpm结尾

包的命名规范

MySQL-python-1.2.5-1.el7.x86_64.rpm  
名字-版本(大版本.小版本.修订版)-打包版本.可用的系统.架构.rpm

架构:
x86_64
x86
i386
i686
ppc
noarch :表示通用

包的来源


  • 光盘获取

  • 第三方网站

  • 官方网站

  • 自己做

  • epel :第三方包的结合地

rpm包的查询

rpm -q :查询指定的包是否安装
[root@localhost ~]#rpm -q openssh
openssh-7.4p1-16.el7.x86_64

rpm -qa : all(表示当前系统安装的所有的包)

rpm -qf filename : 查询指定的文件由哪个包安装生成
[root@localhost ~]#rpm -qf /etc/ssh/sshd_config
openssh-server-7.4p1-16.el7.x86_64

rpm -q redis
rpm -qc filename :查看指定的包生成了那些配置文件
[root@localhost ~]#rpm -qc openssh-server
  /etc/pam.d/sshd
  /etc/ssh/sshd_config
  /etc/sysconfig/sshd

-d :查询指定的包生成了哪些帮助信息
-i :查询指定包的详细信息
-l :查询指定的包生成的文件

常用选项
-qi
-qa
-ql
-qc
-qd

yum


yum会自动解决依赖关系

仓库:存放的是多个包和包的元数据信息(所在仓库,依赖关系)

仓库的位置:

  • http://

  • https://

  • ftp://

  • file:// (本地文件)

  • 配置文件在 /etc/yum.repos.d

 

yum配置文件


# 使用阿里云的镜像
1、备份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
2、下载
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
[root@localhost ~]#cat /etc/yum.repos.d/CentOS-Base.repo

[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 xx : 安装包

  • yum reinstall xx :重新安装

  • yum update :更新所有可更新的包

  • yum update pkg :跟新指定的包

    • [root@localhost ~]#yum update wget

      [root@localhost ~]#rpm -q wget
      wget-1.14-18.el7_6.1.x86_64
  • yum downgrade :降级

  • yum check-update : 检查包是否可以更新

  • yum remove : 卸载包

  • yum info pkg :显示包的详细信息

  • yum clean all :删除元数据信息

  • yum makecache :重新构建元数据信息

  • yum search :搜索软件包(包名称,描述信息只要包含就可以搜索出来)

  • yum provides :搜索命令是由哪个包提供的

软件包组


  • yum grouplist :查看包组

  • yum groupinstall "Development Tools" :安装包组

  • yum groupinfo "Development Tools" : 获取包的信息,查看包组由哪些包组成

  • yum groupupdate " " :跟新包组

  • yum groupremove :卸载包组

yum选项命令


  • -y :自动确认

  • -q :静默模式

源码安装


  • 下载:wget https://www.python.org/ftp/python/3.6.9/Python-3.6.9.tar.xz

  • 解压文件:

     [root@localhost ~]#tar xf Python-3.6.9.tar.xz
  • 切换目录:

    [root@localhost ~]#cd Python-3.6.9/
  • 可以查看帮助信息 README 或者 INSTALL 文件

    [root@localhost Python-3.6.9]#cat README.rst
  • 安装所需文件

    [root@localhost Python-3.6.9]#yum install zlib2-devel openssl-devel

    zlib2-devel: 给别人提供api
  • 编译(检查程序所需的文件)

    [root@localhost Python-3.6.9]#./configure --prefix=/opt/python36 --enable-optimizations
  • 构建安装程序 make

    [root@localhost Python-3.6.9]#make
  • 安装程序 make install

    [root@localhost Python-3.6.9]#make install
    [root@localhost Python-3.6.9]#cd /opt/python36/
    [root@localhost python36]#ll

    [root@localhost python36]#./bin/python3
    Python 3.6.9 (default, Aug 28 2019, 22:37:05)
    [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>>
  • 配置环境变量

    [root@localhost python36]#vim /etc/profile.d/python.sh
    PATH=/opt/python36/bin:$PATH

    [root@localhost python36]#source /etc/profile.d/python.sh
    [root@localhost python36]#python3
    Python 3.6.9 (default, Aug 28 2019, 22:37:05)
    [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>>
  •  

转载于:https://www.cnblogs.com/wenxin1120/articles/11455307.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值