Linux基础-----基本命令3 账户管理以及文件、目录权限归属

目录

一.用户账号和组账号的概述

二.用户账号文件

三.用户账号的添加

四.设置与更改用户密码

五.修改用户账户属性

六.删除用户账号

七.组账号文件的管理

八.添加,删除,修改组账号

九.查询账户信息

十.查看文件的权限及归属

十一.设置文件/目录的权限

十二.设置文件/目录的归属

十三.权限掩码umask

十四.查看文件/目录的底层属性


一.用户账号和组账号的概述

  • Linux系统中的用户账号和组账号都是用来控制对资源访问
  • 用户账号又分为:超级用户(root),普通用户(自定义,必须由root或者其他具有管理员权限才能创建),程序用户(如bin,daemon,ftp,无法登录)
  • 组账号分为:基本组(私有组,伴随用户的创建而创建且与用户同名),附加组(公共组,直接创建空组,可以添加已有用户)
  • 用户标识号(UID),组标识号(GID),标识号具有唯一性。
  • root的UID为固定值0,而程序用户账户的UID号默认为1~999,普通用户的UID号默认为1000~60000

二.用户账号文件

  • 在/etc/passwd这个目录中保存着用户名称、宿主目录、登录Shell等基本信息
[root@localhost ~]# head -2 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
[root@localhost ~]# tail -2 /etc/passwd
tcpdump:x:72:72::/:/sbin/nologin
zhangsan:x:1000:1000:zhangsan:/home/zhangsan:/bin/bash
[root@localhost ~]# 
  • 以root:x:0:0:root:/root:/bin/bash,为例

  • 第一个root代表用户的账号;x代表存在密码;第一个0代表用户账号ID,第二个0代表组账号ID;第二个root是用户全名;/root是该账户的家目录;/bin/bash代表能够登录字符界面;而/sbin/nologin代表该账户无法被登录

  • 在/etc/shadow这个目录当中保存有各个有用账号的密码信息,且默认只有root用户能读取文件中的内容,而不允许直接编辑该文件的内容
[root@localhost ~]# head -2 /etc/shadow
root:$6$8frVPbkNa0QpSIhY$NutJj4Pag4OuXNPcy3x84VN2NX/mpulZ2ZXHfA1/EsI9SzZaX1A67pFPk6MyOLx3Qzeu1gOZ/DBZjgrsMWZn60::0:99999:7:::
bin:*:17110:0:99999:7:::
[root@localhost ~]# tail -2 /etc/shadow
tcpdump:!!:18192::::::
zhangsan:$6$KEcORcCKJyPQ85tr$6UFVZTidtUL1JR0JP/0F0h/YoxJdCrXP1GwojiPVpPhW/LooAZbNt5/EUbFmjw/IJ81dYiE7OhnyCc12Za8jj.:18192:0:99999:7:::
[root@localhost ~]# 
  • 第一字段用户账号名称;第二字段是密码的密文,如果当为“*”,“!!”时表示此用户不能登录到系统,如果该字段内容为空,则改用用户无需密码即可登录系统;第三字段时上次修改密码的时间,表示从1970.1.1算起到最近一次修改密码时间隔的天数;第四字段表示密码最短使用期限;第五字段代表密码的最长使用天数;第六字段代表提前7天告诉电脑修改密码;第八段帐号作废时间,从1970.1.1算起

三.用户账号的添加

  • useradd命令可用于添加用户账号 
  • 实例
[root@localhost ~]# useradd lisi
[root@localhost ~]# tail -2 /etc/passwd
zhangsan:x:1000:1000:zhangsan:/home/zhangsan:/bin/bash
lisi:x:1001:1001::/home/lisi:/bin/bash
[root@localhost ~]# tail -2 /etc/shadow
zhangsan:$6$KEcORcCKJyPQ85tr$6UFVZTidtUL1JR0JP/0F0h/YoxJdCrXP1GwojiPVpPhW/LooAZbNt5/EUbFmjw/IJ81dYiE7OhnyCc12Za8jj.:18192:0:99999:7:::
lisi:!!:18200:0:99999:7:::
[root@localhost ~]# su lisi
[lisi@localhost root]$ su zhangsan
密码:
[zhangsan@localhost root]$ su lisi
密码:

