码迷,mamicode.com
首页 > 其他好文 > 详细

用户管理·

时间:2018-07-21 17:22:46      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:tick   acl   标准   不显示   包含   linux系统   admin   process   设置   

Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。
每个用户有且只能有一个主要组,但用户可以有零到多个附加组,每个文件只能有一个所属人,和一个所属组。用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录。

一、用户管理的相关文件

管理用户时,我们首先了解用户管理相关文件存放的位置。

/etc/passwd

功能:存放系统的用户帐号信息
内容:用户名:密码位:UID:GID:描述位:用户主目录:SHELL
注:假如采用了shadow,存放密码的字符显示为x,真正密码保存在/etc/shadow中,即影子口令。

/etc/shadow

功能:存放用户口令(一般采用加密的方式存放口令)
内容:用户名:密码位:

/etc/group

功能:存放系统组信息
格式:组名:组密码:GID:附加组成员列表:用,间隔

注:组密码映射到了/etc/gshadow,显示为x,附加组成员列表可以用,间隔

/etc/gshadow

功能:存放用户组口令
格式:组名: 加密后的密码位:组管理员:附加组成员列表

注:组管理员可以用,间隔,即可以修改组密码,可以修改组成员,附加组成员列表也可以用,间隔

/etc/skel

功能:用于存放用户的环境文件等。当添加新用户时,系统会自动复制该目录到新用户的家目录下。

二.用户及组管理命令

管理用户的命令很多,但都不是很难。

su

功能:切换用户
格式:#su [选项] [用户名]
参数:
su: 不加任何选项的情况下,默认为切换到root用户,不改变shell环境
su -:默认切换到root用户,并改变shell环境

注:在用户登录系统时,密码是不显示的,不要认为是键盘坏了。

id

功能:显示当前用户自身的信息
格式:id [参数] 用户名
参数: id 用户名 :显示指定用户的信息
id -u 用户名 :显示指定用户的uid
id -g 用户名 : 显示指定用户的主组的gid
id -un 用户名 : 显示指定用户的名字
id -gn 用户名 : 显示指定用的的主组的组名

passwd

功能:修改用户密码
格式:passwd [参数] [用户名]
参数:-l:锁定用户
-u :解除用户的锁定
-d :删除用户的密码
-e :使下次使用密码登录时,强制修改密码
--stdin :从标准输入接收用户密码

useradd

功能:建立用户
格式:useradd [参数]用户名
参数: -u UID : 指定 UID
-o 与-u 配合,不检查uid的唯一性
-g GID/组名 : 指定用户的主要组
-G GID/组名 : 指定用户的附加组
-c : "注释" 用户名
-d 路径 : 用户
-s /sbin/nologin : 指定用户的默认shell
-N : 使用users组做为主要组
-r : 创建系统用户
-m : 与-r 配合使用,在创建系统用户时,同时创建家目录
-M : 创建非系统用户时,不创建家目录
-D : 设置默认值,影响以下文件

注: 路径中的目录名要先存在,而基名不要存在 ,useradd的默认设置 /etc/default/useradd

userdel

功能:删除用户
格式:userdel [参数] 用户名
参数:-r : 删除用户主目录,会连同家目录和mail一起删除

usermod

功能:修改用户信息
格式:usermod [参数] 用户名
参数:-u UID 用户名 修改指定用户的uid
-g GID/组名 : 修改用户的主组(该组要先存在)
-G GID/组名[GID2/组名2……] :设置用户的附加组
-a 与-G 配置,增加用户的附加组
-s shell :修改用户的默认shell
-c ‘注释内容‘ :修改用户的注释
-d 新地址 用户名 :只修改/etc/passwd当中家目录的信息,并不会将目录迁移
-m 与-d 配合使用:修改家目录时,目录一同迁移
note: -d 与地址 一定要连在一起
-l 新名字 旧名字:修改用户的登录名
-L 用户名 :锁定用户的密码
-U 用户名 :解锁用户的密码

gropadd

功能:建立用户组
格式:groupadd [参数] 组名
参数:-g GID/组名:指定GID的值
-r :自动分区的组ID

注:centos6 < 500 centos7 <1000

groupdel

功能:删除用户组
格式:groupdel 组名

groupmod

功能:修改组信息
格式:groupmod [参数] 组名
参数:-n 新组名:修改组的名称
-g GID:修改组的GID
-o:强制使用指定的GID,与-g连用

gpasswd

功能:修改组密码
格式:gpasswd [参数] [用户名] [组名]
参数:gpasswd -a username groupname :将指定用户以附加组方式加入到指定组
gpasswd -d username groupname :将指定用户从指定组中删除
gpasswd -A admin1[,admin2……] groupname :设置组管理员
gpasswd -M user1,user2 groupname :设置组成员列表 (仅root执行)
gpasswd -M ‘‘ groupname : 删除组成的所有成员
gpasswd -r groupname: 清空指定组的组密码

注:管理员可以修改组密码,及修改组成员

groups

功能:显示组信息
格式:groups [用户名]

newgrp

功能:生成一个子shell,使用户临时将主要组切换到指定组
格式: newgrp 组名

Groupmems

