您的位置:首页 > 运维架构 > Linux

linux用户及管理权限

2016-06-21 13:13 295 查看
linux用户大体分为两种:一是:管理员用户;二是普通用户,普通用户又可以分为系统用户和登录用户。因为linux是一个多用户多任务的系统,所以每一个要使用系统资源的用户,都要向管理员申请一个账号,使用这个账号登录到系统。每个用户都拥有一个自己的名字和密码,以登录到用户。
每个用户都有唯一的用户标识(userid,UID),是以16bits二进制数字来表示0-65535。以CentOS为例管理员用户的UID是0;普通用户的UID为1-65535,其中系统用户的UID在centos6及早些版本为1-499,在CentOS7中为1-999。登录用户在CentOS6及早些版本为500-60000,在CentOS7中为1000-60000。
有些时候一些用户需要统一管理,于是就可以创建一些用户组。同理用户组也分为管理员组和普通用户组,他们也有他们的组标识(GID),他们的分配方法与UID的完全相同。有时一个用户需要多重身份在系统工作,所以用户组又可以分为用户的主组和附加组。也因为权限的不同可以分为私有组和公共组,顾名思义私有组属于用户自己私有,所以私有组与用户名同名且只有一个用户,公共组就可以拥有多个成员。
当用户登录linux系统时,由于linux并不认识账号名称,所以它会先去查找一个名为/etc/passwd的文件,通过识别UID进行名称解析,用户组名称也需要解析,但是它是通/etc/group的文件进行名称解析。用户的密码存储在/etc/shadow文件下,用户组的密码存储在/etc/gshadow下。为了防止账户丢失,密码都是通过加密保存的,加密算法通常有以下三类:对称加密,非对称加密和单项加密。
对称加密即为加密和解密使用同一个密钥,特点是加密解密速度快,缺陷是密钥分发困难,需要记的密钥过多;
非对称加密使用是一对密钥,同时密钥对又可分为公钥和私钥。特点是加密和解密使用不同的密钥,缺陷是加密速度慢;
单项加密就是只能加密不能解密,它的的特点是定长输出,无论密码多长,通过它加密后的输出结果都是定长的,所以发生一些微小的变化都容易发生雪崩效应。主要算法有MD5,sha1等。

用户管理一些常用的命令

添加用户的命令: useradd 格式为:useradd [选项] 登录名

常用选项为:
-u 、--uid: 指定UID
-g 、--gid :指定基本组ID ,此组必须事先存在
-G --groups :指明用户所属的附加组,多个组用逗号分隔
-c 、 --comment :指明注释信息
-d :以指定的路径为用户的家目录;通过复制/etc/skel此目录并重命名实现;指定的家目录路如果事先存在,则不会为用户复制环境配置文件
-s 、--shell :指定用户的默认shell,可用的所有shell列表存储在/etc/shells中
-r --system : 创建系统用户
创建用户是的诸多默认设置配置文件为/etc/login.defs

useradd -D : 创建用户的默认配置
useradd -D 【选项】:修改默认的选项值 ,修改 的结果保存于/etc/default/yseradd文件中

usermod命令 :修改用户属性
命令格式 usermod [选项] 登录名
常用选项 -u : 修改UID
-g : 修改GID
-G : 修改用户所属的附加组 ,原来的附加组会被覆盖
-a : 与-G一同使用,用于为用户追加新的附加组
-c :修改注释信息
-d :修改用户的家目录;用户原有的文件不会被转移新位置
-m :只能与-d选项一同使用,用于将原来的家目录移动到新的家目录
-l :修改用户名
-s :修改用户的默认shell
-L :锁定用户密码;即在用户原来密码字符串之前添加“!”
-U : 解锁用户的密码

userdel命令 :删除用户
命令格式 userdel [选项] 登录名
常用选项 -r : 删除用户时一并删除其家目录

passwd命令:
① passwd :修改用户自己的密码
② passwd USERNAME: 修改指定用户的密码,默认仅root有此权限
常用选项 -l ,-u : 锁定和解锁用户
-d : 清除用户密码
-e DATE: 过期期限,日期;
-i DAYS :非获得期限
-n DAYS : 密码的最短使用期限
-x DAYS : 密码的最长使用期限
-w DAYS : 警告期限

