拥有者(user),拥有组(group),其他人(other)

由于Linux是一个多人多任务的系统,因此经常会出现同一台机器同时有多个人进行操作,为了考虑每个人的隐私权以及每个人喜好的工作环境,所以文件的权限归属就至关重要。

为了保障系统的安全性和文件的隐私性,一个文件针对不同权限的账户有着不同的权限,如下图

  如图所示,文件权限是由一个字符串所表示,其所代表的含义为

  其中,文档类型有如下表示方法:  

    d - 目录,例如上表档名为『.gconf』的那一行;
    - - 文档,例如上表档名为『install.log』那一行;
    l  - 连结档(link file);
    b - 装置文件里面的可供储存的接口设备(可随机存取装置);
    c - 装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。

  权限由rwx三个字幕表示,分别表示为可读、可写、可执行,如果没有该权限,则用“ - ”表示,对于目录来说,必须有x权限,否则无法读取目录内容

  如果文件名前面有“ . ”,则表示这个文档或目录是隐藏的

用户和用户组

  /etc/group  存储当前系统中的用户组信息

  注意:  

    1.当该组内只有一个用户,并且用户名和组名相同时,在组列表中,包含用户一列可以为空

    2.系统中root分组的组编号一定为0

    3.组号1~499为系统预留的组编号,一般是预留给系统安装的软件或者服务的编号,越早安装的软件或者服务的组编号约早。用户手动创建的用户组编号从500开始

    4.组密码占位符,无一例外,全部用x表示

  /etc/gshadow  存储当前系统中用户组的密码信息

  注意:

    1.如果组密码处为“*” “!”或者为空时候,则该组没有密码

    2.如果组管理者为空,则表示该组内所有成员都可以管理该组

  /ect/passwd  存储当前系统中所有的用户信息

  注意:

    在linux中,超级管理员root的用户编号一定为0

  /ect/shadow  存储当前系统中所有用户的密码信息

  注意:

    密码是一个单向加密过的字符串

  创建用户:

useradd xxx    //创建一个名为xxx的用户

  该命令执行后   

    1.会在/etc/passwd文件中添加xxx用户的信息

    2.会在/etc/group文件中添加一个名为xxx的用户组信息

passwd xxx    //为xxx用户设置密码

 useradd可以使用的参数包含

-d    设置该用户的home目录
例如:useradd -d /home/helloworld hello //新建hello用户,并且将其home目录设置为/home/helloworld -u 设置其userid
例如:useradd -u hello //新建一个hello用户,将他的id设置为668 -g 设置其主组
例如:useradd -g root hello //新建一个hello用户,并将其假如root组 -m 生成home目录的文件夹
例如:useradd -m hello //新建一个hello用户,并且在默认位置申城一个hello文件夹(/home/hello),并且将/etc/skel下的文件复制到该目录下

  

  修改用户信息

  

usermod 参数 用户名

  该命令可以使用的参数包括

-l    //修改新用户名
例如:usermod -l helloworld hello 将hello用户名改为helloworld,但其home目录不改变 -u //修改用户的userid
例如:usermod -u hello 将hello的userid改为888 -d //修改用户的home目录 -g //修改用户的主用户组 -L //锁定用户,使其不能登录 -U //解除锁定

  删除用户

userdel 参数 用户名

  可使用参数

-r 删除用户的同时将其home目录也删掉

  

  创建用户组  

groupadd 组名

  修改用户组

groupmod -n 新组名 旧组名    //修改组名

groupmod -g 新组id    旧组id    修改组ID

  删除用户组

groupdel 组名

改变文档(目录)的所有者(所有组)

  改变文档所有者 - chown命令(change owner),可使用参数 -R使得其子目录也同时修改

  改编文档所有组 - chgrp命令 (change group),可使用参数 -R使得其子目录也同时修改

  也可以使用

chown username:group 文件名 

  

  来同时修改文档或目录的拥有者和所在组

修改文档的执行权限

  chmod命令

chmod 参数 文件名

可以使用如下方法直接设置文件的权限

.直接设置代表权限的数字
chmod (对应权限的数字) 文件名
.给文件添加或减去某些权限
chmod u+w 文件名 给user用户加上w权限
chmod g-r 文件名 将group中的r权限去掉
chmod a+x 文件名 给user、group、other全部加上x权限

整理自慕课网(www.imooc.com)

  

    

