<>用户管理和文件权限

添加用户

语法:

useradd 用户名

参数作用
-d指定用户账户家目录(默认是为/home/“创建用户名”)
-M不创建家目录
-e指定账户过期日期
-g指定账户的主组群(必须已经存在)
-G指定账户所属的附属组,各组用逗号分隔(必须已经存在)
-n不创建与用户账户同名的私有用户组
-s指定用户账户登录时使用的shell解释器
-u指定用户账户的默认UID 案例1:添加一个用户Milan,默认该用户的家目录在/home/Milan useradd Milan
案例2:添加一个用户zs,指定该用户的家目录的/home/myZs useradd -d /home/Zs zs
指定、修改密码

语法:

passwd 用户名

注意点:如果没有指定用户名,则是给当前用户修改密码
案例1:给ls指定密码为:123456 passwd ls 案例2:给zs指定密码为:123456 echo "123456" | passwd
--stdin zs
参数作用
-l锁定用户,禁止其登录
-u解除锁定,允许用户登录
-S显示用户的密码是否被锁定,以及密码所采用的加密算法名称
-d清空账户密码,不能登录系统,除非重新设置密码
--stidn允许通过标准输入修改用户密码,如``"echo “123456”
删除用户

语法:

userdel 用户名

'"-r"为可选参数,若使用该参数,则在删除该账户的同时一并删除该账户对应的主目录,"-r"参数一般搭配"-f"一起使用,形成"-rf"

如:userdel -rf zs
案例1:删除用户Milan,但是要保留家目录:userdel milan; useradd milan 案例2:删除用户以及用户主目录,比如:userdel
-rf zs; useradd -d /home/myZs zs userdel -rf zs
查询用户信息指令

语法:
id 用户名 案例1: id root //显示出root用户的信息 当用户不存在时,返回无此用户: no such user
切换用户
语法: su - 用户名 //注意加入"-"是代切换用户时进入该用户的家进行工作 在操作Linux中,如果当前用户的权限不够,可以通过 su
-指令,高权限用户,切换到底权限用户,不需要输入密码
查看当前用户、登录用户
语法: whoami/who am i
注意是:显示第一次登录系统用户的信息,如用haikang登录进入系统,显示是haikang信息,当从haikang用户切换到root用户时,显示还haikang的信息
注意who与whoami(who am i)的区别: whoami(或who am i)是显示当前使用系统的用户 who 是显示最初登录的用户
新增组
语法: groupadd 组名
删除组
语法: groupdel 组名 案例演示 1.增加用户时直接加上组 指定: useradd -g 用户组 用户名
3.增加一个用户haikang,直接将放到wudang组中 groupadd wudang useradd -g wudang haikang
修改用户组
语法: usermod -g 用户组 用户名 案例: 创建一个组mojiao 把haikang放入到mojiao组中 指令:groupadd mojiao
usermod -g mojiao haikang
用户和组相关文件
/etc/passwd /etc/shadow /etc/group
<>Linux组基本介绍

在Linux中的每个用户必须属性一个组,不能独立于组外。在Linux中每个文件有所有者,所有组,其它组的概念。

意思就是:一个用户必须有一个所属组,一个文件必须有所有者(一般就是谁创建此文件),所有组(创建者所在组),其它组(创建者所在组除外的组)

* 所有者
* 所有组
* 其它组
* 改变用户所在的组
文件、目录所有者

一般为文件的创建者,谁创建了该文件,就自然的成为该文件的所有者。

查看文件的所有者
语法: ls -lahl ls -l ll

出现两个连接数的因为是文件夹中默认有两个连接点分别为:. ..

如果是普通的文件连接是1,默认只有:. ;其实都是节点。

修改文件所有者:修改所有者是:chown
指令: chown 用户名 文件名 案例: 要求:使用root创建一个文件为apple.txt,然后将其所有者修改成haikang touch
apple.txt chown haikang apple.txt
文件,目录所在组:修改组是 chgrp

当某个用户创建一个文件后,这个文件的所在组就是该用户所在的组
查看文件,目录所在组 指令: ls -ahl ls -l ll 应用实例,使用haikang用户创建一个文件ok.txt,看看该文件属性哪个组?
haikang ok.txt 修改文件所在的组 指令: chgrp 组名 文件名 应用实例:
使用root用户创建文件root.txt,看看当前这个文件属性哪个组,然后将这个文件的所在组,修改到fruit组 指令: 1.groupadd fruit
2.touch root.txt 3.ll (或ls -l 或 ls -ahl) 4.chgrp fruit root.txt
其它组

除了文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组

改变用户所在组

在添加用户时,可以指定将该用户添加到哪个组中,同样的用root管理权限可以改变某个用户所在组。

