用户
计算机的使用者;实现资源隔离;
1964年,Multics项目出现多用户、多任务的操作系统;当时Multics主机价格很昂贵,通常是多个终端连入一个主机,实现多个用户共用一个主机;多个用户共同使用一个主机上资源就会存在一些问题;互相之间是否可能删除对方的数据及查看对方的数据;为了避免这些问题:就必须资源隔离;
计算机如何识别用户是声称的用户?
认证:通过识别机制与某用户建立关联关系;
识别机制:暗号、密码、指纹、虹膜 …
- 暗号:天王盖地虎,宝塔震…
- 密码:将密码存储在文件中,用户输入密码后,将输入的密码与文件中存储的密码比对;相同时则通过认证;
计算机易识别的是数字,我们键入的用户名是字符,计算机如何将用户名转换为可识别的数字?
计算机用16位二进制数唯一标识每个用户;0-65535
名称解析:将用户名转换为计算机标识用户的唯一数字的过程,此数字叫UID:Username –> UID
- 解析过程:根据用户输入用户名为标准,去查找存储密码的解析库,找出名称对应的值;
- 解析库:/etc/passwd
- 解析库可存储位置:文本文件、mysql、nosql、ldap
密码存储在文本文件中,是明文存放,其他用户了可以查看;需要加密后存放;
加密:明文转换为密文
加密算法
- 对称加密:加密和解密同一个密钥;
- 非对称加密:加密和解密是一对儿密钥;
- 单向加密:提取指纹;只能加密不能解密常与salt连用,避免相同密码显示相同字串;
授权: owner:用户对资源的使用级别;
审计:用户使用资源的合理性;
用户组
一种角色、容器;用户选择了一种角色,就代表此用户就拥了角色所拥有的权限、责任;
权限
用户对资源操作方式通过权限定义;
用户访问文件通过进程:进程的身份是进程的发起者;
进程对文件的访问权限:
- 进程的发起者同文件属主应用属主的权限;
- 进程的发起者属于文件属组应用属组的权限
- 否则应用其他用户的权限
权限:mode:r,w,x
文件:
- r: 查看内容
- w: 修改内容
- x:运行为一个进程
目录:
- r: ls
- w: 目录中可删除和创建文件
- x:可cd进目录,ls -l查看目录;
用户的类型:
- 管理员:0
- 普通用户:
- 系统用户:CentOS6: 1-499, CentOS7: 1-999 系统用户:为后台进程或服务提供的运行身份;
- 登陆用户:c6: 500-60000, c7: 1000-60000
组的类型:
- 普通组(系统用户组、登陆用户组)、管理组;
- 私有组、公共组:组内用户数 私有组:组内只有一个与用户名同名的组;
- 基本组、附加组:用户
用户管理类命令:groupadd, groupmod, groupdel, useradd, usermod, userdel, passwd, gpasswd, newgrp, chage, chsh, chfn, finger, su, id
groupadd 添加组
groupadd [options] group
-g, --gidGID 自定义GID;默认是上一个组的GID+1;
-r, --system 创建系统组;
添加组:
[root@localhost ~]# groupadd mageedu
[root@localhost ~]# tail -1 /etc/group
mageedu:x:500:
添加系统组:
[root@localhost ~]# groupadd -r mygrp
[root@localhost ~]# tail -1 /etc/group
mygrp:x:499:
添加GID为5200的elastic组:
[root@localhost ~]# groupadd -g 5200 elastic
[root@localhost ~]# tail -1 /etc/group
elastic:x:5200:
默认:
[root@localhost ~]# groupadd kibana
[root@localhost ~]# tail -1 /etc/group
kibana:x:5201:
groupmod 修改组属性
groupmod [选项] GROUP
-g, --gidGID 修改GID
-n, --new-nameNEW_GROUP 改变组名
将elastic组GID修改为7777:
[root@localhost ~]# groupmod -g 7777 elastic
[root@localhost ~]# tail -3 /etc/group
elastic:x:7777:
...
将elastic组名修改为fedora:
[root@localhost ~]# groupmod -n fedora elastic
[root@localhost ~]# tail -3 /etc/group
fedora:x:7777:
...
groupdel 删除组
groupdel GROUP
删除fedora组:
[root@localhost ~]# groupdel fedora
[root@localhost ~]# tail -3 /etc/group
useradd 添加用户或更新默认用户信息;/usr/sbin/adduser: symbolic link to `useradd’
useradd [选项] 登录名
-u, --uid UID 指定UID号;默认UID+1;
-g, --gid GROUP 指定基本组ID,此组得事先存在;
-G, --groups GROUP1[,GROUP2,...[,GROUPN]]] 用户的附加组,多个间用逗号分隔;
-c, --comment COMMENT 注释信息;
-d, --home-dir HOME_DIR 创建以指定的路径为用户的家目录;通过复制/etc/skel此目录并重命名实现;指定的家目录路径如果事先存在,则不会复制文件;
-s, --shell SHELL 默认shell,可用的所有常规shell列表存储在/etc/shells文件当中;
-r, --system 系统用户;
-m, --create-home
-M, --no-create-home 不为用户创建主目录 CREATE_HOME yes 自动创建
-f, --inactive INACTIVE
注意:创建用户时的诸多默认设定配置文件为/etc/login.defs;
useradd -D [OPTION]... 操作/etc/default/useradd文件;
# useradd -D 显示创建用户的默认配置;
GROUP=100 添加同名私有组
HOME=/home 非系统组时,家目录位置
INACTIVE=-1 非活动期,禁用;
EXPIRE= 过期期限:永不过期;
SHELL=/bin/bash 默认SHELL
SKEL=/etc/skel 复制用户骨架信息
CREATE_MAIL_SPOOL=yes 是否为用户创建邮筒;/var/spool/mail/USERNAME 为用户创建邮筒
-s, --shellSHELL
添加gentoo用户:
[root@localhost ~]# useradd gentoo
[root@localhost ~]# tail -1 /etc/passwd
gentoo:x:500:5202::/home/gentoo:/bin/bash
添加UID为5200的redhat用户:
[root@localhost ~]# useradd -u 5200 redhat
[root@localhost ~]# tail -1 /etc/passwd
redhat:x:5200:5200::/home/redhat:/bin/bash
添加以gentoo为基本组的centos用户:
[root@localhost ~]# useradd -g gentoo centos
[root@localhost ~]# tail -1 /etc/passwd
centos:x:5201:5202::/home/centos:/bin/bash
[root@localhost ~]# id centos
uid=5201(centos) gid=5202(gentoo) groups=5202(gentoo)
添加以gentoo为附加组的debian用户:
[root@localhost ~]# useradd -G gentoo debian
[root@localhost ~]# id debian
uid=5202(debian) gid=5203(debian) groups=5203(debian),5202(gentoo)
添加以"SUSE Linux Enterprise System"为注释信息的sles用户:
[root@localhost ~]# useradd -c "SUSE Linux Enterprise System" sles
[root@localhost ~]# tail -1 /etc/passwd
sles:x:5203:5204:SUSE Linux Enterprise System:/home/sles:/bin/bash
创建以/var/tmp/knopix为家目录的knopix用户:
[root@localhost ~]# useradd -d /var/tmp/knopix knopix
[root@localhost ~]# tail -1 /etc/passwd
knopix:x:5204:5205::/var/tmp/knopix:/bin/bash
创建默认shell为/bin/csh的ubuntu用户:
[root@localhost ~]# useradd -s /bin/csh ubuntu
[root@localhost ~]# tail -1 /etc/passwd
ubuntu:x:5205:5206::/home/ubuntu:/bin/csh
创建系统用户mint:
[root@localhost ~]# useradd -r mint
[root@localhost ~]# tail -1 /etc/passwd
mint:x:498:498::/home/mint:/bin/bash
创建opensuse用户不为其创建家目录:
[root@localhost ~]# useradd -M opensuse
[root@localhost ~]# tail -1 /etc/passwd
opensuse:x:5206:5207::/home/opensuse:/bin/bash
[root@localhost ~]# ls /home
centos debian gentoo lost+found redhat sles ubuntu
查看默认配置:
[root@localhost ~]# useradd -D
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
修改默认SHELL为/bin/csh:
[root@localhost ~]# useradd -D -s /bin/csh
[root@localhost ~]# useradd -D
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/csh
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
usermod 修改默认属性
usermod [选项] 登录
-u, --uid UID 修改用户的ID为此处指定的新UID;
-g, --gid GROUP 修改用户所属的基本组为此处所指的GROUP;
-G, --groups GROUP1[,GROUP2,...[,GROUPN]]] 修改用户所属的附加组,原来的附加组会被覆盖;以逗号分隔的列表;
-a, --append 与-G一同使用,用于为用户追加新的附加组;
-c, --comment COMMENT 修改注释信息;
-d, --home-dir HOME_DIR 修改用户的家目录;用户原有的文件不会被转移至新位置;
-m, --move-home 与-d一同使用,用于将原来的家目录移动为新的家目录;
-l, --login NEW_LOGIN 修改用户名;
-s, --shell SHELL 修改用户的默认shell为此处指定的SHELL;
-L, --lock 锁定用户密码;即在用户原来的密码字符串之前添加一个"!";
-U, --unlock 解锁用户的密码;
修改gentoo用户的UID为5202:
[root@localhost ~]# id gentoo
uid=500(gentoo) gid=5202(gentoo) groups=5202(gentoo)
[root@localhost ~]# usermod -u 5202 gentoo
[root@localhost ~]# id gentoo
uid=5202(gentoo) gid=5202(gentoo) groups=5202(gentoo)
修改gentoo用户的基本组为mageedu:
[root@localhost ~]# usermod -g mageedu gentoo
[root@localhost ~]# id gentoo
uid=5202(gentoo) gid=500(mageedu) groups=500(mageedu)
为gentoo用户添加附加组为gentoo和knopix:
[root@localhost ~]# usermod -a -G gentoo,knopix gentoo
[root@localhost ~]# id gentoo
uid=5202(gentoo) gid=500(mageedu) groups=500(mageedu),5202(gentoo),5205(knopix)
修改gentoo的注释为"...":
[root@localhost ~]# usermod -c '...' gentoo
[root@localhost ~]# tail /etc/passwd
gentoo:x:5202:500:...:/home/gentoo:/bin/bash
...
修改gentoo用户的家目录为/var/tmp/gentoo:
[root@localhost ~]# usermod -d /var/tmp/gentoo gentoo
[root@localhost ~]# tail /etc/passwd
gentoo:x:5202:500:...:/var/tmp/gentoo:/bin/bash
...
[root@localhost ~]# su - gentoo
su: warning: cannot change directory to /var/tmp/gentoo: No such file or directory
-bash-4.1$
修改gentoo用户的家目录,原家目录中的文件一并移动;
[root@localhost ~]# usermod -m -d /home/gentoo gentoo
[root@localhost ~]# usermod -m -d /var/tmp/gentoo gentoo
[root@localhost ~]# su - gentoo
[gentoo@localhost ~]$
修改gentoo用户名为archlinux:
[root@localhost ~]# usermod -l archlinux gentoo
[root@localhost ~]# tail -1 /etc/passwd
archlinux:x:5202:500:...:/var/tmp/gentoo:/bin/bash
修改archlinux默认shell为/bin/csh:
[root@localhost ~]# usermod -s /bin/csh archlinux
[root@localhost ~]# tail -1 /etc/passwd
archlinux:x:5202:500:...:/var/tmp/gentoo:/bin/csh
锁定archlinux用户:
[root@localhost ~]# echo "mageedu" | passwd --stdin archlinux
[root@localhost ~]# tail -1 /etc/shadow
archlinux:$6$aKSNkmc.$Q/nA8K/80vUx9bF4duP3X1w7PEjDl6QMH.FWclqGAno81Ez6.qyrt4WyFB6OePvzpldPa6tls7OhbqxOcpHVQ1:17446:0:99999:7:::
[root@localhost ~]# usermod -L archlinux
[root@localhost ~]# tail -1 /etc/shadow
archlinux:!$6$aKSNkmc.$Q/nA8K/79vUx9bF4duP3X1w7PEjDl6QMH.FWclqGAno81Ez6.qyrt4WyFB6OePvzpldPa6tls7OhbqxOcpHVQ1:17446:0:99999:7:::
注意:在第二个字段前多了一个"!"。
解锁archlinux用户:
[root@localhost ~]# usermod -U archlinux
[root@localhost ~]# tail -1 /etc/shadow
archlinux:$6$aKSNkmc.$Q/nA8K/80vUx9bF4duP3X1w7PEjDl6QMH.FWclqGAno81Ez6.qyrt4WyFB6OePvzpldPa6tls7OhbqxOcpHVQ1:17446:0:99999:7:::
userdel 删除用户
userdel [选项] 登录
-r, --remove 删除用户时一并删除其家目录;默认不会删除;
删除debian用户保留家目录:
[root@localhost ~]# userdel debian
[root@localhost ~]# ls /home
centos debian gentoo lost+found redhat sles ubuntu
[root@localhost ~]# id debian
id: debian: No such user
删除ubuntu用户不保留其家目录:
[root@localhost ~]# userdel -r ubuntu
[root@localhost ~]# ls /home
centos debian gentoo lost+found redhat sles
passwd 更新用户密码
passwd [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays] [-S] [--stdin] [username]
passwd 修改用户自己的密码
passwd USERNAME 修改指定用户的密码,但仅root有此权限;
-l,-u 锁定和解锁用户;!! ;同usermod -L,-U !
-d 清除用户密码串;
-e 立即过期
-i DAYS: 非活动期限,天;
-w DAYS: 警告期限;
-x DAYS: 密码的最长使用期限;
-n DAYS: 密码的最短使用期限;
--stdin:从标准输入获取密码;
# echo "magedu" | passwd --stdin docker &> /dev/null
# echo $? 执行状态结果为0成功;
为centos用户添加mageedu密码:
[root@localhost ~]# passwd centos
Changing password for user centos.
New password:
BAD PASSWORD: it is based on a dictionary word
BAD PASSWORD: is too simple
Retype new password:
passwd: all authentication tokens updated successfully.
[root@localhost ~]# tail -1 /etc/shadow
centos:$6$.Vk1LX6r$zhLaN7.VOOO33MwxOLVKfWDr8gONZn5wvAxteVvSfaSRgnAPQuX6BCakiBQLDpEl9y2Ff3SLxMT5uE9I0dxkE/:17446:0:99999:7:::
...
锁定centos用户:
[root@localhost ~]# passwd -l centos
[root@localhost ~]# tail /etc/shadow
centos:!!$6$.Vk1LX6r$zhLaN7.VOOO33MwxOLVKfWDr8gONZn5wvAxteVvSfaSRgnAPQuX6BCakiBQLDpEl9y2Ff3SLxMT5uE9I0dxkE/:17446:0:99999:7:::
...
注意:在第二个字段是"!!",比usermod -L锁定多了一个!;
解锁centos用户:
[root@localhost ~]# passwd -u centos
[root@localhost ~]# tail /etc/shadow
centos:$6$.Vk1LX6r$zhLaN7.VOOO33MwxOLVKfWDr8gONZn5wvAxteVvSfaSRgnAPQuX6BCakiBQLDpEl9y2Ff3SLxMT5uE9I0dxkE/:17446:0:99999:7:::
...
修改centos用户最短密码使用期限为25天:
[root@localhost ~]# passwd -n 25 centos
[root@localhost ~]# tail /etc/shadow
centos:$6$.Vk1LX6r$zhLaN7.VOOO33MwxOLVKfWDr8gONZn5wvAxteVvSfaSRgnAPQuX6BCakiBQLDpEl9y2Ff3SLxMT5uE9I0dxkE/:17446:25:99999:7:::
...
修改centos用户最长密码使用期限为520天:
[root@localhost ~]# passwd -x 520 centos
[root@localhost ~]# tail /etc/shadow
centos:$6$.Vk1LX6r$zhLaN7.VOOO33MwxOLVKfWDr8gONZn5wvAxteVvSfaSRgnAPQuX6BCakiBQLDpEl9y2Ff3SLxMT5uE9I0dxkE/:17446:25:520:7:::
...
修改centos警告期为10天;
[root@localhost ~]# passwd -w 10 centos
[root@localhost ~]# tail /etc/shadow
centos:$6$.Vk1LX6r$zhLaN7.VOOO33MwxOLVKfWDr8gONZn5wvAxteVvSfaSRgnAPQuX6BCakiBQLDpEl9y2Ff3SLxMT5uE9I0dxkE/:17446:25:520:10:::
...
修改centos非活动期限77天:
[root@localhost ~]# passwd -i 77 centos
[root@localhost ~]# tail /etc/shadow
centos:$6$.Vk1LX6r$zhLaN7.VOOO33MwxOLVKfWDr8gONZn5wvAxteVvSfaSRgnAPQuX6BCakiBQLDpEl9y2Ff3SLxMT5uE9I0dxkE/:17446:25:520:10:77::
...
修改centos立即过期:
[root@localhost ~]# passwd -e centos
newgrp 临时切换指定组为基本组;
newgrp [-] [group]
- 会模拟用户重新登录以实现重新初始化其工作环境;
临时切换mygrp为基本组:
[root@localhost ~]# newgrp mygrp
[root@localhost ~]# id
uid=0(root) gid=499(mygrp) groups=499(mygrp),0(root)
chage 更改用户密码过期信息
chage [选项] 登录名
-d,最近修改密码时间
-m,min
-M, max
-W, warn
-I, inactive
-E, expire
修改archlinux用户最近修改密码时间:
[root@localhost ~]# chage -d 1 archlinux
[root@localhost ~]# tail -1 /etc/shadow
archlinux:$6$aKSNkmc.$Q/nA8K/80vUx9bF4duP3X1w7PEjDl6QMH.FWclqGAno81Ez6.qyrt4WyFB6OePvzpldPa6tls7OhbqxOcpHVQ1:1:0:99999:7:::
修改archlinux用户最短密码使用期限为12天:
[root@localhost ~]# chage -m 12 archlinux
[root@localhost ~]# tail -1 /etc/shadow
archlinux:$6$aKSNkmc.$Q/nA8K/80vUx9bF4duP3X1w7PEjDl6QMH.FWclqGAno81Ez6.qyrt4WyFB6OePvzpldPa6tls7OhbqxOcpHVQ1:1:12:99999:7:::
修改archlinux用户最长密码使用期限为5200天:
[root@localhost ~]# chage -M 5200 archlinux
[root@localhost ~]# tail -1 /etc/shadow
archlinux:$6$aKSNkmc.$Q/nA8K/80vUx9bF4duP3X1w7PEjDl6QMH.FWclqGAno81Ez6.qyrt4WyFB6OePvzpldPa6tls7OhbqxOcpHVQ1:1:12:5200:7:::
修改archlinux警告期为13天;
[root@localhost ~]# chage -W 13 archlinux
[root@localhost ~]# tail -1 /etc/shadow
archlinux:$6$aKSNkmc.$Q/nA8K/80vUx9bF4duP3X1w7PEjDl6QMH.FWclqGAno81Ez6.qyrt4WyFB6OePvzpldPa6tls7OhbqxOcpHVQ1:1:12:5200:13:::
修改archlinux非活动期限90天:
[root@localhost ~]# chage -I 90 archlinux
[root@localhost ~]# tail -1 /etc/shadow
archlinux:$6$aKSNkmc.$Q/nA8K/80vUx9bF4duP3X1w7PEjDl6QMH.FWclqGAno81Ez6.qyrt4WyFB6OePvzpldPa6tls7OhbqxOcpHVQ1:1:12:5200:13:90:::
修改archlinux过期时间20500101:
[root@localhost ~]# tail -1 /etc/shadow
archlinux:$6$aKSNkmc.$Q/nA8K/80vUx9bF4duP3X1w7PEjDl6QMH.FWclqGAno81Ez6.qyrt4WyFB6OePvzpldPa6tls7OhbqxOcpHVQ1:1:12:5200:13:90:20500101:
id 显示用户的实际或有效ID
id [OPTION]... [USER]
id 显示自己
-u, --user 仅显示有效的UID;
-g, --group 仅显示用户的基本组ID;
-G, --groups 仅显示用户所属的所有组ID;
-n, --name 显示名字而非ID;与以上选项连用;
显示archlinux用户ID:
[root@localhost ~]# id archlinux
uid=5202(archlinux) gid=500(mageedu) groups=500(mageedu),5202(gentoo),5205(knopix)
显示archlinux用户UID及用户名:
[root@localhost ~]# id -u archlinux
5202
[root@localhost ~]# id -un archlinux
archlinux
显示archlinux用户GID及私有组名:
[root@localhost ~]# id -g archlinux
500
[root@localhost ~]# id -gn archlinux
mageedu
显示archlinux用户所有组及组名:
[root@localhost ~]# id -G archlinux
500 5202 5205
[root@localhost ~]# id -Gn archlinux
mageedu gentoo knopix
su switch user
登陆式切换:会通过读取目标用户shell环境的配置文件来重新初始化;
su - USERNAME
su -l USERNAME
非登陆式切换:不会读取目标用户shell环境的配置文件来重新初始化;
su USERNAME
注意:管理员可无密码切换至其它任何用户;非管理员必须给出密码切换至其它用户;
-c 'COMMAND' 仅以指定用户的身份运行此处指定的COMMAND;
登陆切换至archlinux:
[root@localhost ~]# su - archlinux
[archlinux@localhost ~]$ pwd
/var/tmp/gentoo
非登陆切换至archlinux:
[root@localhost ~]# su archlinux
[archlinux@localhost /root]$ pwd
/root
finger 用户信息查询工具
Login: docker Name:
Directory: /home/docker Shell: /bin/bash
Last login 五 10月 6 21:41 (EDT) on pts/5
No mail.
No Plan.
chfn 修改用户注释信息;
chfn [user]
[root@localhost ~]# chfn archlinux
Changing finger information for archlinux.
Name [...]: ArchLinux
Office []: 96168
Office Phone []: 96168
Home Phone []: 96168
Finger information changed.
[root@localhost ~]# tail -1 /etc/passwd
archlinux:x:5202:500:ArchLinux,96168,96168,96168:/var/tmp/gentoo:/bin/csh
chsh 修改用户shell;
chsh [OPTION] [user]
-s, --shell shell
[root@localhost ~]# chsh archlinux
Changing shell for archlinux.
New shell [/bin/csh]: /bin/bash
Shell changed.
[root@localhost ~]# tail -1 /etc/passwd
archlinux:x:5202:500:ArchLinux,96168,96168,96168:/var/tmp/gentoo:/bin/bash
whoami 当前有效用户
[root@localhost ~]# whoami
root
pwck 检查密码文件异常
[root@localhost ~]# pwck
user 'adm': directory '/var/adm' does not exist
user 'uucp': directory '/var/spool/uucp' does not exist
user 'gopher': directory '/var/gopher' does not exist
user 'ftp': directory '/var/ftp' does not exist
user 'saslauth': directory '/var/empty/saslauth' does not exist
user 'mint': directory '/home/mint' does not exist
pwck: no changes
grpck 检查组文件异常
权限命令: chmod
chmod [OPTION]... MODE[,MODE]... FILE...
chmod [OPTION]... OCTAL-MODE FILE...
chmod [OPTION]... --reference=RFILE FILE...
-R, --recursive 递归修改目录及目录下所有文件的权限;常用于授权表示法及赋权表示法;
三类用户:
- u:属主
- g:属组
- o:其它
- a:所有
(1) chmod [OPTION]… MODE[,MODE]… FILE…
MODE表示法:
赋权表示法:修改一类或多类用户的“所有”权限位:同时指定多类用户时需要用逗号分隔;
u=
g=
o=
u=,g=
u=,g=,o=
ug=
go=
...
修改当前目录下所有文件属主权限为空;属组权限为空;
[root@localhost ~]# chmod u=,g= ./*
[root@localhost ~]# ll
total 32
----------. 1 root root 2248 Oct 7 08:12 anaconda-ks.cfg
-------r--. 1 root root 16910 Oct 7 08:12 install.log
-------r--. 1 root root 5820 Oct 7 08:10 install.log.syslog
授权表示法:修改一类或多类用户的“一位”权限位;
u+
u-
g+
g-
o+
o-
a+ 或 +
a- 或 -
u+,g+
...
+w:仅对属主有效;
修改当前目录下所有文件:属主权限给予读写权限;属组权限给予读权限:
[root@localhost ~]# chmod u+rw,g+r ./*
[root@localhost ~]# ll
total 32
-rw-r-----. 1 root root 2248 Oct 7 08:12 anaconda-ks.cfg
-rw-r--r--. 1 root root 16910 Oct 7 08:12 install.log
-rw-r--r--. 1 root root 5820 Oct 7 08:10 install.log.syslog
给当前目录下所有文件所有权限位附加写权限;
[root@localhost ~]# chmod +w ./*
[root@localhost ~]# ll
total 32
-rw-r-----. 1 root root 2248 Oct 7 08:12 anaconda-ks.cfg
-rw-r--r--. 1 root root 16910 Oct 7 08:12 install.log
-rw-r--r--. 1 root root 5820 Oct 7 08:10 install.log.syslog
(2) chmod [OPTION]… OCTAL-MODE FILE…
OCTAL-MODE:八进制权限位;
[root@localhost ~]# chmod 600 ./*
[root@localhost ~]# ll
total 32
-rw-------. 1 root root 2248 Oct 7 08:12 anaconda-ks.cfg
-rw-------. 1 root root 16910 Oct 7 08:12 install.log
-rw-------. 1 root root 5820 Oct 7 08:10 install.log.syslog
(3) chmod [OPTION]… –reference=RFILE FILE…
参考一个文件的权限修改当前文件;
[root@localhost ~]# chmod --reference=/var/log/wtmp ./*
[root@localhost ~]# ll
total 32
-rw-rw-r--. 1 root root 2248 Oct 7 08:12 anaconda-ks.cfg
-rw-rw-r--. 1 root root 16910 Oct 7 08:12 install.log
-rw-rw-r--. 1 root root 5820 Oct 7 08:10 install.log.syslog
从属关系管理命令:chown, chgrp
chown:
chown [OPTION]... [OWNER][:[GROUP]] FILE...
chown [OPTION]... --reference=RFILE FILE...
-R, --recursive 递归修改目录及目录下所有文件的属主、属组;
注意:OWNER:GROUP 和 OWNER.GROUP都可使用;
修改当前目录下所有文件的属主为archlinux:
[root@localhost ~]# chown archlinux ./*
[root@localhost ~]# ll
total 32
-rw-rw-r--. 1 archlinux root 2248 Oct 7 08:12 anaconda-ks.cfg
-rw-rw-r--. 1 archlinux root 16910 Oct 7 08:12 install.log
-rw-rw-r--. 1 archlinux root 5820 Oct 7 08:10 install.log.syslog
修改当前目录下所有文件的属主为root,属组为knopix:
[root@localhost ~]# chown root:knopix ./*
[root@localhost ~]# ll
total 4
-rw-------. 1 root knopix 1260 Oct 6 16:03 anaconda-ks.cfg
-rw-r--r--. 1 root knopix 0 Oct 6 19:47 install.log
-rw-r--r--. 1 root knopix 0 Oct 6 19:47 install.log.syslog
修改当前目录下所有文件的属组为archlinux:
[root@localhost ~]# chown .archlinux ./*
[root@localhost ~]# ll
total 4
-rw-------. 1 root archlinux 1260 Oct 6 16:03 anaconda-ks.cfg
-rw-r--r--. 1 root archlinux 0 Oct 6 19:47 install.log
-rw-r--r--. 1 root archlinux 0 Oct 6 19:47 install.log.syslog
参考/var/log/yum.log属主和属组修改当前目录下所有文件的属主和属组:
[root@localhost ~]# chown --reference=/var/log/yum.log ./*
[root@localhost ~]# ll
total 4
-rw-------. 1 root root 1260 Oct 6 16:03 anaconda-ks.cfg
-rw-r--r--. 1 root root 0 Oct 6 19:47 install.log
-rw-r--r--. 1 root root 0 Oct 6 19:47 install.log.syslog
chgrp:
chgrp [OPTION]... GROUP FILE...
chgrp [OPTION]... --reference=RFILE FILE...
修改当前目录下所有文件的属组为archlinux:
[root@localhost ~]# chgrp archlinux ./*
[root@localhost ~]# ll
total 4
-rw-------. 1 root archlinux 1260 Oct 6 16:03 anaconda-ks.cfg
-rw-r--r--. 1 root archlinux 0 Oct 6 19:47 install.log
-rw-r--r--. 1 root archlinux 0 Oct 6 19:47 install.log.syslog
参考/var/log/yum.log属组修改当前目录下install.log文件:
[root@localhost ~]# chgrp --reference=/var/log/yum.log install.log
[root@localhost ~]# ll
total 4
-rw-------. 1 root archlinux 1260 Oct 6 16:03 anaconda-ks.cfg
-rw-r--r--. 1 root root 0 Oct 6 19:47 install.log
-rw-r--r--. 1 root archlinux 0 Oct 6 19:47 install.log.syslog
本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/88240
评论列表(1条)
总结的非常的好,从内容到格式看得出很用心的在做的。基本的掌握之后,可以深入了解一下另外三个特殊权限位,suid,sgid和sticky位,加油。