su: 鉴定故障
[zhangsan@localhost root]$ 

注:执行上述命令时,可以看到创建的lisi用户在passwd和shadow里面的状态,由于没有创建密码,虽然在root下能够切换进去,但是在普通用户zhangsan,切换到lisi时,出现了故障

  • useradd -u,指定用户UID号,且该UID号未被其他用户使用
  • 实例
[root@localhost ~]# useradd -u 1100 wangwu
[root@localhost ~]# id wangwu
uid=1100(wangwu) gid=1100(wangwu) 组=1100(wangwu)
[root@localhost ~]# 
  • useradd -d,指定用户的宿主目录位置(一般账户家目录在/home,这个目录不能已存在,不然无法配置环境变量)
  • 实例
[root@localhost ~]# mkdir /opt/lisi
[root@localhost ~]# ls /opt
lisi  rh
[root@localhost ~]# useradd -d /opt/lisi -s /sbin/nogoin lisi
useradd:警告:此主目录已经存在。
不从 skel 目录里向其中复制任何文件。
[root@localhost ~]# ls -a /opt/lisi
.  ..
[root@localhost ~]# useradd -d /opt/wangwu -s /sbin/nogoin wangu
[root@localhost ~]# ls -a /opt/wangwu
.  ..  .bash_logout  .bash_profile  .bashrc  .mozilla
[root@localhost ~]# 

  • useradd -e,指定用户的账户的失效时间,可使用YYYY-MM-DD的日期格式
  • 实例
[root@localhost ~]# useradd -e 2020-12-31 wangwu
[root@localhost ~]# tail -1 /etc/shadow
wangwu:!!:18200:0:99999:7::18627:
[root@localhost ~]# 
  • useradd -M,不建立宿主目录(与d相对,不可同时使用)
  • useradd -s,指定用户的登录Shell()
  • 实例
[root@localhost ~]# userdel -r wangwu
[root@localhost ~]# useradd -s /sbin/nologin wangwu
[root@localhost ~]# tail -1 /etc/passwd
wangwu:x:1002:1002::/home/wangwu:/sbin/nologin
[root@localhost ~]# 
  • useradd -g,指定到基本组(基本不用,创建用户的时候自动创建了一个同名的基本组)
  • useradd -G,指定到附加组
  • 实例(创建一个UID为2000,且不能登录,指定到张三目录,且加入附加组张三,于2020-01-01失效)
[root@localhost ~]# useradd -u 2000 -s /sbin/nologin -e 2020-01-01 -d /zhangsan/wangwu -G zhangsan wangwu
useradd:无法创建目录 /zhangsan/wangwu
[root@localhost ~]# tail -5 /etc/passwd
tcpdump:x:72:72::/:/sbin/nologin
zhangsan:x:1000:1000:zhangsan:/home/zhangsan:/bin/bash
lisi:x:1001:1001::/home/lisi:/bin/bash
wangwu:x:2000:2000::/zhangsan/wangwu:/sbin/nologin

[root@localhost ~]# 
  • 新建用户账号时,从/etc/skel目录复制初始配置文件
  • 如下,主要的用户初始配置文件
  • ~/.bash_profile,该文件中的命令在该用户每次登录时被执行
  • ~/.bashrc,文件中命令会在每次加载“/bin/bash”执行
  • ~/.bash_logout,将在用户每次退出登录时执行

四.设置与更改用户密码

  • passwd命令,可以用于设置,更改用户密码
  • 一般通过useradd新增用户账户以后,还需要为其设置一个密码,才能正常使用(要不然普通用户之间的切换会出现故障)
  • 实例
[root@localhost ~]# useradd lisi
[root@localhost ~]# passwd lisi
更改用户 lisi 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@localhost ~]# tail -1 /etc/passwd
lisi:x:1001:1001::/home/lisi:/bin/bash
[root@localhost ~]# tail -1 /etc/shadow
lisi:$6$n5CWFOMI$OBg1a43hX1GPBL2B2tisWRw5h6A87vD80ErtWnWDNDsYP0tp7EQJQ7dwam1eaQ2LL/WcKxzGl2W4z2XHMg7rw1:18200:0:99999:7:::
[root@localhost ~]# 

