用户管理:

    先看下用:户管理需要的几个文件

1)  /etc/passwd  用户身份信息

--用户名称:用户密码(已经移植到/etc/shadow中):uidgid:用户说明:用户家目录:用户所使用的shell

2)/etc/group  用户组信息

--组名称:组密码:gid:附加成员

3)/home/username   家目录

4)/etc/skel/.*用户家目录骨架文件

5)/etc/shadow  用户加密信息,专门管理密码相关数据(chage -d -m -M -W -I -E)

--用户名字:密码加密字符:3密码被使用的天数(1970.1.11开始累加,1971.1.1就是366):密码最短有效期(密码不可被改动的天数,即最后一次更改后多少天可以再次改,为0表示随时可以改):5密码最长有效期(在最近一次更改后,多少天内重新设置密码,99999273年)表示密码更改没有强制性限制):警告期(密码到期前n天内系统发出警告):密码过期后还能用多少天(3+5,过期后登陆时系统要求必须重设密码才可登陆):密码锁定期限(无论密码是否过期锁定后均不能登陆):无利用(为以后添加新功能保留)

 

普通用户默认情况下不能新建用户

useradd创建用户时修改的是/etc/passwd/etc/group这两个文件夹

超级用户不受密码权限限制,可以随时修改普通用户的密码

 

使用root用户可以创建和修改新用户的属性:

 1)   使用命令useradd   [选项]  参数

useradd 用户名     ####添加用户

useradd -u 8000 用户名   ####创建一个ID8000的用户

useradd -g 2000 用户名   ####修改用户的组ID

useradd -G 2000 用户名   ####把已经存在的用户附加到ID2000的用户组

useradd -aG 2000 用户名     ####保留自己原来在的那个组,同时附加到别的组 

useradd -c  "说明文字用户名   ####修改该用户的说明

useradd -d /mnt/ 用户名      ####修改该用户的家目录

useradd -s /sbin/nologin  用户名   ####修改该用户使用的shell

useradd -G 2000 用户名 

2)   使用命令userdel [选项] 参数  删除用户

       eg:   userdel -r 用户名   ####删除用户

3) 也可使用usermod修改用户的属性:用法与useradd相似

    usermod [选项] 参数

    参数:usermod -u -g -G -aG -c -d -md -s -U -L

    特别说明 -d 和-md两个参数:

    usermod -d /home/lee lee #### 修改用户的家目录,但是不修改/home下的名称

    usermod -md /home/lee lee #### 修改用户的家目录,同时修改/home下的名称

            -U ####用户解锁

            -L ####用户加锁

 

##############################################################################################

 

watch -n 1(tail -2 /etc/passwd;echo ===========;tail -2 /etc/group;

watch -n 1(tail -2 /etc/passwd;echo ===========;tail -2 /etc/group;echo===========;ls -l /home')    监视信息:1秒监视一次,并显示home目录下的信息

##############################################################################################

文件管理:

1 visudo用户权限下放

visudo   ##为某一个用户下放权限时,使用命令visudo(用vim /etc/sudoers也可以进去这个文件但不能修改),为了规范操作,进去修改99行的内容(:99)。

   eg(添加内容为):   test(用户名)   主机名(用hostname命令查看)=root)   NOPASSWD: /usr/sbin/useradd /user/sbin/userdel (执行什么命令)    

##表示给用户test一个可以创建新用户和删除用户的权限,NOPASSWD表示执行该权限时不需要输入test用户的密码。不添加NOPASSWD:时,会出现【sudopasswd for test的提示。

[test@localhost ~]$ sudo useradd username       ##当使用test用户创建和删除用户时,命令前必须加sudo来调用在/etc/sudoers文件中添加的内容,否则test用户添加新用户不被允许。

hostname   ##查看主机名

which useradd  ##查看useradd所在文件的路径(在本机上使用该命令得到路径为/usr/sbin/useradd,给用户下放权限时添加的命令要用到该命令的路径。如上eg

 

2 /etc/shadow 

/etc/shadow  用户加密信息,专门管理密码相关数据(chage -d -m -M -W -I -E)

--用户名字:密码加密字符:3密码被使用的天数(1970.1.11开始累加,1971.1.1就是366):密码最短有效期(密码不可被改动的天数,即最后一次更改后多少天可以再次改,为0表示随时可以改):5密码最长有效期(在最近一次更改后,多少天内重新设置密码,99999273年)表示密码更改没有强制性限制):警告期(密码到期前n天内系统发出警告):密码过期后还能用多少天(3+5,过期后登陆时系统要求必须重设密码才可登陆):密码锁定期限(无论密码是否过期锁定后均不能登陆):无利用(为以后添加新功能保留)

