Linux用户及权限管理

linux用户,组管理介绍

linux操作系统对多用户管理是非常繁琐的,所以用组的概念来管理用户就变得简单了,每个用户可以在一个独立的组,每个组也可以有零个用户或者多个用户,Linux系统用户时根据用户ID来识别的,默认ID长度为32位,默认ID编号从0开始(其实就是root),但是为了和老式系统兼容,用户ID限制在60000以下,linux用户总共分为3种:

  • root用户(ID 0)
  • 系统用户(ID 1~999)
  • 普通用户(ID 1000以上)

linux操作系统用户的特点如下:

  • 每个用户拥有一个UserID,操作系统实际读取的是UID,而非用户名
  • 每个用户属于一个主组,属于一个或者多个附属组,一个用户最多有31个附属组
  • 每个拥有一个GroupID
  • 每个进程以一个用户身份运行,该用户可对进程拥有资源控制的权限
  • 每个可登陆用户拥有一个指定的shell环境

linux用户在操作系统中可以进行日常管理和维护,涉及的相关配置文件如下:

  • /etc/passwd:保存用户信息
  • /etc/shadow:保存用户密码(以加密形式保存)
  • /etc/group:保存组信息
  • /etc/login.defs:用户属性,密码过期时间,密码最大长度等限制
  • /etc/default/useradd:显示或更改默认的useradd配置文件

linux系统中的每个文件或者文件夹都有一个所属用户及所属组,使用id命令可以显示当前用户的信息,使用passwd命令可以修改当前用户密码。

[root@localhost ~]# id lizhifeng
uid=1000(lizhifeng) gid=1000(lizhifeng) 组=1000(lizhifeng)

linux用户管理

如果创建新用户,可以使用命令useradd,执行命令 useradd lizf 即可创建lizf用户,同时会创建一个同名的组lizf,默认该用户属于lizf组

执行useradd lizf会根据以下操作步骤进行:

  • 在/etc/passwd文件中添加lizf用户信息
  • 如使用passwd命令创建密码,密码会被保存在/etc/shadow中
  • 为lizf创建一个家目录/home/lizf
  • 将/etc/skel中的.bash开头的文件复制到/home/lizf家目录
  • lizf组信息保存在/etc/group配置文件中

在使用useradd命令时,可以添加如下参数:

-d:新账户的主目录 
-e:新账户的过期日期 MM/DD/YY
-g:新账户属组的名称或ID
-r:创建一个系统账户
-s:新账户的登录shell
-u:新账户的UID
-G:新建账户的附加组
-c, --comment 注释

案例:

此外我们可以用chage命令去查看用户状态

[root@localhost ~]# chage -l lizhifeng
最近一次密码修改时间                                    :7月 12, 2021
密码过期时间                                    :从不
密码失效时间                                    :从不
帐户过期时间                                            :从不
两次改变密码之间相距的最小天数          :0
两次改变密码之间相距的最大天数          :99999
在密码过期之前警告的天数        :7

我们可以编辑/etc/login.defs进行修改 ,那么后建立的账户就会遵循这个配置进行创建

[root@localhost ~]# cat /etc/login.defs | egrep -v "^#|^$"
MAIL_DIR        /var/spool/mail
PASS_MAX_DAYS   99999       #密码过期时间,99999代表永不过期
PASS_MIN_DAYS   0                 
PASS_MIN_LEN    5                 #密码最小长度
PASS_WARN_AGE   7               #在密码过期之前警告的天数
UID_MIN                  1000        #普通用户uid从1000开始
UID_MAX                 60000       #普通用户最大uid值
SYS_UID_MIN               201      #系统用户uid开始值
SYS_UID_MAX               999      #系统用户uid最大值
GID_MIN                  1000         #普通用户gid从1000开始
GID_MAX                 60000        #普通用户gid从1000开始
SYS_GID_MIN               201       #系统用户gid从201开始
SYS_GID_MAX               999       #系统用户gid最大值999
CREATE_HOME     yes                   #自动在/home/创建家目录
UMASK           077                       #家目录默认权限是700
USERGROUPS_ENAB yes              #自动创建用户组
ENCRYPT_METHOD SHA512 

 如果用户已经被创建,我们想修改他的用户信息可以用

chage -I 5 USERNAME:密码5天后失效时间
chage -M 30 USERNAME:密码30天后过期
chage -W 3 USERNAME:在密码过期之前3天警告
chage -E 11/15/19 USERNAME:在19年11月15日账户过期
chage -l USERNAME:查看用户过期时间,密码过期时间等

linux组管理

linux组管理有如下特点

  • 每个组有一个组ID
  • 组信息保存在/etc/group中
  • 每个用户至少拥有一个主组,最多可以拥有31个附属组
  • 通过命令groupadd,groupdel,groupmod来对组进行管理

groupadd用法如下:

groupadd:创建一个group1的组

[root@localhost ~]# groupadd group1

-g :指定创建的组的ID

[root@localhost ~]# groupadd group2 -g 1500   
#创建一个group2的组,并指定组ID为1500

-r:创建一个系统组

[root@localhost ~]# groupadd -r group3
#创建一个系统组group3
[root@localhost ~]# cat /etc/group | grep group
group1:x:1001:
group2:x:1500:
group3:x:991:

groupmod用法如下:

 

Linux用户及权限管理

上一篇:Window 查看 端口操作


下一篇:Xmanager连接linux服务器的桌面