本文共 6143 字,大约阅读时间需要 20 分钟。
linux用户:
管理员:root, UID号为:0
普通用户: 1-65535系统用户:1-499(centos6),1-1000(centos7) 登录用户:500+(centos6), 1000+(centos7)
linux组:
管理员组:root, UID号为:0
普通组:系统组:1-499(centos6),1-1000(centos7) 普通组:500+(centos6), 1000+(centos7)
linux组的类别
用户的主要组(primary group) 用户必须属于一个且只有一个主组,组名同用户名 用户的附加组(supplementary group) 一个用户可以没有或有多个附加组
linux 用户和组的主要配置文件:
/etc/passwd (root:x:0:0:root:/root:/bin/bash)name:用户名 password:密码位,pwconv 密码被映射到了/etc/shadow uid: gid: gecos:描述位 home: 家目录 shell: 默认为/bin/bash 如果设置为/sbin/nologin 表示不可以交互式登录 /etc/shadow (root:$6$4uOWPgUw$kAWs8f8m9EXMbdxLS1:17675:0:99999:7:::) name:用户名 password:$6$salt$password 密码上一次的修改时间: 密码的最小存活期:在这个时间到达之前,不能改密码 密码的最大存活期:密码的过期时间 密码过期前多少天警告: 密码过期后多少天触发帐户过期: 帐户过期时间:从1970-1-1开始计算 保留位 chage Options: -d, --lastday LAST_DAY 修改密码上一次的修改时间 -E, --expiredate EXPIRE_DATE 设置密码的过期时间 -I, --inactive INACTIVE 设置密码过期之后多少天触发帐户过期 -l, --list 列出信息 -m, --mindays MIN_DAYS 设置密码的最小存活期 -M, --maxdays MAX_DAYS 设置密码的最大存活期 -W, --warndays WARN_DAYS 设置密码过期之前多少天提醒用户 /etc/group (root:x:0:gentoo) 组名称 组密码:x表示 grpconv 组密码被映射到了/etc/gshadow 组ID 组成员:作为附加组的成员列表,以逗号分隔 /etc/gshadow 组名称 组密码 组管理员:以逗号分隔,可以修改组密码以及修改组成员 组成员:作为附加组的成员列表,以逗号分隔 添加用户 useradd [options] LOGIN -u UID -o 配合-u 选项,不检查UID的唯一性 -g GID/GROUP NAME:指明用户所属基本组,可为组名,也可以GID -c "COMMENT":用户的注释信息 -d HOME_DIR: 以指定的路径(不存在)为家目录 确保指定目录的目录名要存在,而基名不要存在 -s SHELL: 指明用户的默认shell程序,默认不指定是为/bin/bash -G GROUP1[,GROUP2,...]:为用户指明附加组,组须事先存在 -N 不创建私用组做主组,使用users组做主组 -r: 创建系统用户 CentOS 6: ID<500,CentOS 7: ID<1000 -m 创建家目录,用于系统用户 -M 不创建家目录,用于非系统用户 手工创建家目录
mkdir /home/magetest
cp -r /etc/skel/.[^.]* /home/magetest
chown -R magetest.magetest /home/magetest
chmod -R 700 /home/matgtest
添加用户的默认配置文件 (/etc/default/useradd)
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
修改用户的相关属性 usermod [OPTION] login -u UID: 新UID -g GID: 新主组 -G GROUP1[,GROUP2,...[,GROUPN]]]:新附加组,原来的附加组将会被覆盖;若保留原有,则要同时使用-a选项 -s SHELL:新的默认SHELL -c 'COMMENT':新的注释信息 -d HOME: 新家目录不会自动创建;若要创建新家目录并移动原家数据,同时使用-m选项 -l login_name: 新的名字; -L: lock指定用户,在/etc/shadow 密码栏的增加 ! -U: unlock指定用户,将 /etc/shadow 密码栏的 ! 拿掉 -e YYYY-MM-DD: 指明用户账号过期日期 -f INACTIVE: 设定非活动期限
删除用户及其家目录
userdel -r 用户名passwd [OPTIONS] UserName: 修改指定用户的密码,仅root用户权限
passwd: 修改自己的密码
常用选项:
-l:锁定指定用户 -u:解锁指定用户 -e:强制用户下次登录修改密码,相当于chage -d 0 [tom@centos7(mit) ~]$ su - leij Password: You are required to change your password immediately (root enforced) Changing password for leij. (current) UNIX password: New password: Retype new password: Sorry, passwords do not match. New password: Retype new password: Last login: Sat Jun 2 10:28:51 CST 2018 on pts/0 Last failed login: Sat Jun 2 10:30:48 CST 2018 on pts/0 There was 1 failed login attempt since the last successful login. --stdin:从标准输入接收用户密码 echo "PASSWORD" | passwd --stdin USERNAME groupadd -g GID GNAME -r GNAME groupdel GNAME
gpasswd
Options:-a, --add USER 增加单个用户到指定组当中(组管理员可执行) -d, --delete USER 从指定组中删除单个用户(组管理员可执行) -r, --delete-password 将指定组的组密码删除(组管理员可执行) -R, --restrict 限制组成员访问该组 -M, --members USER,... 一次性设置组成员(仅root执行) -A, --administrators ADMIN,... 设置组管理列表(root执行)
newgrp groupname
用户会打开一个子shell,在这个子shell下,该用户的主要组切换为该组,若该用户本不属于该组,则要输入组密码,若该组属于用户的附加组之一,则无需输入码。
groupmems
-g GNAME -a USERNAME 加用户加入到指定组 -d USERNAME 把用户从指定组删除 -p 清除该组的所有成员 -l 列出组成员列表
groups USERNAME
查看用户属于哪些组(包含主要组)
chown 仅root才能执行
USERNAME FILENAME/DIRNAME 所属人修改文件的权限 -R 递归修改 .|: GNAME FILENAME/DIRNAME 修改所属组 如:chown .tom test 或 chown :tom test USERNAME.|:GNAME FILENAME/DIRNAME 同时修改文件的所属人及所属组 如: chown tom.tom test 或 chown tom:tom test --reference= FILENAME/DIRNAME 将指定文件的从属关系设置为与指定文件相同 如: -rw-rw-r--. 1 leij leij 0 Jun 2 10:56 test
-rw-r--r--. 1 root root 0 Jun 2 11:09 testb
chown --reference=testb test -rw-rw-r--. 1 root root 0 Jun 2 10:56 test -rw-r--r--. 1 root root 0 Jun 2 11:09 testb
chgrp 仅root和文件的所属人可以更改文件的所属组(但所属人一定要属于目标组)、
GNAME FILENAME/DIRNAME -R 递归修改
转载于:https://blog.51cto.com/13767698/2123404