账号和权限管理

你们最喜欢的一章,很好理解相当于创建游戏账号和密码,只不过是让你自己来创并且稍微复杂亿点,但整体还是很好理解,接下来跟着主播一起来康康如何操作

目录

一.用户账号和组账号的概述

二用户账号文件/etc/passwd

三. 用户账号文件/etc/shadow

四.chage命令

五.添加用户账号--useradd

六.设置/更改用户口令passwd

七.修改用户账号的属性usermod

八.删除用户账号的命令---userdel

九.用户账号的初始配置文件

总结



一.用户账号和组账号的概述

首先给大家讲用户账号这很好理解吧,相当于创个游戏账户

用户账号分为:

超级用户:(相当于系统里面的最高权限)root用户是Linux操作系统中默认的超级用户账号,对本主机拥有至高无上的权限,类似于Windows操作系统中的Administrator用户。只有当进行系统管理、维护任务时,才建议使用root用户登录系统,日常事务处理建议只使用普通用户账号。 root 拥有对系统的最高的管理权限ID=0。

普通用户:(指的是管理员用户,它的权限没有超级用户那么高但也能管理)普通用户账号需要由root用户或其他管理员用户创建,拥有的权限受到一定限制,一般只在用户自己的宿主目录中拥有完整权限

ps:系统用户UID:1-999(centos7版本)1-499(centos6版本)

程序用户:(最低级的用户,它啥权限都没,最多就是维持某个系统或程序进行正常运作)在安装Linux操作系统及部分应用程序时,会添加一些特定的低权限用户账号,这些用户一般不介许登录到系统,而仅用于维持系统或某个程序的正常运行,如 bin、daemon、ftp、mail等
伪用户一般不会用来登录系统的,它主要是用于维持某个服务的正常运行如:ftp,apache

1.管理员组:root,0

2.普通组:GID

           1.系统组:1-499(Cent0S6)1-999(CENTOS7)
           2.普通组:500+(CentoS6),1000+(CENTOS7)
              表示该账户需要密码才能登录,为空时,账户无须密码即可登录

组账号:

基本组(私有组):指的就是把多个用户集合起来组成一个用户组

附加组(共有组):指的是该用户在自己组的同时还包含在其他的组中。

UID和GID:

UID:(User IDentity)就是指每个用户的身份标识,相当于身份证啦

GID:(Group IDentify)组标识号。

小总结:
用户和组的关系
用户是员工,组是职位,员工可以兼职多个岗位
总有一个最重要的身份,主要组和附加组
主要组:必须要一个,组有且唯一。
附加组:可有可无,可以有多个


 

二,用户账号文件/etc/passwd

保存用户名称,宿主目录,登录Shell等基本信息 文件位置:/etc/passwd

很好理解就是查看一个用户的基本信息,举个例子:

 

 以上给大家解释下意思:

root:x:0:0:root:/root:/bin/bash 
第一段 用户账号名 
第二段用户密码占位符“x”(x表示用户设置密码) 
第三段 用户账号的UID号 
第四段 所属基本组账号的GID号 
第五段描述信息(用户全名)
第六段用户的宿主目录 
第七段 登录Shell信息(/bin/bash为可登录系统,/sbin/nologin和/bin/false为禁止用户登录系统) 

       三. 用户账号文件/etc/shadow

                      保存用户的密码,账号有效期等消息 文件位置:/etc/passwd

              很好理解就是对用一个用户的密码记录,举个例子:

liu:$6$lzSpn/rJ$PhBhVvkr6Es6pekpBEwAXLxJK/VN1RB271cqqRkK7tV

/L9oRluH4SgFhoOUfQ.BbwKgliSBnr5.3YftpA6zkK.:19077:0:99999:7:::

第一段指的是该用户
第二段指的是加密的密码
第三段指的是我上次修改密码的时间,表示从1970年01月01日算起到最近一次修改密码时间隔的天数 
第四段指的是密码的最短有效天数,自本次修改密码后,必须至少经过该天数才能再次修改密码。默认值为0,表示不进行限制. 
第五段指的是密码的最长有效天数,自本次修改密码后,经过该天数以后必须再次修改密码。默认值为99999,表示不进行限制 
第六段指的是提前多少天警告用户密码将过期,默认值为7 
第七段 指的是密码过期后的宽限天数 
第八段指的是 帐号失效时间,此字段指定了用户作废的天数(从1970年01月01日起计算),默认值为空表示账号永久可用。 
第九段保留字段(未使用) 

ps:”*“:代表没有密码是不能登录,当我用新创建的用户不设定密码,那么它的密码项也是

      ”!,!“:代表这个用户没有密码,不能登录

四.chage命令

       用来修改账号和密码的有效期限,针对目前系统已经存在的用户

        格式:chage【选项】用户名

         