注:在root用户下,可以使用passwd修改任意账户密码,但是在普通用户下只能修改自己的密码,而且需要密码有一定的复杂性

[root@localhost ~]# su lisi
[lisi@localhost root]$ passwd zhangsan
passwd:只有根用户才能指定用户名。
[lisi@localhost root]$ passwd lisi
passwd:只有根用户才能指定用户名。
[lisi@localhost root]$ cd。
[lisi@localhost ~]$ passwd 
更改用户 lisi 的密码 。
为 lisi 更改 STRESS 密码。
(当前)UNIX 密码:
新的 密码:
无效的密码: 密码少于 8 个字符
新的 密码:
  • passwd -S,查看用户账户的状态
  • 实例
[root@localhost ~]# passwd -S lisi
lisi PS 2019-10-31 0 99999 7 -1 (密码已设置,使用 SHA512 算法。)
[root@localhost ~]# 
  • passwd -l,锁定用户账户(锁定状态下无法从图形界面中登录,但是可以在root下从命令行登录,不能从其他普通用户登录,也无法从远程终端登录)
  • 实例
[root@localhost ~]# passwd -l lisi
锁定用户 lisi 的密码 。
passwd: 操作成功
[root@localhost ~]# passwd -S lisi
lisi LK 2019-10-31 0 99999 7 -1 (密码已被锁定。)
[root@localhost ~]# 
  • passwd -u,解锁账户状态
  • 实例
[root@localhost ~]# passwd -u lisi
解锁用户 lisi 的密码。
passwd: 操作成功
[root@localhost ~]# passwd -S lisi
lisi PS 2019-10-31 0 99999 7 -1 (密码已设置,使用 SHA512 算法。)
[root@localhost ~]# 
  • passwd -d,清空指定用户的密码
  • 实例
[root@localhost ~]# passwd -d lisi
清除用户的密码 lisi。
passwd: 操作成功
[root@localhost ~]# passwd -S lisi
lisi NP 2019-10-31 0 99999 7 -1 (密码为空。)
[root@localhost ~]# 

五.修改用户账户属性

  • usermod命令,可以修改已存在的用户账户,而且usermod命令同样需要指定账户名作为参数
  • usermod -u,修改主机的UID号
  • 实例
[root@192 ~]# tail -2 /etc/passwd
zhangsan:x:1000:1000:zhangsan:/home/zhangsan:/bin/bash
lisi:x:1001:1001::/home/lisi:/bin/bash
[root@192 ~]# usermod -u 1002 lisi
[root@192 ~]# tail -2 /etc/passwd
zhangsan:x:1000:1000:zhangsan:/home/zhangsan:/bin/bash
lisi:x:1002:1001::/home/lisi:/bin/bash
[root@192 ~]# 
  • usermod -d,修改用户的宿主目录位置
  • usermod -e,修改用户的账户失效时间,可用YYYY-MM-DD的日期格式
  • usermod -s,修改用户的登录shell
  • usermod -l,更改用户账号的登录名称
  • usermod -L,锁定用户账号
  • usermod -U,解锁用户账户
  • 实例
[root@192 ~]# tail -2 /etc/passwd
zhangsan:x:1000:1000:zhangsan:/home/zhangsan:/bin/bash
lisi:x:1002:1001::/home/lisi:/bin/bash
[root@192 ~]# usermod -L lisi
[root@192 ~]# passwd -S lisi
lisi LK 2019-10-31 0 99999 7 -1 (密码已被锁定。)
[root@192 ~]# usermod -U lisi
[root@192 ~]# passwd -S lisi
lisi PS 2019-10-31 0 99999 7 -1 (密码已设置,使用 SHA512 算法。)
[root@192 ~]# 

六.删除用户账号

  • userdel命令,用来删除用户账号
  • userdel -r ,删除指定账号的同时删除宿主目录
  • 实例
[root@192 ~]# tail -2 /etc/passwd
zhangsan:x:1000:1000:zhangsan:/home/zhangsan:/bin/bash
lisi:x:1002:1001::/home/lisi:/bin/bash
[root@192 ~]# userdel -r lisi
[root@192 ~]# tail -2 /etc/passwd
tcpdump:x:72:72::/:/sbin/nologin
zhangsan:x:1000:1000:zhangsan:/home/zhangsan:/bin/bash
[root@192 ~]# ls /home
zhangsan
[root@192 ~]# 

