ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Linux账号权限的管理

2021-04-14 00:02:19  阅读:133  来源: 互联网

标签:账号 passwd 用户 etc 密码 Linux 权限 root


Linux账号权限管理

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

1. Linux基于用户身份对资源访问进行控制

1. 用户账号

  • 超级用户 ,普通用户 ,程序用户

2. 组账号

  • 基本组(私有组)基本组账号只有一个,一般是创建用户时指定的组
  • 附加组(公共组)用户除了基本组以外,额外添加指定的组

3. UID和GID

  • UID 是用户标识号
  • GID 是组标识号

root 用户账号的UID和GID号为固定值 0
(centos5,6)普通用户账号的UID和GID号默认为500~65535,程序用户的UID和GID 号默认为1 ~499

(centos7) 普通用户的UID和GID号默认为1000 ~ 65535
程序用户的UID 和GID号默认为 1~ 999

2. 用户账号文件/etc/passwd

1. 保存用户名称、宿主目录、登录shell等基本信息

  • 文件位置:/etc/passwd

  • 每一行对应一个用户的账号记录

  • 基于系统运行和管理需要,所有用户都可以访问passwd文件中的内容,但是只有root用户才能进行更改。

  • 在早期的UNIX操作系统中,用户帐号的密码信息是保存在passwd文件中的,不法用户可以很容易的获取密码字串并进行暴力破解,因此有在一定的安全隐患。后来经改进后,将密码转存入专门的shadow文件中,,而passwd文件中保留密码占位符"x"。

vim /etc/passwd 进入

[root@localhost /]# vim /etc/passwd

root:x:0:0:root:/root:/bin/bash
用户账号名称 占位符 UID GID 用户全名 宿主目录 /bin/bash 可登录 /sbin/nologin 和 /bin/false 不可登录
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin


用户账号名称 占位符 UID GID 用户全名 宿主目录 登录shell信息 /bin/bash 可登录 /sbin/nologin 和 /bin/false 不可登录

在这里插入图片描述

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

1. 保存用户的密码、账号有效期等信息

  • 文件位置:/etc/shadow
  • 每一行对应一个用户的密码记录
  • 默认只有root用户能够读取shadow文件中的内容,且不允许直接编辑该文件中的内容

vim /etc/shadow 进入

[root@localhost /]# vim etc/shadow

root:$6$7KILaW8V4HwEPpjR$9XP1f9KxBeNSzGzoualtw9qfJkgD2snWQ50eGV4JTthiOSo3NxlzXiP8UHrQkzGlYmjXXYao6ltGhyuWua68Q1::0:99999:7:::
bin:*:17110:0:99999:7:::
daemon:*:17110:0:99999:7:::
adm:*:17110:0:99999:7:::
lp:*:17110:0:99999:7:::
sync:*:17110:0:99999:7:::
shutdown:*:17110:0:99999:7:::
halt:*:17110:0:99999:7:::

  • 字段一:用户账号的名称
  • 字段二:使用MD5加密的密码字串信息,当为"*“或”!!"时表示此用户不能登录到系统。若该字段内容为空,则该用户无须密码即可登录系统
  • 字段三:上次修改密码的时间,表示从1970年01月01日算起到最近一次修改密码时间隔的天数
  • 字段四:密码的最短有效天数,自本次修改密码后,必须至少经过该天数才能再次修改密码。默认值为0,表示不进行限制
  • 字段五:密码的最长有效天数,自本次修改密码后,经过该天数以后必须再次修改密码。默认值为99999,表示不进行限制
  • 字段六:提前多少天警告用户密码将过期,默认值为7
  • 字段七:在密码过期之后多少天禁用此用户
  • 字段八:帐号失效时间,此字段指定了用户作废的天数(从1970年01月01日起计算) ,默认值为空,表示账号永久可用。
  • 字段九:保留字段(未使用)

4. 添加用户账号:useradd

1. useradd + 选项 + 用户名

  • 在/etc/passwd文件和/etc/shadow文件的末尾增加该用户账号的记录。
  • 若未明确指定用户的宿主目录,则在/home目录下自动创建与该用户账号同名的宿主目录,并在该目录中建立用户的各种初始配置文件。
  • 若没有明确指定用户所属的组,则自动创建与该用户账号同名的基本组账号,组账号的记录信息将保存到/etc/group和/etc/gshadow文件中。

2. 常用命令

