对账号的管理 对文件(文件夹)权限的管理

简介: 对账号的管理 对文件(文件夹)权限的管理

一,linux 安全模型

1,Authentication:认证,验证用户身份

即用户名和密码

2,Authorization:授权,不同的用户设置不同权限

3,Accouting|Audition:审计

即日志,事后追责,在 /var/log 里 输入 vim message查看

二,对账户的管理

(一)用户账户类型

普通账户: 权限受到限制的用户

超级管理员 权限最大

程序用户 不是给人用的 给程序使用的

注意:程序用户不允许登录,将风险性降到最低

(二)系统如何区分这三类用户

根据uid 号 (用户身份证号)不是根据用户名

超级管理员默认是0 (root不一定是 uid是0才是超级管理员)id 用户名 可以查看该用户的uid号

cat /etc/passwd 可以查看所有用户

切换账户 su 账户名 (切换登录不是一码事)

uid范围

centos7:

普通用户 1000到60000

程序用户 1-999

超级管理员默认是0

centos6:

超级管理员默认是0

程序用户 1-499

普通用户 500开始

(三)重要文件夹

1,       /etc/passwd       存放用户信息

分为7段,每段用冒号隔开

解释:

liwu                        用户名

x                            密码占位符

1003                      uid

1003                       gid

普通用户                备注信息

/home/liwu              家目录的位置

/bin/bash               默认的 shell 类型

注意:常用的shell  为

/sbin/nologin 不让用户登录

/bin/bash

2,         /etc/shadow           存放密码,以及用户密码信息

分为9段,每段用冒号隔开

(四)管理用户的常用命令

1,useradd 新建用户,并对用户进行个性化配置

① useradd原理:

使用命令   useradd   最后实在passwd文件中添加一条记录,即useradd实际上是修改了passwd 文件。同理 passwdd实际上是修改了shadow文件

②格式

useradd    选项    用户名

③常用选项

-u                   指定uid

-M                  不生成家目录

-s                    指定shell 类型

-e                   指定用户的失效时间    可使用 YYYY-MM-DD 的日期格式

-d:指定用户的宿主目录位置(当与-M 一起使用时,不生效)

-g:指定用户的基本组名(或使用 GID 号)

-G:指定用户的附加组名(或使用 GID 号)

④useradd  实际运用

例子1   创建uid号为1111   不生成家目录    用户名为liwu

可以看到   /etc/passwd   最新的一行是新创建的用户信息

uid号是1111    /home/  下没有liwu的家目录

例子2   创建uid号为2222  不生成家目录  指定shell为 /sbin/nologin     用户名为ky35

为什么要-s  比如新建账户是程序账户,不让登录,所以也没必要生成家目录

例子3  指定家目录

例子4    指定用户失效时间

注意这个19718 指19718天    指从1970年1月1号至今的天数

⑤,一次性新建多个用户

2,passwd  修改密码

① 通式

passwd   选项  用户名

② 选项

-l 锁定用户(不让登录)

-u 解锁用户

-S 查看用户的状态

-d 清空密码(不需要密码直接登录 正常没有密码不能登录的)

③ 免交互修改密码

④  产生随机密码

tr -d 删除    

 

cat   /dev/random   可以生成乱码 文件

删字母和数字

命令1:

命令2:

(命令1,命令2都行)

加c 取反

3    usermod  对已有的属性进行修改

  • -l 更改用户账号的登录名称(Login Name)
  • -L 锁定用户账户
  • -u 修改用户的 UID 号
  • -U 解锁锁用户账户
  • -d:修改用户的宿主目录位置。
  • -e:修改用户的账户失效时间,可使用 YYYY-MM-DD 的日期格式。
  • -g:修改用户的基本组名(或使用 GID 号)
  • -G:修改用户的附加组名(或使用 GID 号)
  • -s:指定用户的登录 Shell

注意:-l  的格式

usermod  -l   wangwun  lisi     即 把lisi  改名wangwu    

新名字在前

4,  userdel删除

userdel -r 连家目录一起删

(五)用户账号的初始配置文件

1,文件来源

新建用户账号时,从  /etc/skel  目录中复制而来

2,主要的用户初始配置文件

~/.bash_profile

~/.bashrc                这两个文件的作用:开机时(登录前)先运行里面的命令        

~/.bash_logout        这个 文件作用: 退出前先运行里面的命令

三,对组的管理

(一)组类型  (理解为职位)

基本组 主岗位,有且唯一

附加组 兼职。可有可无

怎么看组