注:若只用userdel + 账户名,则宿主目录还留存

[root@192 ~]# useradd wangwu 
[root@192 ~]# passwd wangwu
更改用户 wangwu 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@192 ~]# ls /home
wangwu  zhangsan
[root@192 ~]# tail -2 /etc/passwd
zhangsan:x:1000:1000:zhangsan:/home/zhangsan:/bin/bash
wangwu:x:1001:1001::/home/wangwu:/bin/bash
[root@192 ~]# userdel wangwu
[root@192 ~]# tail -2 /etc/passwd
tcpdump:x:72:72::/:/sbin/nologin
zhangsan:x:1000:1000:zhangsan:/home/zhangsan:/bin/bash
[root@192 ~]# ls /home
wangwu  zhangsan
[root@192 ~]# 

七.组账号文件的管理

  • 对于用户账号来说,对应的组账号分为基本组(私有组)和附加组(公共组)
  • 每一个用户账号可以是多个组账号的成员,但是其基本组账号只有一个
  • 组账号的配置文件也有两个,/etc/group、/etc/gshadow。前者用于保存账号的名称、GID号、组成员的信息等,后者用于保存组账号的密码密文
  • 组账号中的成员将会在group文件内最后一个字段中体现出来(基本组对应的用户账号默认可能不会列出)

八.添加,删除,修改组账号

  • groupadd命令添加一个组账号,需要指定GID号时,可以使用“-g”
  • 实例(添加一个名为demo1的组,GID为1100)
[root@192 ~]# groupadd -g 1100 demo1
[root@192 ~]# tail /etc/group
avahi:x:70:
slocate:x:21:
postdrop:x:90:
postfix:x:89:
stapusr:x:156:
stapsys:x:157:
stapdev:x:158:
tcpdump:x:72:
zhangsan:x:1000:
demo1:x:1100:
[root@192 ~]# 
  • gpasswd命令本来是用来设置组密码,但是基本不用,这里不做介绍
  • gpasswd -a,想组内添加一个用户
  • 实例
[root@192 ~]# useradd one
[root@192 ~]# gpasswd -a one demo1
正在将用户“one”加入到“demo1”组中
[root@192 ~]# useradd two
[root@192 ~]# gpasswd -a two demo1
正在将用户“two”加入到“demo1”组中
[root@192 ~]# tail -2 /etc/group
one:x:1001:
two:x:1002:
[root@192 ~]# tail  /etc/group
postdrop:x:90:
postfix:x:89:
stapusr:x:156:
stapsys:x:157:
stapdev:x:158:
tcpdump:x:72:
zhangsan:x:1000:
demo1:x:1100:one,two
one:x:1001:
two:x:1002:
[root@192 ~]# 
  • gpasswd -d,从组内删除一个用户成员
  • 实例
[root@192 ~]# gpasswd -d one demo1
正在将用户“one”从“demo1”组中删除
[root@192 ~]# tail -5 /etc/group
tcpdump:x:72:
zhangsan:x:1000:
demo1:x:1100:two
one:x:1001:
two:x:1002:
[root@192 ~]# 
  • gpasswd -M,同时指定多个用户添加到组内,并用逗号隔开
  • 实例
[root@192 ~]# tail  /etc/group
postfix:x:89:
stapusr:x:156:
stapsys:x:157:
stapdev:x:158:
tcpdump:x:72:
zhangsan:x:1000:
demo1:x:1100:two
one:x:1001:
two:x:1002:
three:x:1003:
[root@192 ~]# gpasswd -M one,three demo1
[root@192 ~]# tail  /etc/group
postfix:x:89:
stapusr:x:156:
stapsys:x:157:
stapdev:x:158:
tcpdump:x:72:
zhangsan:x:1000:
demo1:x:1100:one,three
one:x:1001:
two:x:1002:
three:x:1003:
[root@192 ~]# 

注:使用-M添加账号时,会覆盖掉原有的账号,而用-a单个添加时则不会覆盖

  • groupdel命令,删除组账号
  • 实例
