linux 用户、群组及权限操作
来源:互联网 发布:51淘宝小号是真的吗 编辑:程序博客网 时间:2024/06/04 08:12
- 在linux中,一切皆文件,当我们创建一个用户时,其实是创建了以下文件:
/etc/passwd 用户配置信息
/etc/shadow 用户密码
/etc/group 组信息
/etc/gshadow 组密码
/home 家目录/var/spool/email/ 用户邮箱
- /opt/passwd 用户配置信息
以:为分隔符,包含7个信息,分别是
用户名:
密码占位符:x,密码在/etc/shadow中;若没有密码,空着
uid:用户id 相当员工的工号
gid:组id 相当于员工的部门代号
comments:用户描述信息,写啥都行
用户家目录:root用户为 /root ;普通用户为/home/用户名
用户登录shell:执行bin/bash相当于登录一个用户终端(执行了几次就需要几次退出);/sbin/nologin 不能登录shell
新增用户的配置信息在passwd文件的最下面,可以用tail -1 命令来查看
- /etc/shadow 用户密码
以:为分隔符,包含9个信息,分别是用户名:加密的密码(如果没有密码是!):上次修改密码时间:0最短密码期限:99999最长密码期限:7密码警告期限:密码非活动期限:账号到期时间:保留域
- /etc/group 组信息
以:为分隔符,包含4个信息:
组名:相当于部门名称
组密码占位符X:组密码信息在/etc/gshadow中,一般不设置组密码,但可以通过gpasswd 组名 命令来设置
gid:组id 相当于部门代号
组成员:可通过vim /etc/group 命令往组内加成员
- /etc/gshadow 组密码
以:为分隔符,包含4个信息 组名:组密码(没有就!):组管理者:组成员
- /home 家目录
并不是空的,隐藏的用户初始配置文件 可以用 ls -a 命令查看。手动新建用户时也可以在/etc/skel/下拷贝隐藏文件。
- 我们可以通过在以上6个文件中添加新的用户信息,来进行新增用户的操作。删除用户时,通过userdel -r 命令可以删除用户及其残留文件。但是对于手动新增的用户,由于该用户的家目录和mail下的用户名文件是复制的的其他用户的,所以其属主、属组信息也是其他用户的,需要先更改其属主、属组为该用户,才能通过这个命令顺利删除。
- id 用户名 命令可以查看用户的属主和属组信息:
上图的前两个为用户的uid和gid,‘组=...' 那一串是该用户首先在自己的组,也附属于其他组,如wheel、 test、 sbb
- 权限信息
如上图,a.txt的权限信息:
第一位的 - :表示普通文件(d表示目录文件,b表示块文件,p表示管道文件,l表示软链接,相当于windows的快捷方式)
rw- r-- r-- :三位一组,分别表示属主、属组、其他用户对a.txt的权限, r可读,w可写,x可执行 -无权限
1: 文件的硬链接数; root root 分别是该文件的属主和属组;87为大小,单位是byte字节(也可以通过 ll -h 命令来更直观的显示文件大小;再后面是文件创建日期和文件名
- chown 属主:属组 /路径 命令可以更改文件或文件夹的属主、属组信息 -R 可以递归的修改
如上图,已更改a.txt的属主和属组信息为ayhan
- chmod u=rwx,g=rwx,o=rwx /oldboy/a.txt 命令修改权限rwx-权限:
通过 -R 递归的修改:
如上图,-R 递归更改该目录下的所有文件权限信息。更改权限也可以通过数值这种更简单的方式:r=4, w=2, x=1 通过数值相加来赋予权限,如上图中774,(7=4+2+1),于是为属主和属组添加了可读、可写、可执行的权限 ;4,为其它用户添加了可读权限。另外,也可以通过u-w, g-w,o+x 这样加减的方式来修改权限
- useradd 用户名 -u -g -c -d -s -G命令 新建用户时指定其uid、gid、描述信息、家目录、shell、附加组:
注意,用这种方式新建用户时,-g指定的组id必须是已经存在的,否则新建不成功
- groupmod 组名 -n 新组名 命令 更改组名
- groupadd 组名 -g 数值 命令 新建组,并指定gid
- groupdel 组名 删除组
- usermod 用户名 -u -g -c -d -s 命令更改用户信息,用法同上。我们也可以通过 -G 组名来把该用户加入另一个组,但是多次执行的话是覆盖的方式,即新加入的附加组信息会覆盖之前的附加组信息,如果想加入多个附加组,可以通过-aG 命令(append)。另外,更改了属组信息后,必须重新登录用户才能更新属组并获取属组的权限。
如上图,再次将tester加入附加组1000,覆盖了之前加的的组1024. 下图中用 -aG 的方式,就可以追加组。
- 文件的权限 & 目录的权限
文件的可读(R):读文件内容
文件的可写(W):修改内容
文件的可执行(X):把文件当程序执行
目录的可读(R):可浏览该目录下的文件名/子文件名
目录的可写(W):可在该目录下新建删除重命名
目录的可执行(X):可以cd到该目录下
root用户不受权限的限制,只要一个文件的属主属组或其他人中的任何一个拥有X权限,root都可以执行。如果都没权限,root用户可以加权限。
- 新建文件的过程是先CD进去,光对目录有W权限是不行的,所有要同时拥有WX权限,才能在目录下新建文件。另外,虽然文件建好了,但是没有R权限是看不到目录下建的文件名
- 假设/test目录对others的权限为RWX,/test目录下有a.txt文件,对others的权限为R--,某用户属于others,用vim编辑器 vim /test/a.txt 试图修改并保存a.txt,表面上成了,其实并没有修改a.txt 。因为该用户对/test目录有W权限,vim编辑器工作于内存中,编辑完内容,执行保存时,相当于在/test目录下新建了a.txt,并把内存中编辑的内容写入了新建的这个文档。而新建的a.txt把之前的a.txt覆盖了。
- . 文件 命令(. 后面加空格,再跟文件) 把文件当命令来执行(前提是要有R权限才行) 可以用来测试X权限
- .sh 命令(或者sh) 解释执行文件内容,效果和上面的 . 一样。工作方式是读一行,执行一行(跟Python一样),因此和X权限无关,只要有R权限就行
- linux 用户、群组及权限操作
- linux用户及组权限
- Linux用户及权限
- linux用户及权限
- Linux 用户操作权限详解
- Linux用户及权限基础
- linux用户及权限管理
- linux-用户及权限管理
- Linux 权限及用户管理
- Linux用户及权限管理
- linux用户及权限管理
- Linux用户、组、权限
- linux 用户、组 相关操作及说明
- Linux成长之路(一)——基本概念及操作、用户及文件权限管理
- Linux成长之路(一)——基本概念及操作、用户及文件权限管理
- linux 文件/目录权限、用户、组相关操作
- MySQL用户、权限及密码操作
- oracle数据库用户及权限操作介绍
- C++学习(16)
- Deep Learning 环境配置 1:ubuntu+windows 双系统安装
- PHP7+Apache2.4+MySql 环境搭建-最新(博主亲测)
- RESTful API 设计入门
- httpclient参数设置,实现,风险
- linux 用户、群组及权限操作
- 如何修改windows服务器最大的tcp连接数
- 部署Maven项目到tomcat报错:java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderLi
- c# Drectsound的应用
- Android中实现状态圆(with Fragment)
- 深入浅出UML类图
- Android开发的入门教材?
- startActivityForResult
- 面向对象之封装