Linux 之 用户、用户组以及权限的更多相关文章

  1. Linux系统用户/用户组/文件权限相关

    目录一.Linux系统用户/用户组权限相关二.Linux系统文件权限相关 一.Linux系统用户/用户组权限相关 .命令:usermod 用法:usermod [-agGus] user args ‘ ...

  2. Linux给用户添加sudo权限

    一.linux给用户添加sudo权限: 有时候,linux下面运行sudo命令,会提示类似: xxxis not in the sudoers file.  This incident will be ...

  3. Linux之acl库的安装与使用(限制Linux某用户的访问权限)

    acl库 作用:限制Linux某用户的访问权限 acl库的安装 首先github中下载acl代码: git clone https://github.com/acl-dev/acl 进入acl, 执行 ...

  4. Linux__用户用户组和权限

    用户用户组和权限 useradd +用户名, 添加这个用户 userdel +用户名, 删除这个用户(有残留 ) userdel -r +用户名, 彻底删除这个用户 groupadd +组名 ,添加这 ...

  5. linux增加用户并赋予权限/用户和用户组操作命令

    ===============ubuntu================================================== 在Ubuntu13.10下创建一个新的用户:Step1: ...

  6. 数据仓库003 - 复习Linux shell命令 - 用户用户组 sudo 权限 du-sh find 

    一.用户用户组 [root@localhost ~]# ll /usr/sbin/user* -rwxr-x--- root root -- /usr/sbin/useradd -rwxr-x--- ...

  7. linux 创建用户 用户组,sudo,禁止root远程ssh登录

    创建用户  useradd hanli 为新用户设置密码(在root下可以为普通用户重置密码)  passwd hanli 创建用户组  groupadd  op 将用户添加到用户组  usermod ...

  8. linux 学习-用户&群组&权限

    Linux用户&群组&权限  ⦁ Linux安全性模型   1)Linux使用User和Group控制使用者对文件的存取权限   2)用户使用账号和口令登录Linux   3) ...

  9. Linux 创建用户 用户组 用户权限

    首先 你要有个root账号 然后才能做下面几条操作: useradd username 创建用户usernamepasswd user_pwd     给已创建的用户username设置密码 关于us ...

  10. useradd和groupadd(Linux创建用户\用户组\设置\分配用户权限\多用户远程登录权限)的使用

    前言: man useradd man  groupadd info useradd info  groupadd 都可以获取相关命令的用法信息. 个人比较喜欢读英文解释文档,没有你想象的那么comp ...

随机推荐

  1. matlab基本数据结构struct

    一起来学演化计算-matlab基本数据结构struct 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献 http://blog.sina.com.cn/s/blog_46865140 ...

  2. Python - Django - ORM 查询方法

    models.py: from django.db import models class Human(models.Model): id = models.AutoField(primary_key ...

  3. 定时显示提示信息(TToolTip)

    { 修改者:ghs 日期:20071218 功能:在原版本的基础上增加. RegisterControl:注册需要提示的控件. BeginHelp:设置光标状态为帮助crHelp: 鼠标弹起后,显示注 ...

  4. mongodb多个条件查询in,日期查询,嵌套查询,统计集合总数等常用实例

    1. 多个条件查询in in db.inventory.find( { qty: { $in: [ 5, 15 ] } } ) 2. 日期查询 db.books.find({}) 查询时间大于6-,结 ...

  5. Swift4.0复习函数

    1.函数的定义与调用: 一个函数定义的基本语法如以下代码所示: func function_name (param1: Int, param2: Float, param3: Double) -> ...

  6. 【Leetcode_easy】961. N-Repeated Element in Size 2N Array

    problem 961. N-Repeated Element in Size 2N Array solution: class Solution { public: int repeatedNTim ...

  7. 10点睛Spring MVC4.1-全局异常处理

    10.1 全局异常处理 使用@ControllerAdvice注解来实现全局异常处理; 使用@ControllerAdvice的属性缩小处理范围 10.2 演示 演示控制器 package com.w ...

  8. 深度技术W10系统中绑定MAC地址和IP地址的设置技巧

    深度技术W10系统中绑定MAC地址和IP地址的设置技巧分享给大家,感兴趣的用户,请一起来了解下,以备以后作参考,具体如下:1.点击“开始——搜索”,输入CMD命令,然后在CMD上右键选择以管理员身份运 ...

  9. k8s SLUB: Unable to allocate memory on node -1 错误

    Try to Fix Two Linux Kernel Bugs While Testing TiDB Operator in K8sWed, May 1, 2019 Wenbo Zhang Auth ...

  10. Deepin安装JavaFX

    1.环境:JDK1.8(目前国内好用的版本里比较流行的是这个版本),deepin 15.11(linux内核是5.2.9,安装了大黄蜂驱动): 2.由于是用的JDK1.8,所以没法用最新的openjf ...