CentOS查看与用户、用户组相关文件命令

1.用户管理

2.用户组
3.权限分配

一、查看与用户相关文件命令:
1.cat
2.more
3.head /etc/passwd # 查看文件的前十行
4.head -2 /etc/passwd # 查看文件的前两行
5.tail /etc/passwd # 查看文件的后十行
6.tail -f /etc/passwd # 实时跟踪文件的后十行
6.tail -2 /etc/passwd # 查看文件的后两行
7.wc -l /etc/passwd # 显示文件的行数
8.nl /etc/passwd # 直接打印文件内容并且显示行号


Root     X   0   0   root   /root :/bin/bash

用户名 :用户名不要太长。 Niejunzhong - 》  njz
X : 密码位 保留,以前的 linux 存放密码
Uid  用户的标识符
Gid  缺省组标识号   系统默认创建同名组
描述信息   注释性描述
宿主目录   用户登录后的缺省目录
命令解释器   用户使用的 shell  默认  bash

密码文件shadow
Etc/passwd   每个用户都有读权限。早些密码放置在密码位。
Man -5 shadow

登录名:加密密码:最后一次修改的时间:最小时间间隔:最大时间间隔:警告时间:账号闲置时间:失效时间 : 标志。

时间:1969年肯.汤玛斯开发出unix雏形   业界认为linux诞生1970 11
Root   超级用户   缺省没有写权限,照样可以进行修改或删除。

Pwconv   密码回写  密码先写入passwd   再转换到shadow

Passwd命令 ls -l /usr/bin/passwd
为什么普通用户可以更改密码?



SetUID的定义:当一个可执行程序具有SetUID权限,用户执行这个程序时,将以这个程序的所有者的身份执行。
Passwd的所有者是root   所有普通用户在更改密码时是变成root所有者来执行这个命令的。

修改用户配置文件添加用户(原理)
Username /etc/passwd
Password /etc/shadow
1、vi /etc/passwd  用户名   密码 uid gid   描述   宿主目录 shell

2、Mkdir  创建宿主目录  给予权限 chown   用户  目录

3、Vi /etc/shadow

此时   可以登录   命令提示符不同

4、cd /etc/skel   里面全是隐藏文件 ls -a

5、Cp skel里的文件到   新用户的宿主目录


linux(centos)用户与权限





用户配置文件 /etc/
Login.defs  配置邮件  最大时间间隔   最小时间间隔(root不限定)   自动创建目录 Umask
Etc/default/useradd 宿主目录缺省目录   账号是否被禁用   账号失效时间

登录信息
登录前:etc/issue  避免暴露系统版本信息

登录后: /etc/motd  内部信息  wall 广播

用户类别:
Linux  用户分为三种
超级用户  root  uid=0
普通用户   uid 500-60000
伪用户:   uid 1-499

Uid0的用户叫做超级用户,命令提示符前 []# ls



伪用户
1、伪用户与系统和程序服务相关
Bin baemon shutdown halt 等,任何 linux 系统默认都有这些伪用户
Mail news games apache ftp mysql sshd 等,与 linux 系统的进程相关。
2、伪用户通常不需要或无法登陆系统
3、可以没有宿主目录

二、用户管理:
1.新建用户
useradd user1
2.删除用户
userdel -r user1
3.修改密码
1)passwd user1
2)echo 123|passwd --stdin user1
4.查看用户
id user1

三、用户影响文件
如果用户用userdel删除,可以通过删除下面影响文件来删除、来新建。
1)/etc/passwd
2)/etc/shadow
3)/etc/group
4)/var/spool/mail
5)/home

1)/etc/passwd用户属性
user1:x:500:500::/home/user1:/bin/bash
1-1) 用户名
1-2) 用户密码所在的文件 /etc/shadow
1-3) 用户 uid
1-4) 用户所属组的 gid
1-5) 用户描述
1-6) 用户家目录
1-7) 用户登录 shell
用户分类
1-1) 超级用户
1-2) 系统用户
1-3) 普通用户
2./etc/shadow
1)加密方法:grub-md5-crypt
2)!!   说明该用户没有密码
3)!$$$$   说明该用户被锁定