-m密码可更改的最小天数。为零时代表任何时候都可以更改密码。
-M密码保持有效的最大天数。chage -M 60 root
-W用户密码到期前,提前收到警告信息的天数。
-E帐号到期的日期。过了这天,此帐号将不可用。
-d上一次更改的日期。
-i停滞时期。如果一个密码已过期这些天,那么此帐号将不可用。
-l例出当前的设置。由非特权用户来确定他们的密码或帐号何时过期。

--M(密码有效期)与--L(具体点)

 --W(密码变更前的警告天数)

--I(密码过期后的宽限天数)

 --E(这个要写具体的日期)

ps:其中chage -E 2022- 04-06日为过期时间

          chage -d 2019-06-30 guan//设置guan用户最后一次修改密码的日期为2019年6月30日
          chage -d 0 guan/则代表该guan用户需立即修改密码

          date -d “+45days” -u//如果不知道时间可以用date查看

  

五.添加用户账号--useradd

          格式:useradd【选项】。。用户名

-d指定用户的宿主目录位置(当与-M一起使用时,不生效)。
-e指定用户的账户失效时间,可使用YYYY-MM-DD的日期格式。
-g指定用户的基本组名(或使用GID号)。
-G指定用户的附加组名(或使用GID号)。
-s指定用户的登录Shell。
-u指定用户的UID号,要求该UID号码未被其他用户使用。
-M不建立宿主目录,即使/etc/loqin.defs系统配置中已设定要建立宿主目录。

给拐友们举个例子

1.创建用户():

 2.给用户指定宿主目录,设置基本组为wheel,附加组为root(-d,-g,-G)

                    (给admin设置一个宿主目录,基本组是wheel,附加组是root)

3.给wangwu设置过期账户的时间,但不能登录账户(-e,-s)

4.liucheng不建立宿主目录,在home里面找不到(-M)

5. 指定UID给用户xiaolong(-u)

六.设置/更改用户口令--passwd

            passwd命令格式:passwd 【选项】。。用户名

-d清空指定用户的密码,仅使用用户名即可登录系统。
-l锁定用户账户。
-S查看用户账户的状态(是否被锁定)。
-u解锁账户(是否被锁定)。

给拐友们举个例子:

             1.批量给用户设置密码(echo “123456” | passwd --stdin xiaolong)

            2.清除密码 (passwd -d)

          3.查看用户的状态(passwd -S)

      4.锁定账户(passwd -l)

       

5.解锁账户(passwd -u)

七.修改用户账号的属性--usermod

                usermod命令: usermod【选项】。。用户名

-l更改用户账号的登录名称(login Name)
-L锁定用户账户
-U解锁用户账户

 以下选项与useradd命令中的含义相同

              -u:指定用户的uid号

              -d:指定用户的宿主目录位置

              -e:指定用户的账户失效时间

              -g:指定用户的基本组名

              -G:指定用户的基本组名

              -M:不建立宿主

              -s:指定用户的登录shell

八.删除用户账号的命令---userdel

              userdel格式:userdel 【-r】用户名

                       1. 添加-r选项时,表示脸用户的宿主目录一并删除

                       2. 如果不加-r,删除之后在创建用户时会报错

       很简单就把用户名删除,举个例子:

          

九.用户账号的初始配置文件

              1.文件来源:新建用户账号时,从**/etc/skel**目录中复制而来

              2.主要的用户初始配置文件:

                - ~/.bash_profile
                - ~/.bashrc
                - ~/.bash_logout

 ps:ls -a才能查看这些隐藏的文件

                     

(1) .bash_profile
示例代码中为用户添加了2个环境变量(JAVAHOME和CLASSPATH),并修改了已有环境变量PATH的值.(PATH的查找是从前开始查找,找到就返回)
CLASSPATH环境变量的值是在JAVA运行时查找加载类的默认classpath.

(2).bashrc
例子中定义了路径,语言,命令别名(使用rm删除命令时总是加上-i参数需要用户确认,使用ls命令列出文件列表时加上颜色显示)。
每次修改.bashrc后,使用source/.bashrc(或者。/.bashrc)就可以立刻加载修改后的设置,使之生效。
一般会在bashprofile文件中显式调用bashrc。登陆linux启动bash时首先会去读取~/.bash profi le文件,这样~/bashrc也就得到执行了,你的个性化设置也就生效了。
关于环境变量的读取顺序:
用户登录->>加载~/bash profile --> bash profile中配置了首先是使~/.bashrc生效

(3).bash_logout
用途:用户登出时执行的命令

#~ /.bash_logout
#在当前用户登出时,打印出Logout 和当前时间
echo “Logout, ‘date’”

总结:

主要就是讲解账户与权限的命令,没什么好讲的,拐友们多打打就行

                 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值