[root@192 ~]# tail  /etc/group
postfix:x:89:
stapusr:x:156:
stapsys:x:157:
stapdev:x:158:
tcpdump:x:72:
zhangsan:x:1000:
demo1:x:1100:one,three
one:x:1001:
two:x:1002:
three:x:1003:
[root@192 ~]# groupdel demo1
[root@192 ~]# tail  /etc/group
postdrop:x:90:
postfix:x:89:
stapusr:x:156:
stapsys:x:157:
stapdev:x:158:
tcpdump:x:72:
zhangsan:x:1000:
one:x:1001:
two:x:1002:
three:x:1003:

注:删除组账号时,原有组内账号并不会被删除

九.查询账户信息

  • id,查询用户账号的身份标识
  • groups,,查询用户所属的组
  • w,who,users,查询已登录到主机的用户信息
  • last,查询最近登录的账户
  • 实例
[root@192 ~]# groups one
one : one
[root@192 ~]# groups root
root : root
[root@192 ~]# id zhangsan
uid=1000(zhangsan) gid=1000(zhangsan) 组=1000(zhangsan),10(wheel)
[root@192 ~]# id one
uid=1001(one) gid=1001(one) 组=1001(one)
[root@192 ~]# who
root     :0           2019-10-31 21:43 (:0)
root     pts/0        2019-10-31 21:43 (192.168.43.1)
[root@192 ~]# w
 23:00:52 up  1:20,  2 users,  load average: 0.03, 0.04, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     :0       :0               21:43   ?xdm?   1:26   0.56s /usr/libexec/gnome-session-binary --session gnome-classic
root     pts/0    192.168.43.1     21:43    4.00s  0.46s  0.06s w
[root@192 ~]# users
root root
[root@192 ~]# 
[root@localhost ~]# last -5
root     pts/0        192.168.43.1     Fri Nov  1 08:30   still logged in   
root     :0           :0               Fri Nov  1 08:29   still logged in   
reboot   system boot  3.10.0-693.el7.x Fri Nov  1 08:29 - 11:57  (03:28)    
root     pts/0        192.168.43.1     Thu Oct 31 21:43 - down   (01:35)    
root     :0           :0               Thu Oct 31 21:43 - down   (01:35)    

wtmp begins Wed Oct 23 22:19:07 2019
[root@localhost ~]# 

十.查看文件的权限及归属

  • 文件的权限和归属参数解析
  • 实例
[root@localhost ~]# ls -l /etc
总用量 1564
drwxr-xr-x.  3 root root      101 10月 23 22:07 abrt
-rw-r--r--.  1 root root       16 10月 23 22:14 adjtime
-rw-r--r--.  1 root root     1518 6月   7 2013 aliases
-rw-r--r--.  1 root root    12288 10月 23 22:19 aliases.db
drwxr-xr-x.  2 root root       51 10月 23 22:07 alsa
  • 第1个字符:表示该文件类型,“-”代表普通文件;“d”代表目录;“l”代表链接文件;“b”代表块设备文件;“c”代表字符文件设备
  • 第2个字符~第4个字符:表示该文件的属主用户对该文件的访问权限(r是读权限,w是写权限,x是执行权限,,rwx权限符号也可以表示成8进制,r为4,w为2,x为1),若一个权限为0,则可以表示成“-”
  • 第5个字符~第7个字符:表示该文件的属组内各成员用户对该文件的访问权限
  • 第8个字符~第10个字符:表示其他任何用户对该文件的访问权限
  • 第11个字符".":这里与SELinux有关,目前不必关注
  • 第12个字符“1”,代表有一个数据文件(一般目录下有多个数据文件)
  • 第13~14个字符,分别代表属主和属组
  • 第15个字符代表数据大小(以字节为单位)
  • 第16~18字符代表创建时间
  • 第19个字符代表文件名字

十一.设置文件/目录的权限

  • chmod命令可以设置文件权限,有两种方式:字符形式和数字形式(r为4,w为2,x为1)
  • 字符形式:chmod 【ugoa】【+-=】【rwx】,u代表文件属主,g代表文件组内用户,o代表其他任何用户,a代表所有用户,+代表增加相应权限,-代表减少相应权限,=仅设置对应权限
  • 实例(属主,属组,其他用户都有三个字符代表权限)
