*** Linux用户和组:
1.用户:Username/UID
管理员:root, 0
系统用户:1-499(CENTOS6), 1-999(CENTOS7)
对守护进程获取资源进行权限分配
登录用户:500(CENTOS6)+, 1000(CENTOS7)+
交互式登录
2.组:Groupname/GID
管理员组:root, 0
系统组:1-499, 1-999
普通组:500+, 1000+
用户的主要组(主组):用户必须属于一个且仅一个主组
私有组:组名同用户名,且包含一个用户
用户的附加组(辅助组):一个用户可属于零个或多个辅助组
3.Linux用户和组的主要配置文件:
/etc/passwd: 用户及其属性信息(名称、UID、主组ID等)
/etc/shadow: 用户密码及其相关属性
/etc/group: 组及其属性信息
/etc/gshadow:组密码及其相关属性
文件格式:
1)/etc/passwd:
login name :passwd :UID :GID :GECOS :home directory :shell:
登录用名 :密码(x) :用户身份编号 :用户组编号 :用户全名或注释:家目录 :默认使用shell
zhou:!!:::::: 有叹号禁止登陆
usermod -L zhou 锁定用户禁止登陆;加一个叹号
无密码无法解锁 usermod -U
2)/etc/shadow:
登录用名
用户密码:一般用sha512加密
从1970年1月1日起 到密码最近一次被更改的时间
密码再过几天可以被变更(0表示随时可被变更)
密码再过几天必须被变更(99999表示永不过期)
密码过期前几天系统提醒用户(默认为一周)
密码过期几天后帐号会被锁定
从1970年1月1日算起,多少天后帐号失效。
更改加密算法authconfig–passalgo=sha512 –update
md5: message digest, 128bits
sha1: secure hash algorithm, 160bits
sha224: 224bits
sha256: 256bits
sha384: 384bits
sha512: 512bits
pwunconv 口令不转换即将密码保留在/etc/passwd;不安全
3)/etc/group
群组名称:就是群组名
群组密码:通常不需要设定,密码是被记录在/etc/gshadow
GID:群组的ID
以当前组为主组或附加组的用户列表(分隔符为逗号)
4)/etc/gshadow
群组名称:就是群组名称
群组密码:*
组管理员列表:组管理员的列表,更改组密码和成员
以当前组为主组或附加组的用户列表:(分隔符为逗号)
vipw;vigr 专用于编辑密码文件
执行时会为文件上锁,其他用户或终端无法同时修改。避免修改失败
pwck;grpck 检查密码文件完整性 格式等
**useradd[options] LOGIN 添加用户
-u UID: [UID_MIN, UID_MAX]定义在/etc/login.defs
-o 配合-u 选项,不检查UID的唯一性 可创建uid相同的用户
-g GID:指明用户所属基本组,可为组名,也可以为GID
-c "COMMENT":用户的注释信息
-d HOME_DIR:以指定的路径(需不存在)为家目录
-s SHELL: 指明用户的默认shell程序
可用列表在/etc/shells文件中
-G GROUP1[,GROUP2,…]:为用户指明附加组,组必须事先存在
-N 不创建私用组做主组,使用users组做主组gid=100
-r: 创建系统用户CentOS 6: ID<500,CentOS 7: ID<1000
新建用户默认值设定:/etc/default/useradd文件中
显示或更改默认设置:
useradd -D
useradd -D -s SHELL
初始家目录文件集:/etc/skel/*
设置用户帐号限制的文件/etc/login.defs 密码的最大过期天数,密码的最大长度约束等
/etc/shadow的配置优先级高于/etc/login.defs
newusers FILE(严格按照/etc/passwd格式编写的文件) 可批量添加用户
chpasswd FILE(严格按照/etc/shadow格式编写的文件) 可批量更改用户密码
userdel [OPTIONG] USER 删除用户
-r删除用户及其家目录
finger显示用户信息 需安装
Login Name Tty Idle Login Time Office Office Phone Host
root root pts/0 Jul 30 13:17 (10.1.250.32)
chfn可用来更改执行finger指令时所显示的信息
若不指定任何参数,则chfn指令会进入问答式界面
** usermod [OPTION] login 更改用户配置
-u UID: 新UID
-g GID: 新基本组
-G GROUP1[,GROUP2,…[,GROUPN]]]:新附加组,原来的附加组将会被覆盖;
若保留原有,则要同时使用-a选项,表示append;
-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: 设定非活动期限;
#id [OPTION]… [USER]
-u: UID
-g: GID
-G: Groups
-n: Name
#su[options…] [-] [user [args…]]
-l 相当于'-'
切换用户的方式:
#su UserName:非登录式切换,即不会读取目标用户的配置文件,不改变当前工作目录
#su – UserName:登录式切换,会读取目标用户的配置文件,切换至家目录,完全切换
root su至其他用户无须密码;非root用户切换时需要密码
换个身份执行命令:
su [-] UserName -c CMD
#passwd [OPTIONS] UserName: 修改指定用户的密码,仅root用户权限
passwd 修改自己的密码;
-l:锁定指定用户
-u:解锁指定用户 -f 强制执行
-e:强制用户下次登录修改密码
-n mindays: 指定最短使用期限
-x maxdays:最大使用期限
-w warndays:提前多少天开始警告
-iinactivedays:非活动期限;
–stdin:从标准输入接收用户密码;
echo "PASSWORD" | passwd –stdin USERNAME
#chage[OPTION]… LOGIN 更改账号密码有效期
-d LAST_DAY 上一次更改的日期
-E –expiredateEXPIRE_DATE 帐号到期的日期。过了这天,此帐号将不可用。
-I –inactive INACTIVE 停滞时期。如果一个密码已过期这些天,那么此帐号将不可用。
-m –mindaysMIN_DAYS 密码可更改的最小天数。为零时代表任何时候都可以更改密码。
-M –maxdaysMAX_DAYS 密码保持有效的最大天数。
-W –warndaysWARN_DAYS 用户密码到期前,提前收到警告信息的天数。
-l 例出当前的设置。由非特权用户来确定他们的密码或帐号何时过期。
* 组:groupadd [OPTION]… GROUP 添加组
-g GID: 指明GID号;[GID_MIN, GID_MAX]
-r: 创建系统组;
#groupmod [OPTION]… GROUP 编辑组
-n group_name: 新名字
-g GID: 新的GID;
#groupdel GROUP:删除组
#gpasswd [OPTION] GROUP 更改组密码
-a user: 将user添加至指定组中; 普通用户必须先 成为组管理员
-d user: 从指定组中移除用户user; 普通用户必须先 成为组管理员
-A user1,user2,…: 设置有管理权限的用户列表 root可设置
#groupmems [options] [action] 更改组成员 root可用
-g, –group groupname更改为指定组
动作:
-a, –add uname 指定用户加入组
-d, –delete uname 从组中删除用户
-p, –purge 从组中清除所有成员
-l, –list 显示组成员列表
#newgrp命令:临时切换基本组;
如果用户本不属于此组,则需要组密码
#chown [OPTION]… [OWNER][:[GROUP]] FILE… 改变文件属主 属组
-R: 递归
命令中的冒号可用.替换;
#chown [OPTION]… –reference=RFILE FILE…复制 一个文件的属主
#chgrp [OPTION]… GROUP FILE…修改文件的属组
-R 递归
#chgrp [OPTION]… –reference=RFILE FILE… 复制 一个文件的属组
chmod[OPTION]… OCTAL-MODE FILE…
-R: 递归修改权限
chmod[OPTION]… MODE[,MODE]… FILE…
chmod[OPTION]… –reference=RFILE FILE…
参考RFILE文件的权限,将FILE的修改为同RFILE
*文件属性:
owner: 属主, u
group: 属组, g
other: 其他, o
每个文件对每类访问者定义了三种权限:
r: Readable
w: Writable
x: eXcutable
对应:
rwx r-x r– 权限
111 101 100 二进制
4+2+1 4+1 4 十进制 数字法不支持-X
对文件:
r: 可使用文件查看类工具获取其内容
w: 可修改其内容
x: 可以把此文件提请内核启动为一个进程
对目录:
r: 可以使用ls查看此目录中文件列表 没有 看不到列表
w: 可在此目录中创建文件,也可删除此目录中的文件 没有 无法修改 删除文件
x: 可以使用ls -l查看此目录中文件列表,可以cd进入此目录 没有不能cd 和访问
X:递归-R给权限时,只给目录x权限,不给文件x权限
(文件本身没有执行权限,否则会ugo加x)
chmod -R g+rwX /testdir
普通用户不可更改自己的属主,可以更改包含自己的属组
umask 目录文件初始权限 转换为二进制与运算
umask ### 设置umask /etc/bashrc ~/.bashrc
目录=777-umask
文件=666-umask 结果有奇数+1 偶数不变
原创文章,作者:Jasper,如若转载,请注明出处:http://www.178linux.com/27816