chage  ##修改密码权限 (用户密码权限控制)

        -d  ##3栏,密码被使用多少天

-m  ##4栏,密码最短有效期(修改后多少天可以改)

-M  ##5栏,密码最长有效期(多久要重新设置)

-W  ##6栏,警告期(密码到期前n天系统发出警告)

-I  ##7栏,密码过期后还可用的天数

-E  ##8栏,密码锁定期

 

文件的权限: 

ls -al命令看到文件权限:

----------        ###-(目录【d】,文件【-】或链接文件【l】)---(文件所有者【user】权限rwx---(文件所属用户组【group】权限rwx---(其他人【other】对文件的权限rwx)   

        r(读)    ##可读取此文件的实际内容,如读取文本文件的文字内容

w(写)    ##可以编辑,新增或者是修改该文件的内容(但不含删除该文件)

x(执行)   ##该文件具有可以被系统执行的权限

  目录的权限:(要开放目录给任何人浏览时,至少给rx权限,w权限不能随便给)

r:  ##查询目录下的文件名数据,用ls显示目录内容(最多只能看到文件名)

w:  ##该目录下的文件名变动有关

//新建新的文件与目录

//删除已经存在的文件与目录(不论该文件权限如何)

//将已经存在的文件或目录重命名

//转移该目录内的文件,目录位置

x:  ##用户能否进入该目录成为‘工作目录’(目前所在的目录)的用途,即能否在该目录下执行命令

  ls -ld   ##查看本级目录的权限[用户@主机 目录]

 

4 修改文件的属性

 chown ##改变文件所有者  egchown lee test -R)  表示把文件test的所有者改为lee,加R表示递归修改所有者

 //也可以用来修改用户组  egchown root:lee test  表示把文件test的所有者改为root,所有组改为lee

 chgrp ##改变文件所属用户组   egchgrp root test 表示把文件test所属的用户组改为root

 chmod ##改变文件权限 方式有2种(字符和数字)

  字符:chmod   u|g|o|a)(+|-|=)(r|w|x)  ##uuser,ggroup,oother,aall,所有身份)+(加上),-(减去),=(设置)

eg:u+x  u-x   u+rwx   ug+x   ug-x

   chmod u+x directory -R   ##表示该目录下的所有文件都递归的在【user】权限上增加了x权限

    数字:r4   w2   x1

    egchmod 755 directory -R  ##表示该目录下所有文件的权限都为 -rwxr-xr-x

 

文件特殊权限    

  u+ssuid冒险位)    ##若文件(/usr/bin/touch)有权限u+s,不管是谁发起touch命令创建新文件,所建立的新文件的用户都是文件(/usr/bin/touch)的用户,与命令的发起者无关。

     ##用于权限的提升或下放,即(/usr/bin/touch的所有者是root)让普通用户暂时获得root用户创建文件的权限,本来在某些目录下只允许root创建文件的权限被普通用户得到,使普通用户也可以创建。

      

  g+s(sgid粘制位)     ##对文件(/usr/bin/touch)来说,若有权限g+s,则不论谁执行文件(/usr/bin/touch)创建所得的新文件所属用户组都是文件(/usr/bin/touch)的用户组,与touch命令的执行者是谁无关。

             ##对目录来说,如果目录的权限是g+s,则只要在该目录下,无论是哪个用户执行的新建文件的命令,新建文件所属的用户组都和该目录相同,与命令的执行者所处的用户组无关。

  

o+tsticky强制位)  ##若一个目录有该权限,则目录内的文件只能被文件所有者删除(t对文件无意义,只针对目录来说)

 

6  设置umask

   umask  ##显示默认减去的权限

  修改默认减去权限的步骤:

   步骤1vim /etc/profile(进入文件)->输入/umask(查找修改位置) -> 修改权限(if后修改,改变的是普通用户的权限;else后修改,改变的是超级用户的权限)->wq(保存退出)

   步骤2vim /etc/bashrc(进入文件)-> 输入/umask(查找修改位置) -> 修改权限(if后修改,改变的是普通用户的权限;else后修改,改变的是超级用户的权限)->wq(保存退出)

   步骤3:两个文件的修改必须统一,执行命令source /etc/profilesource /etc/bashrc(读一次,使修改生效)

   步骤4:修改umask成功,新建文件的权限和未修改前不一样了。

  注意:linux系统默认所有文件都不可执行,即默认文件权限减去111,要执行须手工添加(病毒就是可执行文件,在linux系统中新加入的文件全都默认去掉可执行的权限,所以病毒不能执行,这也就是linux系统比较安全的原因)