第一个是 基本组 后面都是附加组

组id 是gid

(二)组常用命令

1,组账号文件

/etc/group:保存组帐号基本信息

2,添加组

groupadd   组名

3,指定组id

groupadd -g 88 zhou

4,gpasswd 命令——添加、设置、删除组成员

  • -a:向组内添加一个用户

  • -d:从组内删除一个用户成员
  • -M:定义组成员列表,以逗号分隔(批量操作将成员移动到组 )

5,删除组账号

groupdel 组名

四,4个命令看能成功登录的用户

(一)finger

命令查询用户帐号的详细信息(finger [用户名])

(二)w

查询已登录到主机的用户信息

[root@localhost ~]# w [选项] [用户名]

-h    不显示输出信息的标题

-l    用长格式输出

-s    用短格式输出,不显示登陆时间,JCPU 和 PCPU 时间

-V    显示版本信息

(三)who

相比较 w 命令,who 命令只能显示当前登陆的用户信息,但无法知晓每个用户正在执行的命令。 who 命令的基本格式如下:

[root@localhost ~]# who [选项] [file]

选项 含义
-a 列出所有信息,相当于所有选项。
-b 列出系统最近启动的时间日期。
-l 列出所有可登陆的终端信息。
-m 仅列出关于当前终端的信息,who -m 命令等同于 who am i
-q 列出在本地系统上的用户和用户数的清单。
-r 显示当前系统的运行级别。
-s 仅显示名称、线路和时间字段信息,这是 who 命令的默认选项。
-u 显示当前每个用户的用户名、登陆终端、登陆时间、线路活动和进程标识。
-T 或 -w 显示 tty 终端的状态,“+”表示对任何人可写,“-”表示仅对 root 用户或所有者可写,“?”表示遇到线路故障。

(四)users

五,文件/目录的权限

(一)权限分类

r w x

(二)权限针对文件和目录

针对文件夹

r 可以看里面有那些文件

w 可以修改文件夹下的文件

x 最小权限,没有x,有r 或者w也没用

针对文件

r   可以看文件内容

w  可以修改文件内容

x  可以运行文件

(三)权限详细解释

1,规则

首先这三个权限rwx 有就写,没有就写-

分成三部分,分别是属主   属组   其他

2,常见问答

问:一个文件可以被删除,和本身权限有关吗

答:和文件本身权限无关,所在文件夹必须要有wx权限,就可以删除

问:当前用户复制文件,只需要什么权限

答: 只需要读 r的权限

能不能操作文件和文件夹,和你当前用户权限是有关系的

3,权限表达方式

计算机用1表示是   0表示不是

r      w      x    

1      0      0           4

0      1      0            2

0      0       1           1

分别转2进制,可以发现r是4   w是2   x是1

777 就是属主 属组 其他 权限拉满

(四)chmod  修改权限

两种表达方式:

1,模式法

chmod 对谁(所有者,所属组,其他)操作(+ - =)权限 文件

谁:u,g,o,a

         u  属主

         g  属组

         o  其他人

         a  所有人

操作:+,-,=

          +  是加上  在原有基础上  加上权限

           -   在原有基础上  减去权限

           =   原有权限不看   ,就是等于号后面的权限

权限:r,w,x(普通权限对root无效)

2,数字法

3,选项

-R 递归 文件夹下所有都改

4,例题

六,管理文件/目录的归属

(一)格式

chown  属主:属组  文件或文件夹

(二)不同变化

1,属主,属组都改

chown  属主:属组  文件或文件夹

2,只改属主

chown   属主  文件或文件夹

3,只改属组

chown  :属组   文件或文件夹

(三)选项

-R 递归 文件夹下所有都改

七,umask

(一)umask 含义

umask表示创建文件时的默认权限(即创建文件时不需要设置而天生的权限)

(二)umask 使用方法

linux 默认文件夹最高权限777

               文件最高权限666(自动将x权限去掉 防止文件有病毒)

