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 ...
随机推荐
- iOS textFiledView,label自适应高度
CGSize constraintSize; constraintSize.width = 320; constraintSize.height = MAXFLOAT; CGSize sizeFram ...
- Java Sound Capture from Microphone working code
转载自:http://ganeshtiwaridotcomdotnp.blogspot.com/2011/12/java-sound-capture-from-microphone.html Soun ...
- 用漫画的形式来讲解为什么MySQL数据库要用B+树存储索引?
小史是一个应届生,虽然学的是电子专业,但是自己业余时间看了很多互联网与编程方面的书,一心想进BAT互联网公司. 话说两个多月前,小史通过了A厂的一面,两个多月后的今天,小史终于等到了A厂的二面. 简单 ...
- js判断图片加载完成
<!DOCTYPE> <html> <head> <meta http-equiv="Content-Type" content=&quo ...
- Java基础教程:内部类
Java基础教程:内部类 内部类 内部类,是指在一个类的内部定义的类.就像下面这样: public class EnclosingClass { . . . public class Nest ...
- nnexus3 破解密码
主要步骤如下: 1.停服 2.进入OrientDB控制台:java -jar /usr/local/nexus/lib/support/nexus-orient-console.jar 3.在控制台执 ...
- 【GStreamer开发】GStreamer基础教程01——Hello World
目标 对于一个软件库来说,没有比在屏幕上打印出Hello World更近直观的第一印象了.因为我们是在和一个多媒体的framework打交道,所以我们准备播放一段视频来代替Hello World.不要 ...
- tomcat 启动闪退解决方法
当我们在windows上面进行项目的部署与启动的时候有的时候tomcat在进行启动的时候会删一下就退了,这个时候一般是里面启动的时候设置的jdk的问题下面咱们来看一下具体解决方案 编辑我们的start ...
- TypeScript tsconfig.json(TypeScript配置)
如果一个目录下存在一个tsconfig.json文件,那么意味着这个目录是TypeScript项目的根目录. tsconfig.json文件中指定了用来编译这个项目的根文件和编译选项. 一个项目可以通 ...
- MySQL基础操作(二)
MySQL基础操作 一.视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,并可以将其当作表来使用.注意:使用视图时 ...