linux系统指令进阶(2)

5、Chown 属主及属组(更改文件以及文件夹所属的用户与所属的组)
修改某个用户、组对文件夹的属主及属组,用命令 chown 实现,案例演示如下:
(1) 修改 jfedu.net 文件夹所属的用户为 root,其中-R 参数表示递归处理所有的文件及
子目录。
chown -R root jfedu.net
(2)修改 jfedu.net 文件夹所属的组为 root。
chown -R :root jfedu.net 或者 chgrp –R root jfedu.net
(3)修改 jfedu.net 文件夹所属的用户为 root,组也为 root。
chown -R root:root jfedu.net
[[email protected] home]# chown -R dou ./dou/* #<==把dou目录下的所有文件以及文件夹的所属用 户由root 改为dou用户
[[email protected] home]# ls -l ./dou
total 48
-rw-r-xr–. 1 dou root 13 Mar 21 08:01 123.txt
-rw-r-xr–. 1 dou root 16 Mar 21 08:01 1.txt
drwxr-xr-x. 2 dou root 4096 Mar 21 08:01 Desktop
drwxr-xr-x. 2 dou root 4096 Mar 21 08:01 dfg
drwxr-xr-x. 2 dou root 4096 Mar 21 08:01 Documents
drwxr-xr-x. 2 dou root 4096 Mar 21 08:01 Downloads
drwxr-xr-x. 2 dou root 4096 Mar 21 08:01 dzqc
drwxr-xr-x. 2 dou root 4096 Mar 21 08:01 Music
drwxr-xr-x. 2 dou root 4096 Mar 21 08:01 Pictures
drwxr-xr-x. 2 dou root 4096 Mar 21 08:01 Public
drwxr-xr-x. 2 dou root 4096 Mar 21 08:01 Templates
drwxr-xr-x. 2 dou root 4096 Mar 21 08:01 Videos
[[email protected] home]# chown -R :dodo ./dou/* #<==把dou目录下所有的文件以及文件夹 所属的组改为dodo
[[email protected] home]# ls -l ./dou
total 48
-rw-r-xr–. 1 dou dodo 13 Mar 21 08:01 123.txt
-rw-r-xr–. 1 dou dodo 16 Mar 21 08:01 1.txt
drwxr-xr-x. 2 dou dodo 4096 Mar 21 08:01 Desktop
drwxr-xr-x. 2 dou dodo 4096 Mar 21 08:01 dfg
drwxr-xr-x. 2 dou dodo 4096 Mar 21 08:01 Documents
drwxr-xr-x. 2 dou dodo 4096 Mar 21 08:01 Downloads
drwxr-xr-x. 2 dou dodo 4096 Mar 21 08:01 dzqc
drwxr-xr-x. 2 dou dodo 4096 Mar 21 08:01 Music
drwxr-xr-x. 2 dou dodo 4096 Mar 21 08:01 Pictures
drwxr-xr-x. 2 dou dodo 4096 Mar 21 08:01 Public
drwxr-xr-x. 2 dou dodo 4096 Mar 21 08:01 Templates
drwxr-xr-x. 2 dou dodo 4096 Mar 21 08:01 Videos
[[email protected] home]#

6、Chmod 用户及组权限
修改某个用户、组对文件夹的权限,用命令 chmod 实现,其中以代指 ugo,+、-、=代表加入、删除和等于对应权限,具体案例如下:
(1)授予用户对 jfedu.net 目录拥有 rwx 权限
chmod –R u+rwx jfedu.net
(2)授予组对 jfedu.net 目录拥有 rwx 权限
chmod –R g+rwx jfedu.net
(3)授予用户、组、其他人对 jfedu.net 目录拥有 rwx 权限
chmod –R u+rwx,g+rwx,o+rwx jfedu.net
(4)撤销用户对 jfedu.net 目录拥有 w 权限
chmod –R u-w jfedu.ne
(5)撤销用户、组、其他人对 jfedu.net 目录拥有 x 权限
chmod –R u-x,g-x,o-x jfedu.net
(6)授予用户、组、其他人对 jfedu.net 目录只有 rx 权限
chmod –R u=rx,g=rx,o=rx jfedu.net
7、Chmod 二进制权限
Linux 权限默认使用 rwx 来表示,为了更简化在系统中对权限进行配置和修改,Linux权限引入二进制表示方法,如下代码:
Linux 权限可以将 rwx 用二进制来表示,其中有权限用 1 表示,没有权限用 0 表示;
Linux 权限用二进制显示如下:
rwx=111
r-x=101
rw-=110
r–=100
依次类推,转化为十进制,对应十进制结果显示如下:
rwx=111=4+2+1=7
r-x=101=4+0+1=5
rw-=110=4+2+0=6
r–=100=4+0+0=4
得出结论,用 r=4,w=2,x=1 来表示权限。
使用二进制方式来修改权限案例演示如下,其中默认 jfedu.net 目录权限为 755:
(1)授予用户对 jfedu.net 目录拥有 rwx 权限
chmod –R 755 jfedu.net
(2)授予组对 jfedu.net 目录拥有 rwx 权限
chmod –R 775 jfedu.net
(3)授予用户、组、其他人对 jfedu.net 目录拥有 rwx 权限
chmod –R 777 jfedu.net
(4)撤销用户对 jfedu.net 目录拥有 w 权限
chmod –R 555 jfedu.net
(5)撤销用户、组、其他人对 jfedu.net 目录拥有 x 权限
chmod –R 644 jfedu.net
(6)授予用户、组、其他人对 jfedu.net 目录只有 rx 权限
chmod –R 555 jfedu.n
以后真正修改权限,是这种方式

讲到这里还剩余一个知识点没讲,那就是Linux 特殊权限及掩码,可以课下进行了解

8、总结
通过对本节内容的学习,读者可以了解 Linux 用户和组的系统知识,同时账号 Linux 用户和组在系统中各种案例操作。我们要可以熟练新建用户、删除用户、修改用户属性、添加组、修改组以及删除组,修改角色的权限
9、作业
某互联网公司职能及员工信息表,如表 5-3 所示,请在 Linux 系统中创建相关员工,并
把员工加入到部门。
linux系统指令进阶(2)
2.批量创建 1-100 个用户,用户名以 jfedu 开头,后面紧跟 1,2,3,例如jfedu1,jfedu2,jfedu3。

  1. 使用 useradd 创建用户并通过-p 参数指定密码,设定完密码需通过系统能正常验证并登
  2. 小王公司服务器,使用 Root 用户通过 Xshell远程登陆后,如图 5-3 所示,发现登
    录终端变成 bash-4.1#,是什么原因导致?以及如何修复为正常的登录 SHELL 环境
    linux系统指令进阶(2)
    切换某个用户的时候可能出现 -bash-4.1$
    原因分析
    原因系统变量丢了
    linux系统指令进阶(2)
    原因是:被切换的这个用户家目录下环境变量文件被删除了。
    通过对比可以发现缺少两个文件(.bash_profile和.bashrc)
    为什么需要这两个文件呢?
    因为Linux系统在每次通过useradd创建新用户时,都会将所有的配置文件从/etc/skel/目录下复制到新用户的主目录下,默认在/home/下面新用户的主目录。
    解决办法
    1、切换到有故障的用户
    2.复制/etc/skel 里面的模板到当前用户
    3.重新登录
    linux系统指令进阶(2)
    或者
    把/etc/skel/*拷贝到/home/jfedu/目录下,jfedu是出问题的用户名
    linux系统指令进阶(2)