首页 > 系统相关 >linux用户账号与权限管理

linux用户账号与权限管理

时间:2022-12-01 08:55:30浏览次数:74  
标签:20 账号 passwd root 用户 linux 权限 zhangsan localhost

用户、组概述

用户分类

  • 超级用户:root,人为交互最高权限用户,system为最高权限用户。

  • 普通用户:通过管理管理员创建,权限受到一定限制。

  • 程序用户:不允许登陆,维持系统或某个程序的正常运行。

用户配置文件

  • /etc/passwd:包含用户账号的基本信息
[root@localhost ~]# head -2 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
账号名称:密码占位符:UID:GID:用户说明:家目录:登陆shell
  • /etc/shadow:包含用户账号的密码信息(影子文件)
[root@localhost ~]# head -1 /etc/shadow
root:$6$4/ne8o5V38hiA2jr$6SclA1hllj8FPXqyMtfof5T4NMH1gJeDQ31AfoR4wapYPBQWlbZQKKPkuUBWoqgwA1GsuHW.1lTg59tyfrwvC/::0:99999:7:::
账号名称:密码信息:上次修改密码的时间:密码最短有效天数:密码最长有效天数:提前7天警告密码将过期:密码过期后多少天内禁用此用户:账号失效时间:保留字段
  • 个别详细解释

密码信息:MD5加密的密码字串信息;为*!!时,被锁定,不能登陆;为空,无密码。

上次修改密码的时间:表示从1970年1月1日到最近一次修改密码那天所间隔的天数。

密码最短有效天数:修改密码后,最少经过多少天才能再次修改密码。默认为0,不限制。

密码最长有效天数:修改密码后,经过该天数,必须再次修改密码。默认为99999,不限制。

提前7天警告密码将过期:默认值为7

账号失效时间:指定用户账号作废的天数,从1970年1月1日起计算。

组分类

  • 基本组(私有组):伴随用户的创建而创建,与用户同名。用户只能属于一个基本组,在/etc/passwd中查看。

  • 附加组(公共组):用户可属于多个附加组,在/etc/group中查看。

组配置文件

  • /etc/group:包含组的基本信息

  • /etc/gshadow:包含组的密码信息

1.查询root组包含哪些用户

[root@localhost ~]# grep "^root" /etc/group
root:x:0:

2.查询那些组包含root用户

[root@localhost ~]# grep "root" /etc/group
root:x:0:

UID 和 GID

  • UID:用户识别号
用户UID 范围
root 0
程序用户 1 ~ 999
普通用户 1000 ~ 60000
  • GID:组识别号

用户、组管理

useradd

  • 添加用户账号

-u:指定UID
-d:指定家目录位置
-e:指定账户失效时间,YYYY-MM-DD天数
-g:指定基本组名称或GID
-G:指定附加组
-M:不创建宿主目录
-s:指定用户的登陆shell/bin/bash可登录,/sbin/nologin不可登录。

[root@localhost ~]# useradd  -d /zhangsan zhangsan
[root@localhost ~]# useradd -e 2020-01-01 -s /sbin/nologin ftpuser

用户账号初始配置文件

  • 来源:模板目录/etc/skel
  • 用途:可以做一些自动运行的后台管理任务
[root@localhost ~]# ls -a /zhangsan/
.  ..  .bash_logout  .bash_profile  .bashrc

.bash_logout:每次退出登陆时执行
.bash_profile:用户每次登陆时被执行
.bashrc:每次加载/bin/bash时执行,包括登录系统。

  • 每次登出时清空历史记录
[root@localhost ~]# vi .bash_logout
# ~/.bash_logout
history -c

passwd

  • 设置、更改密码

-d:清空账户密码
-l:锁定账户
-S:查看账户状态
-u:解锁账户

[root@localhost ~]# passwd zhangsan
Changing password for user zhangsan.
New password:
BAD PASSWORD: The password is a palindrome
Retype new password:
passwd: all authentication tokens updated successfully.
[root@localhost ~]# passwd -l zhangsan
Locking password for user zhangsan.
passwd: Success
[root@localhost ~]# passwd -S zhangsan
zhangsan LK 2019-08-20 0 99999 7 -1 (Password locked.)
[root@localhost ~]# passwd -u zhangsan
Unlocking password for user zhangsan.
passwd: Success
[root@localhost ~]# passwd -S zhangsan
zhangsan PS 2019-08-20 0 99999 7 -1 (Password set, SHA512 crypt.)
[root@localhost ~]# passwd -d zhangsan
Removing password for user zhangsan.
passwd: Success

usermod

  • 修改账户属性,参数类似useradd

-u:修改用户UID
-d:修改家目录位置
-e:修改账号失效时间
-s:指定用户的登陆shell
-l:更改用户登陆名称
-L:锁定账户
-U:解锁账户
-g:修改用户的基本组(或GID
-G:修改用户的附加组(或GID

[root@localhost ~]# tail -1 /etc/passwd
zhangsan:x:1001:1001::/zhangsan/:/bin/bash
[root@localhost ~]# mv /zhangsan/ /home/
[root@localhost ~]# usermod -d /home/zhangsan/ zhangsan
[root@localhost ~]# tail -1 /etc/passwd
zhangsan:x:1001:1001::/home/zhangsan/:/bin/bash
[root@localhost ~]# usermod -L zhangsan
[root@localhost ~]# passwd -S zhangsan
zhangsan LK 2019-08-20 0 99999 7 -1 (Password locked.)
[root@localhost ~]# usermod -U zhangsan
[root@localhost ~]# passwd -S zhangsan
zhangsan PS 2019-08-20 0 99999 7 -1 (Password set, SHA512 crypt.)
[root@localhost ~]# usermod -l lisi zhangsan
[root@localhost ~]# tail -1 /etc/passwd
lisi:x:1001:1001::/home/zhangsan/:/bin/bash

userdel

  • 删除用户账号

-r:同时删除家目录

[root@localhost ~]# userdel -r zhangsan
[root@localhost ~]# ls /home/zhangsan
ls: cannot access /home/zhangsan: No such file or directory

groupadd

  • 添加组账号

-g:指定GID

[root@localhost ~]# groupadd ftpusers
[root@localhost ~]# tail -1 /etc/group
ftpusers:x:1001:
[root@localhost ~]# groupadd -g 1005 sftpusers
[root@localhost ~]# tail -2 /etc/group
ftpusers:x:1001:
sftpusers:x:1005:

gpasswd

  • 添加、设置、删除组成员

-a:添加组成员
-d:删除组成员
-M:指定组成员,多个以,分隔,会覆盖原有的。

[root@localhost ~]# useradd ftp1
[root@localhost ~]# useradd ftp2
[root@localhost ~]# useradd ftp3
[root@localhost ~]# useradd ftp4
[root@localhost ~]# useradd ftp5
[root@localhost ~]# echo "000000" | passwd --stdin ftp1
Changing password for user ftp1.
passwd: all authentication tokens updated successfully.
[root@localhost ~]# echo "000000" | passwd --stdin ftp2
Changing password for user ftp2.
passwd: all authentication tokens updated successfully.
[root@localhost ~]# echo "000000" | passwd --stdin ftp3
Changing password for user ftp3.
passwd: all authentication tokens updated successfully.
[root@localhost ~]# echo "000000" | passwd --stdin ftp4
Changing password for user ftp4.
passwd: all authentication tokens updated successfully.
[root@localhost ~]# echo "000000" | passwd --stdin ftp5
Changing password for user ftp5.
passwd: all authentication tokens updated successfully.
[root@localhost ~]# gpasswd -a ftp1 ftpusers
Adding user ftp1 to group ftpusers
[root@localhost ~]# gpasswd -a ftp2 ftpusers
Adding user ftp2 to group ftpusers
[root@localhost ~]# groups ftp1
ftp1 : ftp1 ftpusers
[root@localhost ~]# groups ftp2
ftp2 : ftp2 ftpusers
[root@localhost ~]# grep "^ftpusers" /etc/group
ftpusers:x:1001:ftp1,ftp2
[root@localhost ~]# gpasswd -M ftp3,ftp4,ftp5 ftpusers
[root@localhost ~]# grep "^ftpusers" /etc/group
ftpusers:x:1001:ftp3,ftp4,ftp5

groupdel

  • 删除组账号
[root@localhost ~]# groupdel sftpusers

用户、组查询

id

  • 查询用户账号的身份标识

id [username]

[root@localhost ~]# id root
uid=0(root) gid=0(root) groups=0(root)

groups

  • 查询用户账号所属的组

groups [username]

[root@localhost ~]# groups root
root : root

finger

  • 查询用户账号的登陆属性

finger [username]

[root@localhost ~]# finger root
Login: root                             Name: root
Directory: /root                        Shell: /bin/bash
On since Tue Aug 20 16:58 (CST) on pts/0 from 192.168.128.1
   6 seconds idle
No mail.
No Plan.

可能需要安装:yum install finger -y

w、who、users

  • 查询当前主机的用户登陆情况
[root@localhost ~]# w
 17:35:34 up  2:48,  1 user,  load average: 0.00, 0.01, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    192.168.128.1    16:58    6.00s  0.21s  0.01s w
[root@localhost ~]# who
root     pts/0        2019-08-20 16:58 (192.168.128.1)
[root@localhost ~]# users
root

last

  • 查询最近登陆的用户信息
[root@localhost ~]# last
root     pts/0        192.168.128.1    Tue Aug 20 17:36   still logged in
reboot   system boot  3.10.0-693.el7.x Tue Aug 20 17:36 - 17:37  (00:01)
reboot   system boot  3.10.0-693.el7.x Fri Aug 16 17:18 - 17:21  (00:03)

wtmp begins Fri Aug 16 17:18:08 2019

文件、目录权限及归属

概述

[root@promote ~]# ls -l /etc/passwd
-rw-r--r--. 1 root root 846 Aug 16 17:15 /etc/passwd

-:文件类型,-普通文件、d目录、b块设备文件、c字符设备文件、l链接文件。
rw-:User,属主用户对文件的访问权限。
r--:Group,属组内成员对文件的访问权限。
r--:Other,其他用户对文件的访问权限。
.:与SELinux有关
root:文件属主
root:文件属组

chmod

  • 设置文件、目录权限

chmod [ugoa] [+-=] [rwx] 文件或目录

ugoau宿主,g属组,o其他用户,a所有用户。
+-=+增加权限,-减少权限,=设置对应的权限。
rwxr读,w写,x执行。

[root@localhost ~]# ls -l test.txt
-rw-r--r--. 1 root root 0 Aug 20 18:19 test.txt
[root@localhost ~]# chmod g+w,o+w test.txt
[root@localhost ~]# ls -l test.txt
-rw-rw-rw-. 1 root root 0 Aug 20 18:19 test.txt

chmod nnn 文件或目录

nnn:代表ugo分别设置的权限值

rwx
4 2 1
[root@localhost ~]# chmod 644 test.txt
[root@localhost ~]# ls -l test.txt
-rw-r--r--. 1 root root 0 Aug 20 18:19 test.txt

chown

  • 设置文件、目录的归属

chown [选项] [属主][:[属组]] 文件或目录

-R:递归修改

[root@localhost ~]# mkdir /opt/test
[root@localhost ~]# touch /opt/test/test{1,2}.txt
[root@localhost ~]# ls -lR /opt/
/opt/:
total 0
drwxr-xr-x. 2 root root 40 Aug 20 18:26 test

/opt/test:
total 0
-rw-r--r--. 1 root root 0 Aug 20 18:26 test1.txt
-rw-r--r--. 1 root root 0 Aug 20 18:26 test2.txt
[root@localhost ~]# useradd zhangsan
[root@localhost ~]# echo "000000" | passwd --stdin zhangsan
Changing password for user zhangsan.
passwd: all authentication tokens updated successfully.
[root@localhost ~]# chown -R zhangsan /opt/test/
[root@localhost ~]# ls -lR /opt/
/opt/:
total 0
drwxr-xr-x. 2 zhangsan root 40 Aug 20 18:26 test

/opt/test:
total 0
-rw-r--r--. 1 zhangsan root 0 Aug 20 18:26 test1.txt
-rw-r--r--. 1 zhangsan root 0 Aug 20 18:26 test2.txt
[root@localhost ~]# chown -R :zhangsan /opt/test/
[root@localhost ~]# ls -lR /opt/
/opt/:
total 0
drwxr-xr-x. 2 zhangsan zhangsan 40 Aug 20 18:26 test

/opt/test:
total 0
-rw-r--r--. 1 zhangsan zhangsan 0 Aug 20 18:26 test1.txt
-rw-r--r--. 1 zhangsan zhangsan 0 Aug 20 18:26 test2.txt
[root@localhost ~]# chown -R root:root /opt/test/
[root@localhost ~]# ls -lR /opt/
/opt/:
total 0
drwxr-xr-x. 2 root root 40 Aug 20 18:26 test

/opt/test:
total 0
-rw-r--r--. 1 root root 0 Aug 20 18:26 test1.txt
-rw-r--r--. 1 root root 0 Aug 20 18:26 test2.txt

标签:20,账号,passwd,root,用户,linux,权限,zhangsan,localhost
From: https://www.cnblogs.com/sj5426/p/16940376.html

相关文章

  • Linux系统中的文件归档压缩
    一、文件压缩及归档1、文件压缩gzip和bzip命令用于文件压缩,但是缺陷是压缩完成后源文件消失所以一般不用。命令格式是:gzip或者bzip+0-9的压缩等级(数字越大压缩级别越大)......
  • linux系统安装及管理
    目录一、liunx应用程序基础二、RPM软件包管理系统三、源代码编译安装一、Linux应用程序基础1.1应用程序与系统命令的关系   1.2典型应用程序的目录结构......
  • linux命令watch的用法
      前言是不是经常会遇到需要观察某个内容,为了持续观察而反复执行某个命令?也许你可以写一个简单的脚本帮你反复执行,但是有更简单方便的方法为什么不用呢?今天要介绍的便......
  • 我使用过的Linux命令之complete - 强劲的bash参数补全功能
    用途说明在使用bash命令行时,在提示符下,输入某个命令的前面几个字符,然后按TAB键,就会列出以这几个字符开头的命令供我们选择。不光如此,还可以进行参数补全,但只限于文件参数,当......
  • linux 服务器 cache/buff 过大,系统不清理
    使用top查看 cache/buff过大,导致有些程序申请不了(docker镜像) #每12小时清理一次(crontab-l;echo"0*/12***echo3>/proc/sys/vm/drop_caches")|crontab参......
  • Linux:CentOS7-yum仓库本地源和网络源配置(完整版)
    1配置环境介绍本篇文章介绍配置yum仓库使用本地源和网络源的详细过程,整个过程的代码将会贴出,经过测试可按此过程成功配置在我的Linux系统上使用。虚拟机Linux:centOS7.8......
  • 开启linux的网络服务, FTP、SSH和NFS服务
    在使用linux中开发的时候,我们可以选择启用一些网络服务方便我们进行开发,加快开发的进度。 现在很多用linux进行开发的工程师,他们大多都是在windows系统上安装虚拟机,然后在......
  • 账号和权限管理
    Linux用户权限及管理1.管理用户账号1.1用户账号概述1.1.1用户账号的分类超级用户:root用户是Linux操作系统中默认的超级用户账号,对本主机拥有最高的权限,系统中超级用户......
  • 大数据学习2——环境的搭建之linux环境及软件版本介绍+版本升级与环境变量的改变
    创建目录需要在linux的hadoop用户的根目录(/home/hadoop)上创建app,data,lib,software,source目录。source:存放框架源码data:存放测试数据lib:存放开发的jar包software:存放......
  • linux相关命令
    防火墙systemctlstatusfirewalld#查看防火墙状态systemctlstopfirewalld#关闭防火墙systemctldisablefirewalld#关闭防火墙开机启动systemctlis-enabledf......