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 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 之 用户、用户组以及权限的更多相关文章
- Linux系统用户/用户组/文件权限相关
目录一.Linux系统用户/用户组权限相关二.Linux系统文件权限相关 一.Linux系统用户/用户组权限相关 .命令:usermod 用法:usermod [-agGus] user args ‘ ...
- Linux给用户添加sudo权限
一.linux给用户添加sudo权限: 有时候,linux下面运行sudo命令,会提示类似: xxxis not in the sudoers file. This incident will be ...
- Linux之acl库的安装与使用(限制Linux某用户的访问权限)
acl库 作用:限制Linux某用户的访问权限 acl库的安装 首先github中下载acl代码: git clone https://github.com/acl-dev/acl 进入acl, 执行 ...
- Linux__用户用户组和权限
用户用户组和权限 useradd +用户名, 添加这个用户 userdel +用户名, 删除这个用户(有残留 ) userdel -r +用户名, 彻底删除这个用户 groupadd +组名 ,添加这 ...
- linux增加用户并赋予权限/用户和用户组操作命令
===============ubuntu================================================== 在Ubuntu13.10下创建一个新的用户:Step1: ...
- 数据仓库003 - 复习Linux shell命令 - 用户用户组 sudo 权限 du-sh find
一.用户用户组 [root@localhost ~]# ll /usr/sbin/user* -rwxr-x--- root root -- /usr/sbin/useradd -rwxr-x--- ...
- linux 创建用户 用户组,sudo,禁止root远程ssh登录
创建用户 useradd hanli 为新用户设置密码(在root下可以为普通用户重置密码) passwd hanli 创建用户组 groupadd op 将用户添加到用户组 usermod ...
- linux 学习-用户&群组&权限
Linux用户&群组&权限 ⦁ Linux安全性模型 1)Linux使用User和Group控制使用者对文件的存取权限 2)用户使用账号和口令登录Linux 3) ...
- Linux 创建用户 用户组 用户权限
首先 你要有个root账号 然后才能做下面几条操作: useradd username 创建用户usernamepasswd user_pwd 给已创建的用户username设置密码 关于us ...
- useradd和groupadd(Linux创建用户\用户组\设置\分配用户权限\多用户远程登录权限)的使用
前言: man useradd man groupadd info useradd info groupadd 都可以获取相关命令的用法信息. 个人比较喜欢读英文解释文档,没有你想象的那么comp ...
随机推荐
- WEUI switch 如何取值?
let id = $(this).attr("id"); let name = $(this).attr("data-name"); HTML: <div ...
- ELK之7版本Elastic Maps功能介绍
Elasticsearch 7.0 中还引入了一个新的聚合来处理地理地图图块,允许用户在地图上放大和缩小,而不会改变结果数据的形状,实现更加平滑地缩放 Elastic Maps:使用纳秒精度存储时序数 ...
- web端自动化——webdriver驱动
1.1Edge浏览器(不过,Edge浏览器只能运行于 Windows 10) Edge驱动的下载地址,复制链接http://go.microsoft.com/fwlink/?LinkId=619687 ...
- 字符串的分隔方法 split()
java中的split()的方法 string.split([separator,[limit]]) 参数 string (必选),要被分解的 String 对象或文字.该对象不会被 split 方法 ...
- java实现根据特定密钥对字符串进行加解密功能
在项目中我们经常遇到这样的场景,我们避免重要资源泄露需要将一些信息按照特定的方式(密钥)进行加密保存,然后在使用的时候再按照特定的方式(密钥)进行解密读取,以保证信息的相对安全.那么如何对信息进行加解 ...
- C++ 重载运算符返回值 和 返回引用的原因
原因是: +,-,*等返回不了引用,比如+运算符,可以如下重载(为了简单,假设A 只有int x:int y) A operator+(A a,A b) {A sum; sum.x=a.x+b.x ...
- django使用pyecharts(1)----django加入echarts
Django 中使用 pyecharts.一.普通django加入echarts Django 模板渲染 Step 0: 新建一个 Django 项目 $ django-admin startproj ...
- Mysql之rpm安装5.7版本遇见的问题
前言:环境是centos7.5的系统,用rpm方式安装mysql5.7 1.由于是centos7.5 所以需要将默认的mariadb给卸载 rpm -qa | grep mariadb 查看下是否有m ...
- 【Linux】一步一步学Linux——Linux版本(03)
目录 00. 目录 01. Linux内核版本 02. Linux内核官方网站 03. Linux发行版本 04. Linux发行版本介绍 4.1 Ubuntu 4.2 RedHat 4.3 Debi ...
- Python开发【第一章】:简介和入门
Python简介 Python的创始人为Guido van Rossum.1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为ABC 语言的一种继承. ...