groupadd 命令 :添加组
groupadd 【选项】 groupname
常用选项 -g :指定GID;默认是上一个组的GID+1
-r : 创建系统组;
groupmod 命令: 修改组属性
groupmod [选项] groupname
常用选项 -g :修改GID
-n :修改组名
groupdel :删除组
groupdel [选项] group

gpasswd命令 :
组密码文件:/etc/gshadow
gpasswd [选项] group
-a USERNAME :向组中添加用户
-d USERNAME :从组中移除用户

newgrp命令 : 临时切换指定的组为基本组
newgrp [-] [group]
- : 模拟用户重新登录以实现重新初始化工作状态

chage 命令 : 更改用户密码过期信息
chage [选项] 用户名
常用选项 -m:密码可更改的最小天数。为零时代表任何时候都可以更改密码。
-M:密码保持有效的最大天数。
-w:用户密码到期前,提前收到警告信息的天数。
-E:帐号到期的日期。过了这天,此帐号将不可用。
-d:上一次更改的日期。
-i:停滞时期。如果一个密码已过期这些天,那么此帐号将不可用。
-l:例出当前的设置。由非特权用户来确定他们的密码或帐号何时过期

id 命令 :显示用户的真实有效ID
ID [选项] ...[用户]
-u : 仅显示有的UID
-g :仅显示用户的基本组ID
-G: 仅显示用户所属的所有组的ID
-n : 显示名字而非ID

su 命令 : switch user
登录式切换 : 会通过读取目标用户的配置文件来重新初始化 su - USERNAME , su -l USERNAME
非登录式切换 : 不会读取目标用户的配置文件进行初始化 su USERNAME
管理员可无密码切换至其他任何用户
-c 'COMMAND' : 仅以指定用户的身份运行此处指定的命令

权限管理:
用户在系统中所扮演的角色不用,所拥有的权限就有所不同,权限基本分为r(read),w(write),x(execute)三种权限。模型为:rwxrwxrwx 所有者为:用户或用户组但是相同权限所针对的对象不同,意义有所不同。同时也可用数字表示r=4,w=2.x=1
文件: r:可获取文件的数据,w:可修改文件的数据,x:可将此文件运行的进程;
目录:r:可使用ls命令获取其下的所有文件列表,w:可修改此目录下的文件列表,x : 可cd至 此目录中,且可使用 ls -l 来获取所有文件的详细属性信息
文件一般为数据记录,不需要执行(x)权限, 即 -rw-rw-rw-,最大为666
目录的x权限表示用户能否进入, 默认应该所有权限打开, 即 drwxrwxrwx, 为777权限。
权限管理命令:
chmod命令:更改权限
① chmod [OPTION]... MODE[,MODE]... FILE...
②chmod [OPTION]... OCTAL-MODE FILE...
③chmod [OPTION]... --reference=RFILE FILE...
三类用户: u:属主 g:属组 o:其他 a:所有

选项: -R, --recursive : 递归修改 change files and directories recursively
chown命令:更改属主属组
chown [OPTION]... [OWNER][:[GROUP]] FILE...
chown [OPTION]... --reference=RFILE FILE...
-R, --recursive:递归修改
chgrp命令:更改属组
chgrp [OPTION]... GROUP FILE...
chgrp [OPTION]... --reference=RFILE FILE...
进程访问文件所拥有的权限:
进程的属主和文件的属主是否相同 ;如果相同,则应用属主权限
否则,则检查集成的属主是否属于文件的属组;如果是,则应用属组的权限
否则,就应用other的权限
通常用户创建的普通文件和目录的权限是不同的,这是因为有umask的存在,umask为文件默认权限,是文件的权限的反向掩码。通过执行umask命令可以看到四位数字,umask返回4位的数字,第一位是特殊权限,可以先只看后三位,一般root用户的umask为0022表示----w--w-,普通用户的umask为0002表示-------w-
默认权限的计算: 文件的权限:666-umask, 目录的权限:777-umask
umask命令:查看当前umask
umask MASK:设置umask 但此类设定仅对当前shell进程有效

本文出自 “Minimonster” 博客,请务必保留此出处http://groot.blog.51cto.com/11448219/1791350
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: