Linux用户(组)及权限

Linux操作系统是一个多用户操作系统,它允许多用户同时登陆到系统上并使用资源。系统会根据账户来区分每个用户的文件,进程,任务和工作环境,使得每个用户工作都不受干扰

 

Linux如何保证多个不同的用户对同个文件进行操作时有不同的权限控制呢?

1)Linux使用User和Group来控制使用者对文件的访问权限;

2)不同用户是使用不同的账号/密码进行登录到Linux;

3)每个文件都有owner,并且每个owner都归属于某个Group;

4)每个程序/文件都有自己的owner和group;

===> 使得Linux的安全性才有严格的保障

 

 

用户:

1)每个用户都有一个唯一的UserID,唯一性标识符;

2)User的信息存储在 /etc/passwd中

root:x:0:0:root:/root:/bin/bash

    每个属性之间采用:分隔

    root:登录Linux的用户名

    x:该用户需要使用密码才能登录, 如果为空表示不需要密码就能登录

    0:数字,表示的是uid, 0到499是系统预留的,  如果是我们新增的User,那么500开始计数的

    0:数字,表示的是gid

    root:是账户的描述信息

    /root:该用户的home路径, 如果是我们自己添加的用户呢?它的home是哪里呢?

    /bin/bash:登录后执行的程序

3)/etc/shadow:存储的是用户对应的密码信息

root:$1$puUB8Y.1$5nURxhc.1a9JhdfZwgvKB0:15970:0:99999:7:::

    root:账号的名称,和/etc/passwd中的用户名是一一对应的

    $1$puUB8Y.1$5nURxhc.1a9JhdfZwgvKB0:密码,不是明文的,经过MD5加密的

    15970:最后一次修改密码的时间

    0:数字,密码不能被修改的天数

    99999:数字,密码多少天后需要强制修改

    7:数字,密码需要被修改之前要提醒的天数

4)每个User都有一个对应的home目录

    root:/root

    xxxx:home在哪里呢??????(/home/xxxx)

5)root用户:超级管理员账号,具有非常高的权限

 

用户组:

1)每个用户都属于一个Group,具有一个唯一的标识符

2)Group信息存储在/etc/group下

root:x:0:

    root:组的名称

    x:该组需要使用密码才能登录

    0:数字,就是该组的id,gid

3)系统会为每个用户关联一个和User同名的Group、User也可以被加入到其他组,一个User可以对应多个组;

    user:root   group:root

 

保存用户组密码的文件:/etc/gshadow

用户配置文件:/etc/default/useradd

 

 

 

用户/组参考文章:

http://blog.51yip.com/linux/1137.html

https://wiki.archlinux.org/index.php/Users_and_groups_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)

 

 

添加用户: useradd kgc

cat /etc/passwd

kgc:x:500:500::/home/kgc:/bin/bash

新增的kgc用户对应的根目录是/home/kgc    /home/<username>

[root@kgc ~]# su - kgc    //用户切换,从root切换到kgc用户,是不需要密码的

[kgc@kgc ~]$ pwd

/home/kgc

 

但是kgc用户切换到kgc用户自己,却提示我们需要输入密码,但是我们却不知道密码。怎么办?

[kgc@kgc ~]$ su - kgc

Password:

 

修改kgc用户的密码:passwd kgc

 

修改用户名:usermod -l new_name old_name

usermod -l kgc_linux kgc

 

cat /etc/passwd

kgc_linux:x:500:500::/home/kgc:/bin/bash

对用户进行名称修改时,用户名是发生了变化,但是home目录的文件夹名称并没有发生改名/home/kgc

 

删除用户: userdel -r kgc_linux

-r:在删除该用户时一并删除该用户对应的home文件夹

 

 

用户组添加: groupadd g1

用户组修改: groupmod -n newg1 g1

用户组删除: groupdel newg1

 

作业:如何为用户设置其他的组?

 

 

r: 读权限(read)可以读取文件/目录的内容 ls

w: 写权限(write)可以写、删除文件/目录

x: 执行权限(execute)可以执行可执行文件

没有权限: -

 

drwxr-xr-x  2 root root 4096 Oct 29 02:12 Desktop

rwx

r-x

r-x

第一位:文件类型   d是目录  -是文件   l是链接

第2-4位:所属用户的权限, 用u(user)表示

第5-7位:所属组的权限,用g(group)表示

第8-10位:其他用户的权限,用o(other)表示

第2-10位:表示所有的权限,用a(all)表示

 

d rwx -w- ---

目录、owner权限为可读写执行、group权限为可写、others没有任何权限

 

- rwx rwx r-x

文件、owner权限为可读写执行、group权限为可读写执行、others可读可执行

 

 

字符表示法:chmod [-R] mode  file

mode有哪些:

who             operator   permission

u(owner)          +             r

g(group)          -             w

o(others)         =             x

a(ugo)

 

 

去掉owner的写权限:chmod u-w perm

为group添加写权限:chmod g+w perm

为owner和group添加写权限: chmod ug+w perm

ugo去掉执行权限: chmodugo-x perm

为文件夹添加执行权限: chmod a+x perm

others改成写权限:chmod o=w perm

将perm文件夹的所有权限去掉:  chmod a= perm

    虽然perm目录的权限都被我们删除了,但是并不影响该目录下的子目录或者文件的权限

给perm文件夹下的所有文件都添加rwx权限: chmod -R a+rwx perm(-R是递归操作)

 

 

数字表示法: r用4表示、w用2表示、x用1表示、没有权限用0表示

owner:   rwx: 4 + 2 + 1 = 7

group:   r-x: 4 + 0 + 1 = 5

others:  r--: 4 + 0 + 0 = 4

rwxr-xr-- = 754

 

owner设置r-x: r=4  w=0  x=1 5   chmod 577 perm

ugo设置r-x: chmod 555 perm       递归设置:chmod -R 555 perm

 




作业:============================================》

创建一个目录test,并在test目录下创建file1.txt文件、file3.txt文件和file2.txt文件,为目录test增加所有权限,为file1.txt增加用户的执行权限,为file2.txt删除组的所有权限,将文件file3.txt的用户权限改为读写执行,组权限改为读写,其他用户权限改为读。

参考答案:

第1步:mkdir test (创建test文件夹)

第2步:cd test (进入test文件夹)

第3步:touch file1.txt (创建文件file1.txt)

第4步:touch file1.txt (创建文件file2.txt)

第5步:touch file3.txt (创建文件file2.txt)

第6步:chmod a=rwx test或chmod 777 test(为目录test增加所有权限)

第7步:cd test (进入test)

第8步:chmod u+x file1.txt (为文件file1.txt增加执行权限)

第9步:chmod g= file2.txt (为文件file2.txt删除组的所有权限)

第10步:chmod u=rwx file3.txt (将文件file3.txt的用户权限改为读写执行)

第11步:chmod g=rw file3.txt (将文件file3.txt的组权限改为读写权限)

第12步:chmod o=r file3.txt (将文件file3.txt的其他用户权限改为写)

(第10到12步可以用数字表示法:chmod 764 file3.txt)

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值