管理用户和文件权限

先来认识一下系统存放账号的文件 /etc/passwd

clip_p_w_picpath001

第一字段:用户账号名称

第二字段:经过加密的用户账号密码

第三字段:用户的UID号

第四字段:用户的GID号

第五字段:用户的全名

第六字段:用户的宿主目录

第七字段:用户的登录Shell信息

 

看一下密码保存文件 /etc/shadow

clip_p_w_picpath002

第一字段:用户账号名

第二字段:用户密码(MD5加密)

第三字段:上次更改密码的时间,自1970年1月1日起

第四字段:密码最短有效期,自本次更改密码后,几天以后才能在更改密码

第五字段:密码的有效天数,多少天后必须更改密码,99999表示不限制

第六字段:密码到期前几天通知

第七字段:密码过期后多少天内禁用此账户

第八字段:账号失效时间,自1970年1月1日算起,为空表示不限制

第九字段:保留字段,目前没有特定用途

 

密码字段里有*或!!号时,表示账号不能登录到系统

 

用户账号管理:

useradd添加用户账户

-u 指定用户的UID,要求未被其他用户使用

-d 指定用户的宿主目录

-e 指定用户的账号失效时间可以用YYYY-MM-DD时间格式

-g 指定用户的基本组名

-G 指定用户的附加组名

-M 不建立使用者目录

-s 指定用户的登录shell

 

用户系统模板为 /etc/login.defs

clip_p_w_picpath004

 

创建一个user1用户,UID 为800,不建立家目录,有效时间为10天,附加组为wheel

clip_p_w_picpath005

clip_p_w_picpath006

 

passwd为用户账号设置密码

-d 清空用户密码,仅使用用户名即可登录

-l 锁定用户账号

-S 查看用户账号状态(是否被锁定)

-u 解锁用户账户

clip_p_w_picpath007

 

usermod修改用户账号属性

-u 修改用户UID

-d 修改用户宿主目录

-e 修改用户账号失效时间可用YYYY-MM-DD 时间格式

-g 修改用户基本组名

-G 修改用户附加组名

-M 不为用户建立并初始化家目录

-s 指定用户登录后使用的shell

-l 更改用户账号登录名称

-L 锁定用户

-U 解锁用户

clip_p_w_picpath008

 

userdel删除用户账号

-r 连同家目录一起删除

用户账号的初始配置:

用useradd添加一个用户账号时,系统会在该用户的宿主目录下建立一些初始文件配置,这些文件来自系统模板目录”/etc/skel/”基本上都是隐藏文件,较常用的是”./bash/_logout ./bash_profile ./bashrc “

clip_p_w_picpath009

./bash_profile每次用户登录时被执行

./bash_logout每次用户推出系统时被执行

./bashrc每次用户加载/bin/bash/时被执行(也包括系统登录)

clip_p_w_picpath010

clip_p_w_picpath011

 

我们加了一条别名

测试下:

clip_p_w_picpath012

clip_p_w_picpath013

很成功!!!

 

组账号管理:

id 查看当前用户对应的组

clip_p_w_picpath014

 

查看root组中有那些用户:

clip_p_w_picpath015

 

查看那些组中有root这个账号

clip_p_w_picpath016

 

groupadd添加组账号

clip_p_w_picpath017

 

gpasswd添加删除成员

-a 添加一个用户到组中

-d 从组中删除一个用户

-M 一次添加多个用户(原有的用户将被覆盖)

clip_p_w_picpath018

 

groupdel删除组账号

clip_p_w_picpath019

 

用户和组账号查询:

groups 查询某个用户账号所在的组

finger 查询用户账号的详细的信息

finger,who, w, users 查询当前登录到主机的用户信息

clip_p_w_picpath021

 

 

文件目录的权限管理

clip_p_w_picpath022

上图中,第一个“-”或“d”表示该文件或目录的类型(d目录 b块设备 c字符设备文件 - 普通文件 I 链接文件)往后三个位一个单元,分别是宿主权限,宿组权限,其他用户权限(r 可读 w 可写 x 可执行)

chmod设置文件或目录的权限(r w x 对应 4 2 1)

a+x所有用户加执行权限

u+x宿主用户加执行权限

g+x宿组用户加执行权限

o+x其他用户加执行权限

777 所有用户有可读,可写,可执行权限

clip_p_w_picpath023

上面两条改权限的命令,其结果是一样的

 

chown更改文件目录的宿主或属组

-R 递归改变所有子目录所属

clip_p_w_picpath024

 

SET位权限chmodu+s或chmodg+s用于设置SUID 和SGID ,以后任何用户在执行被设置了SET为的文件或目录时,就有了宿主或属组的相应权限

SUID 对应数字为 4

SGID 对你数字为2

6755 表示同时设置了SUID和SGID

 

删除时用u-s , g-s 即可

clip_p_w_picpath025

上图中,我们看到了passwd这个命令被设置成了SUID,我们对一个目录设置了SGID,那么以后其他用户在此目录中所创建的一切东西,宿组都会变成luojunyong

 

 

粘滞位权限:

主要为目录设置特别的权限,当目录加了t位后,相应的x会变成t,那么在这个目录中,允许你有的权限操作(读写),但只能对自己所创建的文件进行操作,对别人创建的文件不能更改

clip_p_w_picpath026

上图中,其他用户只能对自己的文件进行操作,对于别人的只能删除,写入

 

chmod +t -t 用于设置粘滞为权限,也可用数字1 0 来表示增加或移除粘滞为权限

clip_p_w_picpath027

clip_p_w_picpath028

上图结合了SET权限,让我们来理解权限的数字的表示形式

 

 

UMASK 权限默认的掩码值

root 默认为 0022

普通用户默认为 0002

默认文件的权限等于666减去掩码值

默认目录的权限等于777减去掩码值

所以root用户创建的文件权限默认为 644

所以root用户创建的目录权限默认为 755

所以普通用户创建的文件默认权限为 664

所以普通用户创建的目录默认权限为 775

clip_p_w_picpath029

从上图可以看出UMASK的作用,正如我们上面的默认权限

 

clip_p_w_picpath030

能这样更改UMASK值不过不建议这样做

本文档完毕!!!