linux05_weixin_30421525的博客-程序员宅基地

技术标签: python  shell  开发工具  

用户


  • 超级管理员用户 :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 :指定用户的附加组
[[email protected] ~]#useradd -G root,alex1 alex3
  [[email protected] ~]#id alex3
   uid=1006(alex3) gid=1006(alex3) groups=1006(alex3),0(root),1004(alex1)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

用户修改:usermode


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

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

-g :修改用户组
[[email protected] ~]#usermod -g xin alex2

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

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

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

-u :修改用户的uid
[[email protected] ~]#usermod -u 8888 alex6
  [[email protected] ~]#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配合使用,不能直接使用
[[email protected] ~]#id alex6
uid=8888(alex6) gid=100(users) groups=100(users)
[[email protected] ~]#id -n -u alex6
alex6

切换用户


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

切换用户的方式

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

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

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

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

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

[[email protected] ~]#su - alex2 -c 'whoami'
alex2
[[email protected] ~]#

# 可以退回到上一个用户
[[email protected] root]$exit
exit
[[email protected] ~]#

执行本身不能执行的命令


  • sudo 配置文件为 /etc/sudoers

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

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

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

    [[email protected] ~]#su - alex3
    [[email protected] ~]$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
[[email protected] ~]#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 :修改用户的个人信息


用户组:


组的文件

  • 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 :查询指定的包是否安装
[[email protected] ~]#rpm -q openssh
openssh-7.4p1-16.el7.x86_64

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

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

rpm -q redis
rpm -qc filename :查看指定的包生成了那些配置文件
[[email protected] ~]#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
[[email protected] ~]#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 :跟新指定的包

  • 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 :静默模式

源码安装


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

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_30421525/article/details/101258786

智能推荐

ts-node 学习笔记 - 如何解决在 Windows10 下不能直接运行 ts-node 的问题_汪子熙的博客-程序员宅基地_ts-node

ts-node 是 Node.js 的 TypeScript 执行引擎和 REPL。它 JIT 将 TypeScript 转换为 JavaScript,使您无需预编译即可直接在 Node.js 上执行 TypeScript。 这是通过挂钩 node 的模块加载 API 来实现的,使其能够与其他 Node.js 工具和库一起无缝使用。注意,在 windows 操作系统里,直接运行 ts-node, 会报错:‘ts-node’ is not recognized as an internal or ex

EOF on socket_weixin_30362233的博客-程序员宅基地

邮件接收身份验证失败:javax.mail.AuthenticationFailedException: EOF on socket at com.sun.mail.pop3.POP3Store.protocolConnect(POP3Store.java:128) at javax.mail.Service.connect(Service.java:236) ...

苹果屏蔽更新_iOS 13终于可以一键屏蔽系统更新了,完美_weixin_39790738的博客-程序员宅基地

众所周知,苹果每次推出新系统后,就会变着法子让用户升级,比如经常弹窗提示用户升级、新功能限制等等。有的手误点错了升级、有的因为新功能必须升级、而有的iPhone甚至是在“睡梦”中升级的,睡完第二天醒来???我的手机怎么自动升级到最新系统了?为了防止苹果这一“骚”操作,很多用户都给自己的iOS设备装上了屏蔽系统更新的描述文件,但在今年一月底的时候,原先屏蔽系统更新的tvOS 12描述文件由于签名日期...

Android Camera+SurfaceView实现自己定义拍照_weixin_33709590的博客-程序员宅基地

          对Activity强制横屏,保证预览方向正确。使用OrientationEventListener监听设备方向。推断竖拍时,旋转照片后再保存。保证竖拍时预览图片和保存后的图片方向一致。      执行效果:                     代码:TestCameraActivity.javapackage com.exam...

laravel 开启redis队列 守护进程 supervisor_大ben924的博客-程序员宅基地_laravel 守护进程

1.使用redis作为队列,修改config的queue配置,修改.nev QUEUE_CONNECTION = redis2.创建执行队列的工作类,php artisan make:job TestJob, 这个时候会在 项目目录/app/Jobs目录中发现job文件3.然后我们在这个job类的handle方法中编写对应的操作,这个handle方法是每次队列出一条任务的时候回去执行里面的步骤,如果存在异常会导致任务失败,将会进行任务的重试我们写一条最简单的打印任务进行测试: public func

Maven——setting配置_Amo,的博客-程序员宅基地

maven的配置文件settings.xml存在于两个地方:1.安装的地方:M2HOME/conf/settings.xml2.用户的目录:{M2_HOME}/conf/settings.xml2.用户的目录:M2H​OME/conf/settings.xml2.用户的目录:{user.home}/.m2/settings.xml前者又被叫做全局配置,对操作系统的所有使用者生效;后者被称为用...

随便推点

RabbitMQ基础知识详解_thelovelybugfly的博客-程序员宅基地

什么是MQ?&amp;amp;amp;nbsp;&amp;amp;amp;nbsp;&amp;amp;amp;nbsp;&amp;amp;amp;nbsp;&amp;amp;amp;nbsp;&amp;amp;amp;nbsp; MQ全称为Message Queue,&amp;amp;amp;nbsp;消息队列(MQ)是一种应用程序对应用程序的通信方法。MQ是消费

在Docker 中搭建 jenkins_假假贾先生的博客-程序员宅基地

首先需要准备好环境,一个Linux系统我用的Centos7,然后安装好Docker,准备一个Maven一、拉取jenkins镜像 docker pull jenkinsci/blueocean拉取时长视网速而定,下图为拉取成功效果拉取完成后可以通过 images 命令查看镜像列表 docker images二、启动jenkins镜像-p 参数为端口映射,我这里用的是9090,可以根据自己需要修改-v /opt/software/jenkins_home

耐腐蚀654SMO(S32654,1.4652)超级奥氏体不锈钢应用领域_上海隆继金属的博客-程序员宅基地

概述654SMo也称为 S32654 或 1.4652,是一种含有 23% 镍、25% 铬和 7% 钼的超级奥氏体不锈钢。其耐腐蚀性能与最好的镍基合金相媲美。作为654SMO的氮含量是两倍高254SMO,其强度高于904L和254SMO。654SMo超级奥氏体不锈钢的冶炼方法有两种:1)目前国外流行的氩氧脱碳精炼冶炼-VOD或AOD;2)用于生产不锈钢的连续铸造法。654SMo 的特点由于其高的钼,当654SMO(S32654,1.4652)超级奥氏体不锈钢进行无缝管的穿孔,这是很难而粘,容易得到.

Linux 时钟管理_张鸷的博客-程序员宅基地

时钟管理是操作系统不可或缺的一个重要组成部分。无论是应用程序还是内核本身都在大量使用各种各样的timer。本文介绍了Linux操作系统曾经使用和现在正在使用的时钟管理机制,着重阐述了内核时钟子系统的整体架构以及在x86平台上的应用。Linux 中的定时器在 Linux 内核中主要有两种类型的定时器。一类称为 timeout 类型,另一类称为 timer 类型。timeout

Collections工具类_别拦着我,我要学习的博客-程序员宅基地

Collections工具类的常用方法Collections:操作Collection和Map的工具类reverse(List):反转List中元素的顺序shuffle(List):对List集合元素进行随机排序sort(List):根据元素的自然顺序对指定List集合元素按升序排序sort(List,Comparator):根据指定的Comparator产生的顺序对List集合元素进行排序swap(List,int,int):将指定List集合中的i处元素和j处元素.

推荐文章

热门文章

相关标签