一.用户账号和组账号的概述
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 ~]# useradd -u 1100 wangwu
[root@localhost ~]# id wangwu
uid=1100(wangwu) gid=1100(wangwu) 组=1100(wangwu)
[root@localhost ~]#
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]#
————————————————
版权声明:本文为CSDN博主「EoinXu」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上