本文共 6634 字,大约阅读时间需要 22 分钟。
/etc/passwd文件总共分为7部分
用户名:用户密码:UID:GID:用户的描述:用户的家目录:登入shell/etc/shadow文件总共分为9部分用户名:密码位:密码上一次修改时间:密码最小存活时间:密码最大存活时间:密码过期之前多少天提醒用户:密码过期之后多少天用户过期:账户过期时间(与密码上一次修改时间无关):保留位id ----------------------------------查看用户的信息(用户名,UID,GID,附加组等信息)
useradd&adduser ------>创建用户命令-u:指定用户的UID[root@centos7 ~]# useradd -u 2000 user1
[root@centos7 ~]# id user1uid=2000(user1) gid=2000(user1) groups=2000(user1)
-g:指定用户的主组
[root@centos7 ~]# useradd -g user1 user2
[root@centos7 ~]# id user2uid=2001(user2) gid=2000(user1) groups=2000(user1)
-G:指定用户的附加组信息
[root@centos7 ~]# useradd -G user1 user3
[root@centos7 ~]# id user3uid=2002(user3) gid=2002(user3) groups=2002(user3),2000(user1)
-c:用户的描述信息
[root@centos7 ~]# useradd -c "ceshixinxi" user4
[root@centos7 ~]# cat /etc/passwd | grep user4user4:x:2003:2003:ceshixinxi:/home/user4:/bin/bash
-s:指定用户的登入shell
[root@centos7 ~]# useradd -s /sbin/nologin user5
[root@centos7 ~]# grep user5 /etc/passwduser5:x:2004:2004::/home/user5:/sbin/nologin
-d:指定用户的家目录
[root@centos7 ~]# useradd -d /user6 user6
-o:不检查UID的唯一性,相当于创建有两个登录名的用户
[root@centos7 user6]# useradd -o -u 2000 user7
[root@centos7 user6]# id user1uid=2000(user1) gid=2000(user1) groups=2000(user1)[root@centos7 user6]# id user7uid=2000(user1) gid=2000(user1) groups=2000(user1)
-N:不创建私有组,指定users组做为主组
[root@centos7 user6]# grep user8 /etc/passwd
user8:x:2006:100::/home/user8:/bin/bash
-r:创建系统用户(CentOS 6之前的 <500,Centos 7 <1000)
[root@centos7 user6]# useradd -r user9
[root@centos7 user6]# grep user9 /etc/passwduser9:x:991:986::/home/user9:/bin/bash
usermod -------------------->更改用户的信息
-u newUID user:修改用户的uid[root@centos7 user6]# usermod -u 3000 user1
[root@centos7 user6]# id user1uid=3000(user1) gid=2000(user1) groups=2000(user1)
-g newGID user:修改用户名的主组
[root@centos7 user6]# usermod -g 2002 user1
[root@centos7 user6]# id user1uid=3000(user1) gid=2002(user3) groups=2002(user3)
-G newGID user:修改用户的附加组
[root@centos7 user6]# usermod -G 2006 user1
[root@centos7 user6]# id user1uid=3000(user1) gid=2002(user3) groups=2002(user3),2006(user7)
-a 与G配合使用,在添加附加组的时候,不会影响之前的附加组
-s shell名 user:设置用户的登入shell-c "描述信息" user:修改用户的描述信息-d /newname 用户名 :修改用户的家目录,新家目录不会自动创建;若要创建新家目录并移动原家数据,同时使用-m选项l newname oldname:修改用户名-L user:锁定用户,相当于在/etc/shadow文件中的密码位前添加![root@centos7 user6]# usermod -L user1
[root@centos7 user6]# grep user1 /etc/shadowuser1:!$6$PsV1.zv4$dGgmKQwIA1Hed/PkSqFdWApsysJ.3t3a4kndhC48fEftgmAauS9cFE2dyhpJ.fhfFAe/ki5LqZogFOHGAAq8b/:17551:0:99999:7:::
-U user:解锁用户
[root@centos7 user6]# usermod -U user1
[root@centos7 user6]# grep user1 /etc/shadowuser1:$6$PsV1.zv4$dGgmKQwIA1Hed/PkSqFdWApsysJ.3t3a4kndhC48fEftgmAauS9cFE2dyhpJ.fhfFAe/ki5LqZogFOHGAAq8b/:17551:0:99999:7:::
-e YYYY-MM-DD:指明用户账户过期日期
[root@centos7 user6]# usermod -e 2019-02-20 user1
[root@centos7 user6]# grep user1 /etc/shadowuser1:$6$PsV1.zv4$dGgmKQwIA1Hed/PkSqFdWApsysJ.3t3a4kndhC48fEftgmAauS9cFE2dyhpJ.fhfFAe/ki5LqZogFOHGAAq8b/:17551:0:99999:7::17947:
userdel -------------------->删除用户
-r 用户名:删除用户及其和用户有关的所有文件passwd -------------------->设置密码
passwd username :指定要修改密码的用户名(仅root可以使用)-l :锁定用户-u:解锁用户-e:强制用户下次登录更改密码-n:指定密码最短使用期限-x:指定密码最大使用期限-w:提前多少天开始警告--stdin 从标准输入接收用户面 举例:echo 123456 |passwd --stdin rootchage --------------------->用来修改密码策略
-m:密码最小使用天数,如果为零将不受限制,随意更改。-M:密码最大使用天数。-w:密码过期前的多少天提醒用户。-E:账户过期时间,如果超过该天数,账户将不可使用。-d:上一次更改的日期。-i:停滞时期。如果一个密码已过期这些天,那么此帐号将不可用。-l:显示出当前用户的密码策略。/etc/group文件分为四部分
组名:密码位:GID:附加组/etc/gshadow文件分为四部分组名:密码:管理员:组成员**groupadd ------------------->用来创建组
-g GID 组名:创建指定GID的组
[root@centos7 user6]# groupadd -g 3000 admins
[root@centos7 user6]# grep admins /etc/groupadmins:x:3000:
groupmod------------------->用来修改组信息
-n newname 组名:修改组名
-g newGID 组名:修改GIDgroupdel ------------------->用来删除组
groupdel 组名:删除组
gpasswd ----------------------->用来设置组密码
gpasswd 组名:设置组密码-a username 组名:将某用户以附加组加入到该组(管理员就可以使用)-A username 组名:用来设置某组的管理员(仅root使用)-d username 组名:将某个用户从改组中删除(管理员就可以使用)-M username 组名:设置某族的用户列表(仅root使用)相关命令 newgrp 组名:用来临时改变主组,若改用户附属组属于改组,则不用输入密码,若不属于,则需要输入密码。groupmems ---------------------用来修改用户的附加组
-g 组名 -a username:将某用户以附加组的方式加入到某组中-g 组名 -d username:将某用户从该组中删除-g 组名 -p :清空所有组成员-g 组名 -l:列出该组中有哪些成员groups 用户名 : 查看指定用户属于那些组
chown------------------------------------用来更改文件或目录所属人,也可以用来更改文件或目录的所属组chown 用户名:组名chown 用户名.组名-R 递归--reference=file1 file2:复制所属组chgrp 组名 -----------------------------用来更改文件或目录的所属组-R 递归权限的作用对象:owner(所属人u)、group(所属组g)、other(其他人o)
普通权限分为:Read(读:r:4)、Write(写:w:2)eXe(执行:x:1)设置权限的命令:chmodchmod u+rwx file :给file文件所属人添加rwx权限chmod u=rwx file:给file文件所属人赋予rwx权限chmod u-rwx file:给file文件所属人减去rwx权限chmod g+rwx file :给file文件所属组添加rwx权限chmod g=rwx file:给file文件所属组赋予rwx权限chmod g-rwx file:给file文件所属组减去rwx权限chmod o+rwx file :给file其他人添加rwx权限chmod o=rwx file:给file其他人赋予rwx权限chmod o-rwx file:给file其他人减去rwx权限chmod a+rwx file:给全部人添加rwx权限chmod a-rwx file:给全部人减去rwx权限chmod a=rwx file:给全部人赋予rwx权限chmod 777 file:给全部人添加rwx权限,第一位代表所有人,第二位代表所属组,第三位代表其他人。权限的作用在文件时:
1)当仅有r权限时,用户可以读取文件内容。2)当仅有W权限时,用户可以修改内容但是只可以覆盖和追加。3)当仅有x权限时,无作为。4)当有rw权限时,用户可以读写文件。5)当有rx权限时,用户可以读文件和执行文件。6)当有wx时,权限等同于仅有W权限。常见权限有r--- rw- rwx权限作用在目录上时:1)当仅有r权限时,用户可以短列出文件名2)当仅有w权限时,用户无作为。3)当仅有x权限时,用户可以进入目录,并且在知道文件目录的情况下可以访问子文件。4)当有rw权限时,权限等于仅有r。5)当有rx全是时,用户进入,长列出6)当有wx权限时,用户进入可以创建删除文件,但是不能使用通配符目录常见权限r-x rwx高级权限分为:Suid、Sgid、Sticky
chmod u+s fileSuid:指加入该权限后(作用在一个二进制文件上),当执行一个二进制文件权限会临时更改为该二进制文件的所属人。Sgid:指加入该权限后(作用在目录或二进制文件),当加入该权限后,对于二进制文件来说,会临时的拥有所属组的权限,对与一个目录来说,当加入该权限,在该目录下创建文件或目录,所属组会自动变成该组。
Sticky:当对一个目录加了 该权限时,仅文件所属人,目录所属人及其root才能删除,其他人不能删除。chattr:
+a:不能删除,不能改名,不能修改,可以追加[root@centos7 app]# chattr +a 1.txt
[root@centos7 app]# rm -rf 1.txt rm: cannot remove ‘1.txt’: Operation not permitted[root@centos7 app]# mv 1.txt 2.txtmv: cannot move ‘1.txt’ to ‘2.txt’: Operation not permitted[root@centos7 app]# touch 123 > 1.txt -bash: 1.txt: Operation not permitted[root@centos7 app]# touch 123 >> 1.txt
+i:不能删除,不能改名,不能修改,不能追加。
[root@centos7 app]# chattr +i 1.txt
[root@centos7 app]# lsattr 1.txt ----i----------- 1.txt
lsattr:查看权限。
setfacl:用来在命令行里设置权限,可以针对用户,组来设置权限
acl 设置格式setfacl -m u:user:rwx file前面选项:-m:添加acl-X:批量导入-d:设置默认权限-k:清除默认权限-b:清楚acl属性后面选项:-u:指定用户权限-g:指定附加组权限-m:指定上线阈值-o:指定其他人权限举例使用:setfacl -m u:user:rwx file :给user添加rwxsetfacl -m g:user:rwx file:给user组添加rwxsetfacl -m d:u:user:rwx file:添加默认acl权限setfacl -X file.acl file :将file.acl文件中权限给file文件setfacl -k file :清除默认权限setfacl -b file :清除acl属性getfacl:用来查看设置的acl权限。[root@centos7 app]# getfacl 1.txt
#file: 1.txt
#owner: root#group: rootuser::rw-group::r--other::r--
转载于:https://blog.51cto.com/10492754/2063057