改变用户所在组(前提该组必须存在)
1.usermod -g 新组名 用户名 2.usermod -d 目录名 用户名
改变该用户登陆的初始目录。特别说明是:用户需要有进入到新目录的权限,否则修改也登录不入 应用实例:
将haikang这个用户从原来所在组,修改到myHaiKang组 usermod -g myHaiKang haikang
<>权限的基本介绍
ls -l 中显示的内容如下: drwxr-xr-x. 3 root fruit 16 Nov 24 06:10 AA 0-9位说明(总共10位)
1.第0位确定文件类型(d - l c b) l是链接,相当于Windows的快捷方式(就是硬链接和软链接) -是普通文件
d是目录,相当Windows中文件夹 c是字符设备文件,鼠标,键盘 b是块设备,比如硬盘
2.第1-3位确定所有者(该文件的所有者)拥有该文件的权限。---User 3.第4-6位确定所属组(同用户组的)拥有该文件的权限。---Group
4.第7-9位确定其他用户拥有该文件的权限。Other
rwx权限详解(重点)
rwx作用到文件 1.[r]代表可读(read):可以读取,查看
2.[w]代表可写(write):可能修改,但是不代表可以删除该文件,删除该文件必须是执有者 3.[x]代表可以执行(execute):可以被执行
rwx作用文件夹 1.[r]:代表可读(read):可以读取,ls查看目录内容
2.[w]:代表可写(write):可以修改,对目录内的文件(创建+删除+重命名)目录 3.[x]:代表可执行(execute):可以进入该目录
drwxr-xr-x. 3 root fruit 16 Nov 24 06:10 AA 可用数字表示为:r=4,w=2,x=1 因为rwx=4+3+1=7
其它说明: l 文件:硬连接数或目录:子目录数 root 用户 fruit 组 16 文件大小(字节) Nov 24 03:10 AA 文件名
修改权限

通过chmod指令,可以修改文件或者目录的权限

chmod [-R] ijk 文件名 (这里的ijk表示数字)

如果对文件夹进行操作需要加入"-R"参数进行递归更改

第一种方式:+ - = 变更权限

u:所有者 g:所有者 o:其他人 a:所有人(u,g,o的总和)
案例: 1: chmod u=rwx,g=rx,o=x 文件,目录名 2: chmod o+w 文件,目录名 3. chmod a-x 文件、目录名
案例演示: 1:给ZS文件的所有者读写执行的权限,给所在组读执行权限,给其它读执行权限 chmod u=rwx,g=rx,o=x zs chmod 751
zs 2.给ZS文件的所有者除去执行的权限,增加组写的权限 chmod u-x,o+w zs 3.给ZS文件的所有用户添加读的权限 chmod a+r zs
第二种方式:通过数字变更权限

r=4 w=2 x=1 rwx=7

chmod u=rwx g=rx o=x 文件目录名

相当于 chmod 751
案例演示: 要求:将/home/abc.txt文件的权限修改rwxr-xr-x,使用给数字的方式实现: chmod 755 /home/abc.txt
修改文件(文件夹或目录)所有者

chown命令用来更改文件的所属主和所属组,该命令操作的语法的格式为:

语法:

chown [-R] 账户名[:组名] 文件名

如果文件名是目录,并要求同时更改目录下的所有文件,则需要加入"-R"参数进行递归更改,而chgrp方式修改则不需要加入参数
案例演示: 1.请将/home/abc.txt文件的所有者修改成haikang用户 chown haikang /home/abc.txt
2.请将/home/test目录下所有文件和目录的所有者都haikang用户 chown -R haikang /home/test
修改文件,目录所在组

语法:

chgrp [-R] 组名 文件名
请将/home/abc.txt文件的所在组修改成shaolin(少林) groupadd shaolin chgrp shaolin abc.txt
请将/home/test目录下所有的文件和目录的所有组都修改成shaolin chgrp -R shaolin /home/test
指令总结
添加用户:useradd 用户名

修改密码:passwd 用户名

删除用户:userdel [-rf] 用户名

查询用户信息:id 用户名

切换用户:su - 用户名

查询当前用户登录信息:who am i / whoami

新增组:groupadd [-g(修改用户组的GID)/-n(修改用户组的组名)]

删除组:groupdel 组名

修改用户组:groupmod -g 用户组(组名) 用户名

查看文件的所有者:ls -lahl ls -l ll

修改文件所有者,修改文件所在组:chown [-R] 账户名[:组名] 文件名

chown可以用来修改所属主和所属组

修改文件所属组:chgrp [-R] 组名 文件名

修改文件权限(重点):chmod [-R] ijk 文件名 (这是ijk是数字)

技术
©2019-2020 Toolsou All rights reserved,
在算法研究过程中如何进行算法创新七大排序算法(java代码)MYSQL中的索引与事务———javaweb(8)(面试必考)2022蓝桥杯JavaB组省赛试题网络安全-wifi攻防网络层协议——ICMP协议MySQL查询表中指定条件下的最新记录JavaSE笔记(一)Java基础语法mysql 查询条件之外的数据_mysql 查询符合条件的数据qt使用数据库sqlite