参数:
-g 组名 -a 用户名 往组中增加成员
-d 用户名 从组中删除成员
-l 列出组成员 (不包含主组)
-p 清空该组的所有组员

chpasswd

功能:修改用户口令,用户名和口令由用户输入的执行过程中输入
格式:#chpasswd [参数]
参数:-e 不加密存储

chown

功能:修改文件的owner
格式:chown 用户名 文件/目录名
参数:-R 递归同时修改目录下的子文件子目录
--reference 文件1 文件2 将文件1的owner设置给文件2
chown owner.group 或 owner:group 文件名 可以同时修改文件的owner和group

注:修改文件的owner和group仅root可以修改

chgrp

功能:修改文件的group
格式:chgrp 组名 文件/目录名
参数:
-R :递归
--reference :文件1 文件2 将文件1的group设置给文件2

注:owner可以修改文件的属于组,但owner一定要属于目标组

三.用户安全管理

普通权限

rwx权限作用在文件上:
r:表示可以读取该文件的内容
w:表示可以修改该文件的内容
x:无作用
rw:表示可以读写该文件
rx:表示可以读并能执行该文件
wx:权限等同于仅w权限
rwx权限作用在目录上:
r:可以短列出目录的内容(子文件,子目录名)
w:无作用
x:可以进入该目录
rw:权限等同于仅r
rx:表示可以长列出,可以进入
wx:可以创建及删除文件或目录。
rwx:可以列出可以创建删除可以进入。

注:以上权限组合可以用字母和八进制数字表示:r:4,w:2,x:1.

特殊权限

suid:当对于一个可执行的二进制文件作用了suid之后,任何人在执行该文件时,临时拥有其所有人的权限
权限设定:chmod u+s file......
chmod u-s file......
sgid:
1.当对于一个可执行的二进制文件作用了sgid之后,任何人在执行该文件时,临时拥有其所有组的权限
权限设定:chmod g+s file......
chmod g-s file......
2.当对于一个目录作用了sgid权限之后,任何人在该目录下所创建的文件的所属组,均与该目录的所属组相同

sticky: 对于一个目录作用了sticky权限,该目录下的文件仅其所属人和目录的所属人及root可以删除。
权限设定:chmod o+t DIR......
chmod o-t DIR......

chmod

功能:修改文件访问权限
格式:chmod [参数] <权限值> <文件名>
参数:
-v:显示详细说明
-c:与-v相似,但只有在文件权限发生改变时才显示详细说明
-R:递归改变目录的权限
-f:不显示拥有者的详细信息

注:-只有root和文件属主有权执行chmod文件

umask

功能:设置权限掩码(决定新建文件的权限)
格式:umask 权限值
参数:umask:查询umask
umask xxx :设置umask

注:超级用户默认为022,普通用户默认为002

四、权限管理

acl

在Linux中,acl主要负责权限管理,centos7 默认支持acl,centos6及之前的版本,操作系统安装时所创建的文件系统默认支持acl,而操作安装之后使用mkfs格式化的文件系统默认未开启acl,需要手工开启,方法如下:
1.tune2fs -o acl /dev/sda5
2.mount -o acl /dev/sda5 /app
在使用acl时,需要注意两点:

  1. 不用系统组
  2. 不要使某用户的多个组都设置不同的acl group 权限
    ACl权限有优先级,判断顺序为:owner > acl user > group > other,acl的 扩展属性,打包工具不支持存储

    Chattr

    功能:修改ext2和ext3文件系统中的文件属性(只有超级用户使用)
    格式:chattr [参数] 操作符 属性值 文件或目录
    参数: 
    +a 表示不能删除,不能覆盖,可以追加内容
    +i 表示不能删除,不能覆盖,不能追加

    lsattr

    功能:查看attr权限,显示特定属性
    格式:lsattr [参数] [文件名]
    参数:-R:查看目录所有内容的属性,包括子目录中的内容

    五、练习

    1、创建用户liubei,guanyu,zhangfei,要求三用户同属于一个附加组shuguo
    [root@centos 7 ~]# useradd liubei
    [root@centos 7 ~]# useradd guanyu
    [root@centos 7 ~]# useradd zhangfei
    [root@centos 7 ~]# gpasswd -a liubei,guanyu,zhangfei shuguo
    [root@centos 7 ~]# id liubei
    [root@centos 7 ~]# id guanyu
    [root@centos 7 ~]# id zhangfei
    技术分享图片
    2、复制/etc/fstab文件到/var/tmp下,设置文件所有者为wangcai读写权限,所属组为sysadmins组有读写权限,其他人无权限
    [root@centos 7 tmp]# cd /var/tmp
    [root@centos 7 tmp]# cp /etc/fstab /var/tmp
    [root@centos 7 tmp]# chown wangcai fstab
    [root@centos 7 tmp]# chgrp sysadmins fstab
    [root@centos 7 tmp]# chmod 660 fstab
    [root@centos 7 tmp]# ll
    技术分享图片

用户管理·

标签:tick   acl   标准   不显示   包含   linux系统   admin   process   设置   

原文地址:http://blog.51cto.com/12948961/2148016

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!