Linux中的用户与用户组

Linux中的用户与用户组:

概念:Linux中角色

1.当前用户

2.当前用户组

3.其他用户组      

Linux中的权限:

1.只读

2.写

3.执行(不是所有文件都需要执行权限,仅限于应用程序)

普通用户与最高管理员:

  1. 普通用户:安装系统时我们所创建的用户,可以由管理员来分配
  2. 最高管理员:root,Linux系统内置的,当第一次使用root用户需要修改密码。
  3. 修改最高管理员root用户的密码:sudo passwd(后按提示输入密码即可)

注:终端输入密码时不会显示,输入错误按回车重新输入即可

普通用户与最高管理员切换:

          1.普通用户切换root用户:sudo -i(没有设置密码时用此方法进入)

su root(设置密码(见上一步修改管理员密码)后能够通过此命令进入)

2.root用户切换普通用户:su 用户名(切换后默认在root目录下)

3.最高管理员的表示是#,普通用户是$

用户相关操作:

  1. 添加新用户:

语法:useradd[选项]用户名

eg:useradd -d(指明目录) /hmoe/lucy(目录的位置) -m(如果没有就创建) lucy(用户名):创建一个用户lucy,并在家目录下为她分配一个同名目录

注意:如果在新建用户的时候没有指定用户组,就会创建一个与用户名相同的组(注意这里严格来说是映射关系而并非层级关系),并让新用户属于这个组

eg:useradd -d /home/peter – mg(如果有分组就复用,没有分组就创建) lucy peter:创建一个用户peter,并创建了peter在home中的目录,将peter用户添加到lucy用户组中

注意,三者是这样的映射关系

   2.查看用户所属的组

语法:sudo groups 用户名

注意:sudo是在普通用户中将权限临时提升至root

   3.删除用户

语法:userdel [选项] 用户名

eg:userdel -r(递归)f(强制)i(非强制,会询问) peter:删除peter用户,并在不提示任何信息的情况下递归删除peter目录

注意:此处如果加了递归-f那么就会导致目录与同名用户均被删除,不添加递归,就只删除用户

出现这个,代表目录也被删除了

   4.给用户添加密码

语法:passwd[选项]用户名

选项:

-l:锁定口令,(禁用账号)

-u:口令解锁

-d:使账号无口令

-e:强迫用户下次登陆时修改口令

注意:root用户下给用户设置密码:passwd 用户名(对密码复杂度没有要求)

普通用户下给用户设置密码:passwd (对密码复杂度有要求)

   5.修改用户

语法:usermod[选项] 用户名

选项:

-c:备注,修改用户账号的备注文字

-g:用户组,修改用户所属的用户组

-G:群组,修改用户所属的附加群组(附加组无数个)

-s:shell,修改用户登入后所使用的shell

-u:uid,修改用户ID

eg:usermod -g root lucy :将lucy用户所属的组改成root组

eg:usermod -g lucy -G root lucy:将lucy用户所属的组改成lucy组,群组改成root,可以用“,”分割

用户组相关操作:

1.添加用户组:

语法:groupadd[项目]组名(不要拿中文命名)

选项:

    -g: GID 制定新用户组的组标识(唯一的编号),如果不指定,系统会自动编号(尽量不要自己主动加编号,以防重复)

    eg:groupadd workgroup(创建一个工作组)(起名时,尽量不要起关键字)

2.查看所有用户组

        语法:cat /etc/group

     语法:cat /etc/gshadow

3.删除用户组

     语法:groupdel [选项] 组名(常规操作基本不用选项)

     eg:groupdel workgroup(删掉工作组)

        此时可以看到workgroup:x:1006已经被删掉

4.修改用户组

语法:groupmod [选项] 新组名 旧组名

选项:

        -g:GID 为新的组制定新的唯一标识(可以不用管,系统会重新分配,尽量不要自己改)

     -o:和-g选项同时使用时,允许用户组的新的GID与系统已有用户组的GID相同(尽量还是别用,保证名称不同不容易出问题哦)

     -n:新用户组将用户组的名字改为新名字(必用)

     eg:groupmod -n newwork(新工作组) workgroup(旧工作组)(将workgroup的名字改为newwork)

从后边的数字能看出修改成功

      eg:groupmod -n workgroup12138 workgroup -g 1005 -o :将workgroup改名为workgroup12138,并且要求workgroup组和已经存在的1005组GID相同(容易出错,等下我演示)

此时可以看到原本排在newwork 后边的workgroup被改名为了workgroup12138,同时后边的GID也被改为了1005而并非原本的1006.(注:此时的两者GID编号相同,若是进行查询那么查询的结果一定是靠前的那个,在此处表现为newwork)

此处的fpf属于newwork组而并非上边创建的workgroup12138组,所以尽量不要更改GID值,以防出错。

权限管理

   1.修改目录的拥有者

解释:目录也即是文件夹,目录的拥有着也就是目录的创建者

语法:chown [选项] 用户名 或者 :组名 文件/目录的路径

选项:

-c:显示更改部分的信息

-f:忽略错误信息

-h:修复符号链接

-R:处理指定目录以及其子目录中的所有文件

-v:显示详细的处理信息

eg:chown a(用户名) /home/b/dem01.c:修改dem01.c文件的拥有者为a(单个用户)(原来的拥有者是b)

eg:chown :root /home/b/dem01.c:修改dem01.c文件的拥有者为root组(组内所有用户)

    2.修改文件或文件夹的可读可写可执行权限

语法:chmod [选项] 权限 文件或目录的路径

选项:

-c:显示更改部分

-f:忽略提示信息

-R:递归修改指定目录及其子目录中的所有文件

-v:显示详细信息

方式1:文字设定法

语法:chmod [who] [+,-,=] 权限名 文件或目录的路径who

格式说明:

who可选:

a:all 所有用户

u:user 当前用户

g:group 当前用户所在组(当前用户组)

o:other 其他用户或者其他用户组

+:增加权限

-:删除权限

=:设置权限

权限名:

r:可读

w:可写

x:可执行

-:不可(不可读,不可写,不可执行)

eg:chmod u = rwx,g = rx,o=- a.c:将当前路径下的acd.c文件的拥有者权限设置为可读可写可执行,同组用户可读可执行,其他用户没有任何权限

注:上边是代码示例,底下是之前所做的实验,除了时间跟文件名不一样,剩下都一样,结合底下理解上边。

方式2:数字设定法

语法:chmod 权限数字 文件或目录的路径

格式说明:

权限数字:

r:4

w:2

x:1

-:0

注意:我们的权限数字表示:777,三个数字,第一个数字代表当前用户组,第三个数字代表其他用户,每个数字都是权限累加的结果

eg:777(4+2+1,4+2+1,4+2+1)

chmod 777(赋予最高权限,读、写、执行 就记着这个是无敌的)

eg:chmod 750 b.c :将当前路径下的b.c文件的拥有者权限设置为可读可写可执行,同组用户可读可执行,其他用户没有任何权限。

此时可以看到a.c与b.c两者的权限虽通过不同方式改变但是权限都是一样的。

  • 60
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值