umask 权限的反掩码 文件夹用777去减

                                 文件 有1忽略(x已经剪过了

(三)umask 语法

umask  0xxx        

比如0022

0022中第一位0代表特殊权限位,可以不设置

文件夹的权限是777-123就是654   就是rw-  r-x  r--

文件 有1忽略(x已经剪过了)666- 123 就是- 022 权限就是644  rw-  r--  r--

(四)修改umask

umask + 数值修改当前用户的umask

不过这样设置的umask会在用户重新登录的时候恢复原来的值,我们可以把修改的umask保存在~/.bashrc

1. #vim ~/.bashrc
2. ① 在文件末尾添加umask 044
3. ② 保存退出 
4. ③ 重新登录用户则保存成功

 

八,特殊权限

(一)设置位s (SetUid)

1,作用:

为了让一般使用者临时具有该文案所属主/组的执行权限

例如:/usr/bin/passwd在执行它的时候需要去修改/etc/passwd和/etc/shadow等文件,这些文件除了root外,其他用户都没有写权限,但是又为了能让普通用户修改自己的密码,该怎么办呢?

答:可以临时让他们具有root的权限,而这个s权限就是用来完成这个特殊任务的。s权限只能应用在二进制的可执行文件上

2,属主语法

1. [root@localhost aa]#ll /usr/bin/passwd 
2. #此处s表示当使用这个命令程序时,把当前用户当成文件的所属主
3. -rwsr-xr-x. 1 root root 27832 6月  10 2014
1. [root@localhost aa]#chmod u+s /usr/bin/vim
2. #给vim加上suid权限,代表所有用户可以使用vim打开并编辑所有文件

去除s权限,基本语法: chmod u-s /user/bin/pass

3,属组语法

chmod g+s /usr/bin/vim

4,例题

passwd 这个命令多了个s 的权限

s suid属主权限 可以打开任何文件,无视用户是谁

原理:使用命令的时候,把当前用户当做文件的主人

(二)沾滞位T(sticky bit)

1,命令

chmod

2,语法:

chmod [选项] 文件夹

3作用:

只允许文件的创建者和root用户删除文件

4,常用选项:

o+t 添加沾滞位

o-t 去掉沾滞位

举例:

公司多个部门公用一个文件夹work,为了让所有人都能访问,work文件夹赋予了777权限,用户root新建了一个文件root.txt,发现被别人删除了。我们希望root建立的文件,只有root自己可以删。

mkdir /work

touch root1.txt

chmod -R 777 /work

chmod o+t /work

发现添加粘滞位后,无法删除root1.txt文件

5,例题

多了个t(只对文件夹有用) t表示粘贴位 除了超级管理员和自己可以删,其他人不能删

(三)访问控制列表ACL

对具体的用户进行控制

1,基本命令

getfacl 命令:查看文件的ACL策略及权限

setfacl命令: 给文件针对某个用户或者某个组来增加(设置)ACL策略

-m: 修改acl策略

-x : 去掉某个用户或者某个组的权限

-b :删除所有的acl策略

-R :递归,通常用在文件夹

mask:mask定义除other和所有人(拥有者)外的最大权限

相关文章
|
4月前
|
Linux
用户组管理命令
用户组管理命令。
18 1
|
弹性计算 安全 索引
服务目录支持多账号共享
服务目录基于资源目录实现多账号共享,方便管理员在企业中的多个账号上统一配置服务目录产品。
326 0
Confluence 6 用户目录图例 - 使用 LDAP 授权,在用户第一次登陆时拷贝用户
上面的图:Confluence 连接到一个 LDAP 目录只用作授权,当用户登录 Confluence 的时候,使用 LDAP 授权并且将用户信息同步到本地路服务器上。
1146 0
Confluence 6 用户目录图例 - 使用 LDAP 授权的内部目录
上面的图:Confluence 连接 LDAP 服务器仅用做授权 https://www.cwiki.us/display/CONFLUENCEWIKI/Diagrams+of+Possible+Configuratio...
1099 0
|
数据安全/隐私保护
Confluence 6 使用 LDAP 授权连接一个内部目录 - 拷贝用户到登录
在登录时拷贝用户(Copy User on Login) 这个选项在用户尝试登录的时候将会被触发。如果这个选择框被选择的话,当用户使用 LDAP 授权的用户名和密码登录系统的时候,用户将会在内部目录自动创建,用户的信息将会在每次用户登录的时候同步过来。
1381 0
Confluence 6 管理全站权限和用户组
Confluence 的权限决定了使用你站点的用户可以在你安装的 Confluence 实例上干什么。Confluence 能够识别全全站级别站基本的权限和空间级别权限,同时也能够识别页面级别限制。
1241 0
Confluence 6 外部目录管理的用户修改用户名
如果你没有使用 Confluence 内部目录管理你的用户,你也可以对你的用户名进行修改。Confluence 不能对外部目录中的用户进行修改,但是 Confluence 可以对一些外部目录做的修改进行同步更新。
1311 0
|
Shell 数据安全/隐私保护 Linux