您的位置:首页 > 运维架构 > Linux

linux(centos)用户与权限管理

2015-05-18 20:57 330 查看
1.用户管理

2.用户组

3.权限分配

/etc/login.defs    

 /etc/default/useradd                  两个都是用户密码配置文件  
/etc/motd etc/issue 登录信息
/etc/passwod     用户信息文件    
/etc/shadow      用户密码文件极其登录的限制     在密码栏前面加『 * 』『 !』禁止使用某账户登录
/etc/group        用户组信息文件
 
/etc/gshadow    用户组密码文件
 
UID (用户)
0        超级用户 自己添加的从500开始
1-499     伪用户  程序服务相关的 不需要登录 可以没有宿主目录
500-65535 普通用户
GID(组)
每个用户都至少有一个用户组(可以有多个)
每个用户组包括多个用户
同一个组用户享有改组的共有的权限
 
/etc/passwod   用户信息文件 
例:root:x:0:0:root:/root:/bin/bash  
   用户名 密码 UID GID 描述信息 宿主目录 命令解释器
 
/etc/shadow    用户密码文件
例:root:$1#nWOaF1QQ$CPW.A/AYKJHJQDKU7CO:15551:0:99999:7:::
   用户名
加密过后的密码最好一次修改密码时间 最小时间天数 最大时间天数 账户闲职时间 失效时间  标志
 
/etc/grup     用户组信息文件
例:root:x:0:root
   组名 密码 GID 组内用户

useradd            //添加用户名 -g指定所属组 -d宿主目录-c描述信息
passwd             //添加用户密码 
userdel             //删除用户
finger              //查询用户详细信息
groupadd         //添加用户组
gpasswd          //设置用户组密码
newgrp             //切换当前所属用户组  (没有组密码并且当前用户是组的成员,则可切换成功)
usermod           //修改用户信息  
                     例://修改用户名    usermod   -l  新用户名 原用户名
 
                          //添加用户到组   usermod -G   组名   用户名      
添加用户到组      gpasswd -a  用户名 组名 
从组删除用户      gpasswd -d  用户名 组名
 
 
 
1.添加0xls这个用户  添加到test管理组  在当前目录把dir目录所有者改成test
    groupadd   test    //添加管理组
    useradd -g test 0xls //创建用户并且添加test组 -g是指定组 不指定的画  默认创建
     passwd oxls        //给用户创建密码
     id 0xls           //查看下用户信息
     chgrp test dir     //改变dir目录的所有者
 --------------------------------------------------------------------------------------
 2.附加0xls账户到root组
      gpasswd -a 0xls root 或 usermod -G root ls 
 
 3.删除用户0xls,删除组test
  
  userdel -r user1

#如果userdel user1删除,会留下用户家目录和用户邮箱

    groupdel test //删除组

一、查看与用户相关文件命令:

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 1月1日


 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、Cpskel里的文件到
新用户的宿主目录









 

用户配置文件 /etc/

Login.defs 配置邮件 最大时间间隔
最小时间间隔(root不限定)
自动创建目录 Umask


Etc/default/useradd  宿主目录缺省目录
账号是否被禁用 账号失效时间


 

登录信息

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





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

用户类别:

Linux用户分为三种

超级用户
root    uid=0

普通用户         uid500-60000

伪用户:         uid1-499

 

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





 

伪用户

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

二、用户管理:

1.新建用户

useradduser1
2.删除用户

userdel -ruser1
3.修改密码

1)passwduser1
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.新建组

groupaddgrp1
2.删除组

groupdelgrp1
3.用户与组管理:

1.把用户加入组
1).usermod -g grp1user1
2).usermod -G grp1user1
3).gpasswd-a user1 grp1
#把用户user1加入组grp1
2.把用户从组删除
1).gpasswd -d user1grp1
#把用户user1从grp1组中删除
 
 
其他用户命令:
Finger用户  那台主机登录、什么时间登录、有没有邮件和计划任务
Su用户
切换用户
Passwd -S用户
查看用户的密码状态。
Who、w查看当前用户
批量添用户命令
循环+echo ‘12345’ |passwd --stdin user
Gpasswd -a user1grap1
Gpasswd -d user1grp1
 

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

1.chmod

2.chown

3.setuid

4.setgid

5.sudo

6.acl

 

 

1.chmod授权方法

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

2.chown改变所有者和所属组

chown user4test
#改变所有者为user4
chown :user4test
#改变所属组为user4
chown user4:user4test
#同时改变所有者和所属组
 

3.SetUID

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

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

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 -ruser5,/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 -md:u:user1:rwx test
#当前目录的以后子目录会继承目录的acl权限
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: