美文网首页
用户管理

用户管理

作者: 一桥长书 | 来源:发表于2017-07-30 16:13 被阅读0次

1 用户管理介绍

  • 3A
autuentication   认证
authorization  授权
accounting | auditon  审计
  • 在centos6 和centos7 中的管理员id范围不同,可以通过/etc/login.defs查看具体默认信息和设置
    以下是centos6 centos7请自行查看
# /etc/login.defs
MAIL_DIR    /var/spool/mail  表示默认创建用户时的邮箱位置
PASS_MAX_DAYS   99999       密码的最大有效期
PASS_MIN_DAYS   0               密码的最小有效期
PASS_MIN_LEN    5               密码的最小长度
PASS_WARN_AGE   7      密码的警告时间
UID_MIN           500       默认 普通用户最小UID
UID_MAX         60000   默认普通用户最大UID
GID_MIN           500      默认普通组最小GID
GID_MAX         60000  默认普通组最大GID
CREATE_HOME yes       是否创建家目录
UMASK           077         umask 指权限设定
USERGROUPS_ENAB yes    如果某个组只有要删除的用户一个  默认情况 删除用户时,会把这个组删掉
ENCRYPT_METHOD SHA512   创建用户密码的加密算法
# 可以通过 authconfig  --passalgo=sha256 --update  修改默认加密算法
#/etc/default/useradd
GROUP=100   组的默认ID
HOME=/home  家目录的默认位置
INACTIVE=-1   密码又不过期
EXPIRE=          用户永不失效
SHELL=/bin/bash  默认shell
SKEL=/etc/skel     复制/etc/skel的所有文件到家目录
CREATE_MAIL_SPOOL=yes  是否创建邮箱
  • 用户管理的四个文件
# /etc/passwd   /etc/shadow     /etc/group     /etc/gshadow
passwd 存放用户的基本信息
account(用户名):password(x):uid:gid:gecos(描述信息):directory(家目录):shell(默认的shell)  
shadow 为了安全将密码存放的位置
username:$6$Z0ikQ9jNLJIDyJrg$7aAWW8UX3AqF0LlbGeLVG0vBwh36Jk49SuVHJJyxN6/afdUGyE9bJwlfNg1P4.5gMnpqnNNxhKoQTmdFRatjM1:17354:0:99999:7:::
用冒号分割的每一个字段代表不同含义
1 用户名
2 $$$   三个$  第一段表示加密算法  第二段表示salt 第三段表示密码加密后的效果
3 是上一次修改密码的日期到1970年1月1日的天数
4 最小密码有效期
5 最大密码有效期
6 密码过期警告提前的天数
7 密码失效的后,可以宽限的的天数
8 账户有效期,过期就不可以登录
9 保留字段
group 组信息的存储位置
mail:x:12:mail,postfix
1 表示组名
2 组的密码
3 组的id号
4 组成员的列表
gshadow
mail:::mail,postfix
1 组名
2 组的密码
3 组的管理员名单
4 组的成员列表和group文件中的最后一个字段应保持一致

2 用户管理的命令

# 用户创建
useadd [options] username
  -u  指定用户的id号  可以不设定
  -g  指定用户主组的id号(必须实现存在)  可以不设定
  -c  用户的注释信息  可以不设定  可以使用chfn设置详细介绍
  -d  用户的家目录  默认是/home/usename
  -G 指定用户组的附加组的id号(组事先存在)
  -N 不创建主组,使用users作为主组
  -r 创建系统用户
# 组创建
groupadd [option]  groupname
  -g 指明组id号
  -r 创建为系统组
批量创建用户和密码
newusers file(格式与/etc/passwd相同的文件),默认不会创建用户的配置文件
chpasswd  file(格式 每一行username:password)批量创建用户密码
# 用户属性修改
usermod [options]  username
  -u UID:新的UID
  -g GID:新的主组id
  -G 添加附加组  配置-a 使用 不会清空原先的附加组
# 用户组修改
groupmod [OPTION]... group
  -n group_name:新名字
  -g GID:新的GID
# 用户删除 
userdel [OPTION]  username
  -r:删除用户的家目录
# 用户组删除 
groupdel  groupname
#查看用户的信息
id 
  -u:显示UID
  -g:显示GID
  -G:显示用户所属组的组ID
  -n:显示名称,配合上面的命令
#加某个用户加到某个组三种用法
groupmems -a username -g groupname
gpasswd -a username groupname
usermod -aG groupname username

3 权限的管理

  • 权限rwx的作用
 rwx  读4  写2 执行1
对文件的作用
r:可使用文件查看类工具获取其内容
w:可修改其内容
x:可以把此文件提请内核启动为一个进程
对目录的作用
r:可以使用ls 查看此目录中文件列表
w:可在此目录中创建文件,也可删除此目录中的文件
x:可以使用ls -l 查看此目录中文件列表,可以cd 进入此目录
X:只 给目录x 权限,不给文件x
  • 权限,属主和属组的修改
# 权限
chmod  [options] file|derectory
  -R:递归修改
  --reference=file:参考某个文件权限进行修改
如
> ----------. 1 root root     0 Jul 30 00:06 f1
> -rw-r--r--. 1 root root   899 Jul 30 00:06 fstab
[root@centos69 app]#chmod --reference=fstab f1
>-rw-r--r--. 1 root root     0 Jul 30 00:06 f1
>-rw-r--r--. 1 root root   899 Jul 30 00:06 fstab
# 属主
 chown
      -R: 递归修改
如
> -rw-r--r--. 1 root root   899 Jul 30 00:06 f1
[root@centos69 app]#chown guest.guset f1
[root@centos69 app]#chown .guest f1 表示将属主修改未指定参数的相同的用户,同时组也修改
>-rw-r--r--. 1 guest guest   899 Jul 30 00:06 f1
  • 系统上的特殊权限
    SUID,SGID,Sticky
SUID 只能作用在二进制可执行的文件上,表示当用户运行这个二进制文件时,以当前文件的所属主的权限进行执行,即临时切换身份
SGID 能作用在二进制可执行的文件上和文件夹上
二进制可执行程序上:表示当用户运行这个二进制文件时,以当前文件的所属组的权限进行执行,即临时切换用户的组
文件夹:表示会将在这个目录里创建的文件或文件夹属组都会默认属于此文件夹的属组
Sticky 粘滞位 只能作用在文件夹上,表示在这个文件创建的文件,除了管理员,其他用户只能删除自己的文件,不能删除别人的文件
  • 文件的隐藏属性 命令 lsattr chattr
lsarr file 显示文件的隐藏的权限属性
chattr 设置文件的隐藏的权限属性
  +|- i 不能修改文件的元数据,不能删除
  +|- a 只能追加内容,不可以编辑
  +|- A 不修改文件的atime时间
  • acl 访问控制列表
# 在centos7 以前的版本,默认手工创建的分区,不自带acl,需要自己添加acl功能
# 查看是否有acl功能
[root@centos69 app]# tune2fs -l /dev/sda2
Default mount options:    user_xattr acl  这一项是否开启
# 添加acl 功能
tune2fs –o acl /dev/sdb1  
mount –o acl /dev/sdb1 /mnt/test
# ACL 生效 顺序:所有者,自定义用户,自定义组,其他人
setfacl
  -m d:  默认权限  如:setfacl -m d:g:g2:rw /test/dir
  -k   file|directory 删除默认的权限
  -b    清空所有的acl权限
  -x  删除acl u:username   g:groupname   file
  -M (添加) 批量  -X (减少)
  -m mask:: file 设置限高线 文件的基本权限不受影响