[root@localhost opt]# touch day01.txt
[root@localhost opt]# mkdir day02
[root@localhost opt]# ls -l 
总用量 0
-rw-r--r--. 1 root root 0 11月  1 09:00 day01.txt
drwxr-xr-x. 2 root root 6 11月  1 09:00 day02
drwxr-xr-x. 2 root root 6 3月  26 2015 rh
[root@localhost opt]# chmod u+x day01.txt
[root@localhost opt]# ls -l 
总用量 0
-rwxr--r--. 1 root root 0 11月  1 09:00 day01.txt
drwxr-xr-x. 2 root root 6 11月  1 09:00 day02
drwxr-xr-x. 2 root root 6 3月  26 2015 rh
[root@localhost opt]# chmod g-r day02
[root@localhost opt]# ls -l 
总用量 0
-rwxr--r--. 1 root root 0 11月  1 09:00 day01.txt
drwx--xr-x. 2 root root 6 11月  1 09:00 day02
drwxr-xr-x. 2 root root 6 3月  26 2015 rh
[root@localhost opt]# chmod o-r day02
[root@localhost opt]# ls -l
总用量 0
-rwxr--r--. 1 root root 0 11月  1 09:00 day01.txt
drwx--x--x. 2 root root 6 11月  1 09:00 day02
drwxr-xr-x. 2 root root 6 3月  26 2015 rh
[root@localhost opt]# chmod a+w day02
[root@localhost opt]# ls -l
总用量 0
-rwxr--r--. 1 root root 0 11月  1 09:00 day01.txt
drwx-wx-wx. 2 root root 6 11月  1 09:00 day02
drwxr-xr-x. 2 root root 6 3月  26 2015 rh
[root@localhost opt]# 
  • 数字形式:chmod nnn 文件(n代表数字,其中rwx表示成8进制,r为4,w为2,x为1)
  • rwxrwxrwx(777),rwxrw-rw(766),rwxr-xr-x(755),rwxr--r--(744),rwx--x--x(711),rwx------(700),rw-rw-rw-(666)等
  • chmod -R,递归修改指定目录下的所有子项的权限
  • 实例
[root@localhost opt]# ls -l
总用量 0
-rwxr--r--. 1 root root 0 11月  1 09:00 day01.txt
drwx-wx-wx. 2 root root 6 11月  1 09:00 day02
drwxr-xr-x. 2 root root 6 3月  26 2015 rh
[root@localhost opt]# chmod 777 day01.txt
[root@localhost opt]# ls -l
总用量 0
-rwxrwxrwx. 1 root root 0 11月  1 09:00 day01.txt
drwx-wx-wx. 2 root root 6 11月  1 09:00 day02
drwxr-xr-x. 2 root root 6 3月  26 2015 rh
[root@localhost opt]# chmod 666 day02
[root@localhost opt]# ls -l
总用量 0
-rwxrwxrwx. 1 root root 0 11月  1 09:00 day01.txt
drw-rw-rw-. 2 root root 6 11月  1 09:00 day02
drwxr-xr-x. 2 root root 6 3月  26 2015 rh
[root@localhost opt]# chmod 755 day02
[root@localhost opt]# ls -l
总用量 0
-rwxrwxrwx. 1 root root 0 11月  1 09:00 day01.txt
drwxr-xr-x. 2 root root 6 11月  1 09:00 day02
drwxr-xr-x. 2 root root 6 3月  26 2015 rh
[root@localhost opt]# 

十二.设置文件/目录的归属

  • chown命令,设置文件的归属,可以设置属主或属组
  • 格式:chown 属主【:【属组】】 文件
  • 同时设置属主、属组时,用户名和组名用冒号隔开;如果只设置属组时,使用“chown :组名 +文件”的形式;如果只设置属主时,使用“chown+属主名+文件”
  • 实例

