zl程序教程

您现在的位置是:首页 >  系统

当前栏目

Linux:用户和权限管理命令

Linux命令权限 管理 用户
2023-09-11 14:17:00 时间

目录

一、linux中用户的分类

二、passwd   shadow   group文件

        2.1、passwd文件账号记录详细说明

        2.2、用户账号文件shadow

        2.3、用户组文件group

三、账号管理中的相关命令(passwd和shadow中)

        3.1、chage命令

        3.2、useradd命令(创建用户)

        3.3、userdel命令(删除用户)

        3.4、passwd命令        

        3.5、usermod命令(修改用户属性)

四、组账号文件相关命令(group)

        4.1、groupadd命令(创建组)

        4.2、groupdel命令(删除组)

        4.3、gpasswd命令(修改)

        4.4、groups命令

        4.5、finger

 五、修改文件权限命令chmod


一、linux中用户的分类

      超级用户:root拥有对系统的最高管理权限 ID=0

      系统用户:UID:1-999

      普通用户: UID:1000+

###UID:即每个用户的身份标示,类似每个人的身份号码

                                  

                 

二、passwd   shadow   group文件

        2.1、passwd文件账号记录详细说明

          passwd文件是在/etc/passwd,以apache为例

                 

apache用户名是为了方便用户查看,,linux系统是通过UID来识别用户身份,并给权限
x表示用户没有设置密码,但不是真正的密码,真正密码在/etc/shadow下(!这个x是不能删除的,删除了回导致用户不用密码也能登陆,从而引发安全问题
48表示用户的UID
48表示所属基本组账号的GID
/usr/share/httpd描述信息,此字段只是用来解释这个用户的意义
/sbin/nologin宿主目录,即登陆后默认的工作目录

        2.2、用户账号文件shadow

yy用户名
$6$2--sly加密密码,这里存放着真正加密的密码,目前linux密码采用的是SHA512散列加密算法
19150最后一次修改时间
0最小修改间隔时间,就是距离上一次修改过了设定天数 后才能再修改,0就是一直可以修改
99999表示密码有效期,再这个期间内,密码一直有效
7警告时间,当账号密码有效期快到时,系统就会发警告信息给此账户,提醒用户再过n天密码就失效了
(空)第七字段宽限时间,就是密码过了有效时间后,还能继续使用一段宽限时间
(空)第八字段失效时间,就是密码已经失效,在此字段时间之间,不论密码有没有过期都不能继续使用了
(空)第九字段无意义,保留

        2.3、用户组文件group

                                     

apache用户名
x表示用户密码,但不是真正密码和passwd文件中的x意义相似
48表示用户的基本组UID
(空)第4字段用户附加组,一个用户只能有一个基本组,但可以有多个附加组

三、账号管理中的相关命令(passwd和shadow中)

        3.1、chage命令

用法:chage  [选项]  用户名

选项:

-d, --lastday 最近日期 将最近一次密码设置时间设为“最近日期”

-E, --expiredate 过期日期 将帐户过期时间设为“过期日期”

-h, --help 显示此帮助信息并推出

-I, --inactive INACITVE 过期 INACTIVE 天数后,设定密码为失效状态

-l, --list 显示帐户年龄信息

-m, --mindays 最小天数 将两次改变密码之间相距的最小天数设为“最小天数”

-M, --maxdays MAX_DAYS set maximum number of days before password change to MAX_DAYS -R, --root CHROOT_DIR chroot 到的目录

-W, --warndays 警告天数 将过期警告天数设为“警告天数”

        3.2、useradd命令(创建用户)

useradd  [选项]  用户名

-u:指定用户的UID号,要求该UID号码未被其他用户使用

-d:指定用户的宿主目录位置(当与-M,一起使用时,不生效)

-e:指定用户的账户失效时间,可使用YYY-MM-DD的日期格式

-g:指定用户的基本组名 (或使用GID号)

-G:指定用户的附加租名(或使用GID号)

 -M:不建立宿主目录,即使//etc/login.defs

         创建用户时,加上-M选项,用户会正常创建,但是不会创建宿主目录(家目录)*这样创建的用户不能正常登陆

-s:指定用户的登录shell环境。/bin/bash    /sbin/nologin

在/sbin/nologin下的用户将无法登陆

 

(###加粗部分建议记住)

        3.3、userdel命令(删除用户)

userdel  [ -r ]   用户名

userdel一般配合-r选项使用,表示连用户的宿主目录一并删除

       不加-r后果 

        

        会发现用户的确已经删除,但是宿主目录依然存在,那么当我们要创建同名用户时就会出现问题

        

        因为宿主目录存在,又无法创建新的宿主目录,所以无法创建同名用户

         因忘记加-r选项后我们该怎么办呢

         ------------参考我另一篇文章--------------

        3.4、passwd命令        

        passwd  [选项]  用户名

        -d:清空指定用户的密码,仅使用用户名登陆

        -l:锁定用户账户

        

         ####用户被锁定时将无法登陆

        -S:查看用户账户的状态(是否被锁定)

        

        -u:解锁用户账户

        

        echo “123123” | passwd --stdin 用户名##这条命令可以自动为用户生成密码但是并不是很安全因为可以在history中查看到所输入的密码,所以一般只在脚本中简化操作使用

       

        3.5、usermod命令(修改用户属性)

       usermod  [选项]  用户名

        -l:更改用户账号的登陆名称

        -L:锁定用户账户

        -U:解锁用户账户

        -u:修改用户的UID

        -d:修改用户的宿主目录位置

        -e:修改用户的账户失效时间

        -g:修改用户的基本组名

        -G:修改用户的附加组名

        -s:修改用户的登陆shell

     ####usermod和useradd选项含义一样,唯一区别就是useradd是创建用户的信息,而usermod是对用户属性进行修改,当系统中没有此用户时就无法进行修改。

四、组账号文件相关命令(group)

        4.1、groupadd命令(创建组)

        groupadd [ -g  GID]  组账号名

        

        4.2、groupdel命令(删除组)

         groupdel  组账号名

         

         aa组已被删除

        4.3、gpasswd命令(修改)

        -a:添加用户到组

         -d:从组删除用户

        -A:指定管理员

         -M:指定组成员和-A的用途差不多

        -r:删除密码

        -R:限制用户登入组,只有组中的成员才可以用newgrp加入该组

        4.4、groups命令

        groups [ 用户名]

        

        4.5、finger

        此命令在初始下系统不一定有,所以我们要yum install -y finger            

 五、修改文件权限命令chmod

   

用户权限:每三个一组,分为对应 u:属主(用户自己)  g:属组(组用户) o:其他用户

chmod [ ugo  权限(rwx)]    文件名

写法:

chmod u+x,o-r 文件名

chmod ugo-x 文件名

chmod 755  文件名    #### 4=r  2=w   1=x    7=rwx   5=rx

 第一种方法:

 

 

 第二种方法: