linux基础操作命令二

####用户的管理####

#1.系统中为什么要有用户?

 用户的概念:

是系统最底层的安全设定的一部分,我们知道Linux 是真正意义上的多用户操作系统,所以我们能在Linux系统中建若干用户(user)。比如我们的同事想用我的计算机,但我不想让他用我的用户名登录,因为我的用户名下有不想让别人看到的资料和信息(也就是隐私内容)这时我就可以给他建一个新的用户名,让他用我所开的用户名去折腾,这从计算机安全角度来说是符合操作规则的;当然用户(user)的概念理解还不仅仅于此,在Linux系统中还有一些用户是用来完成特定任务的,比如nobody和ftp 等,我们访问LinuxSir.Org 的网页程序,就是nobody用户;我们匿名访问ftp 时,会用到用户ftp或nobody 。
 

用户组的概念:

大致可以说是一组用户可以共享权利;比如有时我们要让多个用户具有相同的权限,比如查看、修改某一文件或执行某个命令,这时我们需要用户组,我们把用户都定义到同一用户组,我们通过修改文件或目录的权限,让用户组具有一定的操作权限,这样用户组下的用户对该文件或目录都具有相同的权限,这是我们通过定义组和修改文件的权限来实现的;

两种用户组:

                       附加组(可以选择改变的)
                       初始组(不可改变的)

#2.用户存在的形态

#3.用户配置文件
/etc/passwd            ##用户信息文件

例如
用户名称:密码:用户id:组id:用户说明:用户家目录:用户默认使用的shell

 

/etc/group             ##用户组信息


例如:

组名称:组密码:组id:附加组成员

/home/username         ##用户家目录

/etc/skel.*                    ##用户骨文件(用户配置模板,在用户建立时会自动被复制到家目录中)
/etc/shells                   ##查看系统的shell


#4.用户的查看
whoami                          ##查看当前用户的名称


id          username         ##查看用户的id信息


id  -u     username         ##查看用户的uid
id  -g     username         ##查看用户的gid
id  -G    username         ##查看用户所在的所有组的id


id  -n     username         ##以名称显示信息


#5.用户的建立和删除
watch -n 1  tail  -n 3  /etc/home;
/etc/login.defs :

/etc/login.defs文件定义了与/etc/password和/etc/shadow配套的用户限制设定。这个文件是需要的,缺失并不会影响系统的使用,但是也许会产生意想不到的错误。如果/etc/shadow文件里有相同的选项,则以/etc/shadow里的设置为准,也就是说/etc/shadow的配置优先级高于/etc/login.defs

useradd          username           ##使用默认规则建立用户(规则参看/etclogin.defs)


useradd  -u     username           ##指定用户的uid


useradd  -g     username           ##指定用户初始组的id


useradd  -G    username           ##指定用户的附加组


useradd  -c     username           ##指定用户的说明文字


useradd  -d     username           ##指定用户的家目录


useradd  -s     username           ##指定用户的shell(系统可以用shell 系统可以用shell可在/etc/shells中查看)

userdel           username           ##删除用户身份
userdel -r        username           ##删除用户身份及用户的系统配置文件

groupadd          groupname         ##建立组


groupadd   -g    groupname         ##指定组的uid


#6用户的修改
usermod  -l          username          ##用户名称


usermod  -u         username         ##更改用户id


usermod  -g         username         ##初始化组id
usermod  -G        username         ##更改附加组


usermod  -aG      username        ##增加附加组


usermod  -c  “”     username      ##更改用户说明
usermod  -d         username      ##更改用户家目录指向,但并没有重命令家目录,如果命令行打开这个文件目录,会提示报错


usermod  -md      username      ##更改用户家目录指向并重命名家目录,命令打开文件不会报错


usermod  -s         username      ##更改用户的shell


#7.用户切换
su - username       ##切换用户,高级用户切换到低级用户不需要密码
                              ##低级用户切换到高级用户或者切换到平级用户 需要后者的密码

注意:
   1.用户切换后及时退出,再切换到下一个用户
   2.“su -” 表示切换用户身份及用户环境;"su "表示切换用户身份但没有切换用户环境



#8.用户的认证信息
/etc/shadow          ##用户的认证信息


1.用户名称:
2.用户密码:  
    md5,sha512两种加密方式
    passwd        username            ##只有超级用户执行


    passwd                                    ##普通用户修改自己密码


    usermod -l    username            ##冻结帐号
    usermod -u   username            ##解锁
    passwd -l      username            ##有“!!”表示 冻结帐号


    passwd -u     username            ##解锁,“!!”消失


    passwd -d     username            ##清空密码
3.密码最后一次被修改的时间到1970-01-01过了多长时间:
     在超级用户下:
     chage -d 0 westos

     passwd -e  westos


     当此位数字为0时,用户在登陆系统时会被强制更改密码
4.密码最短有效期:
     chage -m 1 westos 
    
5.密码最长有效期:
     chage -M 30 westos


     passwd -x 40 westos


6.密码过期警告:
     chage -W 2 westos


     passwd -w 3 westos


7.密码非活跃期:
     chage -I 2 westos


     passwd -i 0 westos


8.帐号到期日:
     chage -E "2018-11-11" westos


9.未设定用户自定义


#9.用户权力下放

1.配置文件
/etc/sudoers

2.配置命令
visudo        //此命令提供语法检测

用户名称    主机名称=(执行程序身份) 命令      //当执行命令时需要用户验证
linux11   dns-server.example.com=(root) /usr/sbin/useradd


 
用户名称    主机名称=(执行程序身份) NOPASSWD: 命令1,“空格”命令2  //当执行命令时不要用户验证
linux11   dns-server.example.com=(root) /usr/sbin/useradd, /usr/sbin/userdel 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值