# getfacl file1 | setfacl --set-file=- file 将file1的facl附加给facl2
# 
设置facl时,对文件,如 -rw-rw-r--+ 1 root guest 605 Jul 24 16:57 f1
设置f1已经有rw 在 设置 setfacl -m g:guest:r f1  
将会使用两个组权限中权限最大的权限
# acl权限的备份恢复
getfacl -R /tmp/dir1 > acl.txt  获取权限
setfacl -R -b /tmp/dir1  清空权限
setfacl -R --set-file=acl.txt /tmp/dir1  重设权限
setfacl --restore acl.txt  重设权限 同上
1 、在/testdir/dir 里创建的新文件自动属于g1 组,组
g2 的成员如:alice 能对这些新文件有读写权限,组g3
的成员如:tom 只能对新文件有读权限,其它用户(不
属于g1,g2,g3 )不能访问这个文件夹。
groupadd g1,g2,g3
useradd -g g2 alice
useradd -g g3 tom
chmod g+s,o= /test/dir 
setfacl -m g:g2:rwx   给g2组有进入创建,删除文件,进入文件加的权限
setfacl -m g:g3:rwx 给g3组有进入创建,删除文件,进入文件加的权限
setfacl -m d:g:g2:rw /test/dir  设置默认的用户权限  目录
setfacl -m d:g:g3:r- /test/dir  设置默认的组权限 目录
2 、备份/testdir/dir 里所有文件的ACL 权限到
/root/acl.txt 中,清除/testdir/dir 中所有ACL 权限
,最后还原ACL 权限
getfacl -R /test/dir > /root/acl.txt  获取权限
setfacl -R -b /test/dir   清空权限
setfacl -R --set-file=/root/acl.txt /test/dir  设定权限
setfacl --restore=file  同上

4 文本处理工具

cat  查看文本内容的命令
  -n  加行号
  -b 空行不加号  和nl 命令相同效果
  -s 连续的空行变成一个 压缩
  -e 同-eV 显示每行的$字符 
  -A 可以查看不显示的字符
  -v show-nonprinting use ^ and M- notation ,except for LFD and TABq
cut [OPTION]... [FILE]...
  -d DELIMITER:  指明分隔符,默认tab
  -f FILEDS:
      #:  第# 个字段
      #,#[,#] :离散的多个字段,例如1,3,6
      #-# :连续的多个字段,  例如1-6
      混合使用:1-3,7
  -c 按字符切割
  --output-delimiter=STRING 指定输出分隔符
wc:计算单词数,行总数,字节总数,字符总数
  -l 来只计数行数
  -w 来只计数单词总数
  -c 来只计数字节总数
  -m 来只计数字符总数
如
[root@centos69 app]# wc /usr/share/dict/linux.words
 479829  479829 4953699 /usr/share/dict/linux.words
paste  横向合并  cat 两个文件纵向合并
-d 指定行的分隔符
-s 旋转90度 
              f1     f2
               a      d
               b      e
               c      f
             a    b    c
             d    e    f
文本排序
sort [options] file(s)
  -r 执行反方向(由上至下)整理
  -n 执行按数字大小整理
  -f 选项忽略(fold )字符串中的字符大小写
  -u 选项(独特,unique )删除输出中的重复行
  -t c 选项使用c 做为字段界定符
  -k X 选项按照使用c 字符分隔的X列来整理
#查重
  diff file1 file2 -u 更详细的信息
#打补丁
  patch -b  file diff   可以先将 file 备份程file.origin file

5 grep

grep:global search Regular expression(  正则表达式) and print out  the line
1 、显示/proc/meminfo 文件中以大小s 开头的行( 要求:使用两
种方法)
  cat /proc/meminfo | grep -e ^s -e ^S
  cat /proc/meminfo | grep ^[sS]
  cat /proc/meminfo | grep -i ^s
2 、显示/etc/passwd 文件中不以/bin/bash 结尾的行
  grep -v "/bin/bash$" /etc/passwd
3 、显示用户rpc 默认的shell 程序
  grep "^rpc\>" /etc/passwd | cut -d:  -f7
4 、找出/etc/passwd 中的两位或三位数
  egrep "\<[0-9]{2,3}\>" /etc/passwd
  egrep -w "[0-9]{2,3}" /etc/passwd
5 、显示CentOS7 的/etc/grub2.cfg 文件中,至少以一个空白
字符开头的且后面存非空白字符的行
  egrep "^[[:space:]]+[^[:space:]]" /etc/grub2.cfg