3./etc/group
user1:x:500:
组名:组密码位:

4./home
1)user1 的家目录
/home/user1
2) 删除用户
userdel -r user1
# 如果 userdel user1 删除,会留下用户家目录和用户邮箱

5.管理用户命令-usermod
1) 锁定一个用户
usermod -L user1
2) 解锁一个用户
usermod -U user1
3) 锁定用户后 /etc/shadow
!$1$Ttyif4Oi$piuprg8yV9.FGc4MzA4EP0
# 密码前面会出现一个 !


四、组管理:
1.新建组
groupadd grp1
2.删除组
groupdel grp1
3.用户与组管理:
1. 把用户加入组
1).usermod -g grp1 user1
2).usermod -G grp1 user1
3).gpasswd -a user1 grp1
# 把用户 user1 加入组 grp1
2. 把用户从组删除
1).gpasswd -d user1 grp1
# 把用户 user1 grp1 组中删除


其他用户命令:
Finger   用户   那台主机登录、什么时间登录、有没有邮件和计划任务
Su   用户  切换用户
Passwd -S   用户  查看用户的密码状态。
Who w  查看当前用户
批量添用户命令 循环 + echo ‘12345’ |passwd --stdin user
Gpasswd -a user1 grap1
Gpasswd -d user1 grp1

五、用户与文件的关系-权限:

1.chmod
2.chown
3.setuid
4.setgid
5.sudo
6.acl


1.chmod授权方法
1)chmod 755 /mnt
2)chmod a+x file
3)umask  文件权限掩码 , 由它决定文件夹权限是 755, 文件权限是  644
4) 查看单个目录本身的权限
ls -ld mnt/
5) 在当前终端切换用户
su - user1

2.chown改变所有者和所属组
chown user4 test
# 改变所有者为 user4
chown :user4 test
# 改变所属组为 user4
chown user4:user4 test
# 同时改变所有者和所属组

3.SetUID
操作对象 : 执行程序
-rwxr-xr-x root root file
-rwsr-xr-x root root file
查找 setuid 程序  find / -perm -4000 -o -perm -2000
作用 : 一个执行命令一旦加了 s 位,其他所有人执行时都是以该命令的所有者的身份在执行 .
如何加 s :
1) chmod u+s /bin/touch
2) chmod 4755 /bin/touch
4 2 1 setuid setgid t

4.setgid
操作对象 : 文件夹
作用 : 对目录设置 setgid ,目录下的子文件夹也继承父文件夹的 gid  权限
chmod g+s test
chmod 2755 test

5.t   粘作位
操作对象 : 目录的权限是 777
作用 : 在一个公共的文件夹内自己只能删除自己的东西
chmod o+t /tmp
chmod 1777 /tmp

6.sudo授权
1)echo $PATH
# 这个环境变量决定了你能在哪些路径下直接找到执行程序
2) 设置 sudo
2-1)visudo
2-2)vi /etc/sudoers
# 不推荐第二种方法
user1 localhost=/usr/sbin/useradd user5,/usr/sbin/userdel -r user5,/sbin/service httpd restart
3)!str # 执行历史中离你最近一次以 str 开头的命令

7.acl授权
1) 设置权限
setfacl -m u:user1:rwx /test
2) 查看权限
getfacl /test
3) 删除 user1 /test 上的权限
setfacl -x u:user1 /test
4) 删除 /test 上的所有 acl 权限
setfacl -b /test
5) 设置 acl 的默认权限
setfacl -m d:u:user1:rwx test
# 当前目录的以后子目录会继承目录的 acl 权限

你可能感兴趣的:(Liunx)