Linux 之 用户、用户组以及权限

拥有者(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 668 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 888 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 参数 文件名

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

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

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

  

    

时间: 2024-10-09 22:47:11

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

Linux之用户及文件权限管理

Linux之用户及文件权限管理 前言:Linux 是一个多用户的操作系统:Linux哲学思想之一-"一切皆文件".说明在学习Linux过程中,用户及文件权限的管理是非常重要滴.本文主要是引用了CentOs/RedHat 7.1的命令. 一.用户.组管理 1).用户.组类型: 超级用户(管理员):root用户具有一切权限,只有在进行系统维护(如创建用户.分配权限)时用到:由于root用户权限过大,为了避免管理员的误操作导致不可逆的后果,所以在非必要的情况下不用root用户登录. 普通用户

Linux给用户添加sudo权限

linux给用户添加sudo权限: 有时候,linux下面运行sudo命令,会提示类似: xxxis not in the sudoers file.  This incident will be reported. 这里,xxx是用户名称,然后导致无法执行sudo命令,这时候,如下解决: 进入超级用户模式.也就是输入" su -",系统会让你输入超级用户密码,输入密码后就进入了超级用户模式.(当然,你也可以直接用root用) 添加文件的写权限.也就是输入命令" chmod

linux给用户加入sudo权限

linux给用户加入sudo权限: 有时候,linux以下执行sudo命令,会提示类似: xxxis not in the sudoers file.  This incident will be reported. 这里,xxx是username称.然后导致无法运行sudo命令,这时候,例如以下解决: 进入超级用户模式. 也就是输入"su -",系统会让你输入超级用户password,输入password后就进入了超级用户模式.(当然.你也能够直接用root用) 加入文件的写权限.也

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

acl库 作用:限制Linux某用户的访问权限 acl库的安装 首先github中下载acl代码: git clone https://github.com/acl-dev/acl 进入acl, 执行make cd acl make 注意: [因为acl是由c/c++编写的,需要提前安装好gcc, g++] 安装到用户根目录: make packinstall 一般到这儿就能编译安装成功了,在/user/include/ 目录下会有acl-lib目录. 如果是centos系统,可直接安装 yum

linux给用户添加sudo权限:

root用户对于linux就是万能的天神,任何文件都能进入,任何文件都能修改,对我们这些菜鸟实在是危险啊 所以有些时候就需要给用户sudo权限 进入超级用户模式.也就是输入"su -",系统会让你输入超级用户密码,输入密码后就进入了超级用户模式.(当然,你也可以直接用root用)添加用户的sudo权限就是在/etc/sudoers文件中添加ouyangjun ALL=(ALL) ALL 这样的一句话此文件默认所有者只有r的权限,所以在修改之前需要添加W的权限chmod u+w /etc

Linux 中的用户组与权限管理

Linux中的用户以令牌token,identity为标识符号,每一个用户都拥有一个 Username和UID,root用户比较特殊,他的的UID为0.普通用户的UID由系统在1-60000范围内自动分配,系统用户的UID默认取值范围为1-499,Centos7之后范围扩大至1-999,登录用户的UID取值范围为500-60000,Centos7后调整为1 000-60000. 拥有相同权限的用户可以组成一个组,用户必须属于一个且只有一个主组,且组名同用户名,且仅包含一个用户.一个用户可以属于零

Linux创建用户配置sudo权限

以root用户分别登录各ROMA服务器,执行下述操作. 创建用户并设置用户的密码. 执行如下命令创建用户组. # groupadd admin 执行如下命令,创建sysomc用户. # useradd -g admin -d /home/sysomc -s /bin/bash -m sysomc 参数说明: -d:指定用户的家目录. -g:指定用户归属组. -s:指定用户shell. -m 创建家目录. 设置sysomc用户的密码. # passwd sysomc 说明: 各个ROMA服务器的s

Linux增加用户以及配置权限(1)

1.修改密码 $ passwd #修改当前用户的密码 $ passwd deploy #修改用户deploy的密码 2.新增用户 $ adduser deploy $ useradd -d /home/bill -s /bin/bash -m bill usermod -a -G admin bill #将bill加入admin组 新增用户后设置密码 $ passwd deploy 3.给用户增加root权限 $ visudo #打开设置文件 /etc/sudoers 找到 root ALL=(

Linux之用户管理与权限控制(上)

早期Linux系统设计为了能够实现多用户.多进程高效的利用服务器资源,在此种情况下,为了能够保证用户与用户之间的文件不被随意的访问及修改.删除等操作,用户.组的管理能在某种程序上实现管理用户或批量管理用户.由于Linux的设计哲学思想『一切皆文件』,用户对设备的访问就是对文件的访问. 一.用户与组 Linux下有三类用户 1.超级用户: root 具有操作系统的一切权限 UID 值为0 2.普通用户: 普通用户具有操作系统有限的权限, UID值 500+ 3.伪用户: 是为了方便系统管理, 满足

linux中用户/用户组总结

1:什么是用户?什么是用户组? 用户:就是系统使用者的身份 用户组:具有相同特征的用户的集合,共享一定的权力 2:用户和用户组的类型? 用户: a.管理员 root  :具有使用系统所有权限的用户,其UID 为0. b.普通用户  : 即一般用户,其使用系统的权限受限,其UID为1000以后. c.系统用户 :保障系统运行的用户,一般不提供密码登录系统,其UID为1-999之间. 在/etc/login.defs中设置 用户组: a.普通用户组:可以加入多个用户 b.系统组:一般加入一些系统用户