6 、找出“netstat -tan” 命令的结果中以‘LISTEN’ 后跟任意多
个空白字符结尾的行
  netstat -tan|egrep "LISTEN[[:space:]]*"
7 、显示CentOS7 上所有系统用户的用户名和UID
  cut -d: -f1,3 /etc/passwd | egrep -w  "[0-9]{1,3}$"
8 、利用df 和grep取出磁盘各分区利用率,并从大到小排序
  df | grep /dev/sd | tr -s ' ' '%' | cut -d % -f 5 | sort -rn
1 、显示三个用户root 、mage 、wang 的UID 和默认shell
  egrep "^(root|mage|wang)\>" |cut -d: -f7
2 、找出/etc/rc.d/init.d/functions 文件中行首为某单词(包 包
括下划线) 后面跟一个小括号的行
  egrep "^[a-zA-Z_]+\>\(\)" /etc/rc.d/init.d/functions
3 、使用egrep 取出/etc/rc.d/init.d/functions 中其基名
  echo "/etc/rc.d/init.d/functions" |egrep -o "[^/]+/?$"
4 、使用egrep 取出上面路径的目录名
  echo "/etc/rc.d/init.d/functions" | egrep "^/.*/\<"
5 、统计last 命令中以root 登录的每个主机IP 地址登录次数
  last | egrep -o "^root\>.*(([0-9]){0,3}\.){3}([0-9]{0,3})" | tr -s " " | cut -d" " -f1,3| sort | uniq -c
6 、利用扩展正则表达式分别表示0-9 、10-99 、100-199、 、
200-249 、250-255
        [0-9]
        echo [0..100] | egrep -wo [0-9]
    [10-99]
        echo [0..100] | egrep -wo [1-9][0-9]
    [100-199]
        echo {0..200} | egrep -ow '1[0-9]{2}' 
    [200-249]
        echo {0..255} | egrep -ow '2[0-4][0-9]' 
    [250-255]
        echo {0..255} | egrep -ow '25[0-5]'
7 、显示ifconfig 命令结果中所有IPv4 地址
  ifconfig|  egrep "\<(([1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\>"
8 、将此字符串:welcome to magedu linux  中的每个字符
去重并排序,重复次数多的排到前面
  echo "welcome to magedu linux "| egrep -o "." | sort | uniq -c

相关文章

  • Linux-用户管理和用户组管理

    用户管理和用户组管理 一、用户管理 1.添加用户 2.切换用户 3.删除用户 二、用户组 三、用户管理与用户组管理...

  • Jenkins运维管理

    凭据管理 插件管理 用户管理 创建用户 devmanager testmanagerimage.png 用户权限管...

  • 公众平台用户管理优化,支持标签功能

    公众平台用户管理优化已上线。目前已支持标签管理用户,且用户卡片实现多场景管理与查看用户信息,多维度提升用户管理效率...

  • 带你一步步用MVC架构实现简单的用户管理系统

    用户管理系统,实现简单的用户管理,有包括普通用户、管理员;功能包括添加用户,删除用户,查询用户信息,更改用户信息等...

  • 7.Metabase用户管理

    Metabase中只有系统管理员可以对用户管理,用户管理主要包括两个大的模块:用户组的管理和用户管理。其中用户组的...

  • Linux基础-用户管理

    三、用户管理 1.单一用户管理 2.用户组管理(包含权限)

  • 用户注册

    用户的注册 用户登录 用户个人信息管理 用户地址管理 用户收藏管理 我的订单 优惠券管理 其中短信微服务抽取出来 ...

  • rabbitmq 用户权角色限管理

    1. 用户管理 用户管理包括增加用户,删除用户,查看用户列表,修改用户密码。 新增用户: 删除一个用户: 修改用户...

  • 2.快速入门

    1.用户管理 添加用户用户管理 - 查看用户 - 添加用户。 填写基本信息,完成用户添加Paste_Image.p...

  • jumpserver

    jumpserver有三种用户 用户=》jumpserver的登录用户、跳板机的管理用户、终端登录用户 管理用户=...

网友评论

      本文标题:用户管理

      本文链接:https://www.haomeiwen.com/subject/ybghlxtx.html