[root@localhost opt]# ls -l
总用量 0
-rwxrwxrwx. 1 zhangsan root     0 11月  1 09:00 day01.txt
drwxr-xr-x. 2 root     zhangsan 6 11月  1 09:00 day02
drwxr-xr-x. 2 root     root     6 3月  26 2015 rh
[root@localhost opt]# chown root day01.txt
[root@localhost opt]# ls -l
总用量 0
-rwxrwxrwx. 1 root root     0 11月  1 09:00 day01.txt
drwxr-xr-x. 2 root zhangsan 6 11月  1 09:00 day02
drwxr-xr-x. 2 root root     6 3月  26 2015 rh
[root@localhost opt]# chown zhangsan:zhangsan day01.txt
[root@localhost opt]# ls -l
总用量 0
-rwxrwxrwx. 1 zhangsan zhangsan 0 11月  1 09:00 day01.txt
drwxr-xr-x. 2 root     zhangsan 6 11月  1 09:00 day02
drwxr-xr-x. 2 root     root     6 3月  26 2015 rh
[root@localhost opt]# chown :root day02
[root@localhost opt]# ls -l
总用量 0
-rwxrwxrwx. 1 zhangsan zhangsan 0 11月  1 09:00 day01.txt
drwxr-xr-x. 2 root     root     6 11月  1 09:00 day02
drwxr-xr-x. 2 root     root     6 3月  26 2015 rh
[root@localhost opt]# 
  • chown -R,递归修改指定目录下所有文件的,子目录的归属
  • 实例
[root@localhost opt]# ls -l day02/
总用量 0
-rw-r--r--. 1 root root 0 11月  1 09:53 night01.txt
-rw-r--r--. 1 root root 0 11月  1 09:53 night02.txt
[root@localhost opt]# chown -R zhangsan day02/
[root@localhost opt]# ls -l day02/
总用量 0
-rw-r--r--. 1 zhangsan root 0 11月  1 09:53 night01.txt
-rw-r--r--. 1 zhangsan root 0 11月  1 09:53 night02.txt
[root@localhost opt]# 

十三.权限掩码umask

  • umask的作用控制新建的文件或者目录的权限
  • 默认权限去除umask的权限就为新建的文件或者目录的权限
  • 实例(umask 022 +文件,相当于chmod 755 +文件,指定目录,仅仅对该目录下新建的文件或文件夹有效)
[root@localhost opt]# ls -l
总用量 0
-rwxrwxrwx. 1 root     root      0 11月  1 09:00 day01.txt
drwxr-xr-x. 3 zhangsan zhangsan 68 11月  1 10:14 day02
drwxr-xr-x. 2 root     root      6 3月  26 2015 rh
[root@localhost opt]# umask 077
[root@localhost opt]# mkdir share.txt
[root@localhost opt]# ls -l
总用量 0
-rwxrwxrwx. 1 root     root      0 11月  1 09:00 day01.txt
drwxr-xr-x. 3 zhangsan zhangsan 68 11月  1 10:14 day02
drwxr-xr-x. 2 root     root      6 3月  26 2015 rh
drwx------. 2 root     root      6 11月  1 10:16 share.txt
[root@localhost opt]# 

十四.查看文件/目录的底层属性

  • chattr命令和lsattr命令就是设置和查看基于ext2/ext3文件系统的底层属性
  • 比如一些重要的文件,可以通过chattr命令设置的文件或目录,即使在root权限下也不能删除,只有去除隐藏的属性才能操作
  • chattr命令格式:chattr 【+-=】【ai】,+在原有参数基础上,追加参数;-在原有参数基础上,移除参数;=更新为指定参数;a设置只能向文件中添加数据,而不能删除;i设置后,不能对文件进行删除、写入、改名等操作
  • lsattr命令查看文件的底层属性
  • lsattr -a,显示所有文件的属性
  • lsattr -d,仅仅显示目录属性
  • lsattr -R,递归显示
  • 实例
[root@localhost opt]# ls
day01.txt  day02  rh  share.txt
[root@localhost opt]# lsattr -a day02
---------------- day02/.
---------------- day02/..
---------------- day02/night01.txt
---------------- day02/night02.txt
---------------- day02/3299
---------------- day02/8.sh
[root@localhost opt]# lsattr -d day02
---------------- day02
[root@localhost opt]# lsattr -R day02
---------------- day02/night01.txt
---------------- day02/night02.txt
---------------- day02/3299

day02/3299:

---------------- day02/8.sh
[root@localhost opt]# 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值