useradd-u :定用户的UID号,要求该UID号码未被其他用户使用
useradd-d :指定用户的宿主目录位置(当与-M一起使用时,不生效) 只能用绝对路径指定目录
useradd-e :指定用户的账户失效时间,可使用YYYY-MM-DD的日期格式
useradd-g :指定用户的基本组名(或使用GID号) ,对应的组名必须已存在
useradd-G :指定用户的附加组名(或使用GID号) ,对应的组名必须已存在
useradd-M :不建立宿主目录
useradd-s :指定用户的登录Shell,(比如/bin/bash为可登陆系统, /sbin/nologin和/bin/false为禁止用户登陆系统)

[root@promote ~]# useradd  -u 2000 -d /ky10 -G root -g wheel admin1
[root@promote ~]# vim /etc/passwd
[root@promote ~]# cd /
[root@promote /]# ls
121.txt  boot  home  lib64  opt   root  sd22  tmp
aa       dev   ky10  media  poi   run   srv   usr
bin      etc   lib   mnt    proc  sbin  sys   var
[root@promote /]# pwd
/
[root@promote /]# cd ky10
[root@promote ky10]# ls -a
.  ..  .bash_logout  .bash_profile  .bashrc  .mozilla
[root@promote ky10]# id admin1
uid=2021(admin1) gid=10(wheel) 组=10(wheel),0(root

5. 设置/更改用户口令:passwd

passwd + 选项 + 用户名

  • root用户可以指定用户名作为参数,对指定账号的密码进行管理;不指定用户名时,修改当前账号的密码.
  • 普通用户却只能执行单独的"passwd"命令修改自己的密码。

1. 常用命令

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

设置密码
echo ‘abcd’ | passwd - - stdin zhangsan

[root@promote home]# passwd jichao  创建一个用户
更改用户 jichao 的密码 。
新的 密码:
无效的密码: 密码包含用户名在某些地方
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@promote home]# 

在这里插入图片描述

[root@promote home]# passwd -d jichao  不需要密码直接登录
清除用户的密码 jichao。
passwd: 操作成功
[root@promote home]# passwd -l jichao  锁定账号,无法显示出来
锁定用户 jichao 的密码 。
passwd: 操作成功
[root@promote home]# passwd -S jichao     查看用户当前状态
jichao LK 2021-04-13 0 99999 7 -1 (密码已被锁定。)
[root@promote home]# passwd -uf jichao       强制解锁
解锁用户 jichao 的密码。  
passwd: 操作成功

6. 修改用户账号属性:usermod

1 usermod + 选项 + 用户名

2 常用命令

usermod-u: 修改用户的UID号
usermod-d: 修改用户的宿主目录位置
usermod-e: 修改用户的账户失效时间,可使用YYYY-MM-DD的日期格式
usermod-g: 修改用户的基本组名(或使用GID号)
usermod-G: 修改用户的附加组名(或使用GID号)
usermod-s: 指定用户的登录shell
usermod-l: 更改用户账号的登录名称
usermod-L: 锁定用户账户
usermod-U: 解锁用户账户

[root@promote home]# usermod -l jichao0 jichao   更改用户账号把 jichao 变成jichao0,宿主目录不变
[root@promote home]# usermod -d /home/jichao0 jichao0   把用户的宿主目录换成 jichao0
[root@promote home]# usermod -s /sbin/nologin jichao0   指定登录shell /sbin/nologin
[root@promote home]# usermod -L jichao0    锁定账号,无法显示


7. 删除用户账号:userdel

userdel + [-r] + 用户名

userdel- r :添加此选项时,可将该用户的宿主目录一并删除

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

1.文件来源

  • useradd命令添加一个新的用户账号后会在该用户的宿主目录中建立一些初始配置文件。
  • 这些文件来自于账号模板目录/etc/skel/,基本上都是隐藏文件。

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

宿主目录下的初始配置文件只对当前用户有效

文件名说明
~/.bash profile此文件中的命令将在该用户每次登录时被执行,它会设置一些环境变量,并且会调用该用户的~/.bashrc文件
~/.bashrc此文件中的命令会在每次打开新的bash shell时(也包括登录系统)被执行,并且会调用/etc/bashrc文件
~/.bash_logout此文件中的命令将在用户每次退出登录或退出bash shell时执行

全局配置文件对所有用户有效

文件名说明
/etc/profile这个文件是为系统全局变量配置文件,可通过重启系统或者执行source /etc/profile命令使profile文件被读取
/etc/profile.d/这个文件实际上是/etc/profile的子日录,存放的是一些应用程序所需的启动脚本
/etc/bashrc每一个运行bash shell的用户都会执行此文件,可通过执行bash命令打开一个新的bash shell时,使bashrc文件被读取

标签:账号,passwd,用户,etc,密码,Linux,权限,root
来源: https://blog.csdn.net/kele_baba/article/details/115667713

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有