设为首页 收藏本站
查看: 468|回复: 0

[经验分享] Linux学习:Linux基础命令集(3)

[复制链接]

尚未签到

发表于 2018-5-22 08:58:04 | 显示全部楼层 |阅读模式
  本次记录以下命令如useradd, usermod, passwd, userdel, groupadd, groupmod, groupdel, gpasswd, su, id, chfn, chsh, chage, finger的使用格式、常用选项及它们有哪些使用实例等。

  • 用户和工作组管理相关命令
  1. useradd 创建新用户命令
  创建新用户命令格式:useradd [OPTION] LOGIN
  OPTION:
  -u 直接指定一个特定的UID给新建账号
  -g 指定用户所属的基本组,此组必须事先存在
  [root@www ~]# useradd -u 600 -g users t1
  [root@www ~]# ll -d /home/t1
  drwx------. 4 t1 users 4096 8月 31 19:31 /home/t1
  -c 用户信息说明
  -d 指定某个目录成为主文件夹,使用绝对路径
  -G 指定所属的附加组(还可以加入的用户组)
  [root@www ~]# useradd -u 3000 -g database -G sql -c DBA -d /home/database Oracle
  [root@www ~]# grep Oracle /etc/passwd /etc/shadow /etc/group
  /etc/passwd:Oracle:x:3000:502:DBA:/home/database:/bin/bash
  /etc/shadow:Oracle:!!:16678:0:99999:7:::
  /etc/group:sql:x:503:Oracle
  [root@www ~]# id Oracle
  uid=3000(Oracle) gid=502(database) 组=502(database),503(sql)
  -s 指定用户shell
  -M 不要创建用户主文件夹(系统账号默认值)
  -m 要创建用户主文件夹(一般账号默认值)
  -r 创建系统账户
  [root@www ~]# useradd -r sysaccount
  [root@www ~]# grep sysaccount /etc/passwd /etc/shadow /etc/group
  /etc/passwd:sysaccount:x:495:491::/home/sysaccount:/bin/bash
  /etc/shadow:sysaccount:!!:16678::::::
  /etc/group:sysaccount:x:491:
  useradd参考文件
  [root@www ~]# useradd -D
  GROUP=100                  <-- 默认用户组
  HOME=/home              <-- 默认的主文件夹所在目录
  INACTIVE=-1
  EXPIRE=
  SHELL=/bin/bash          <-- 默认的shell
  SKEL=/etc/skel             <-- 用户主文件夹的内容数据参考目录
  CREATE_MAIL_SPOOL=yes
  2. passwd设置密码命令
  设置密码命令格式:passwd [OPTION] [USERNAME]
  OPTION:
  -l 使密码失效
  -u未锁定密码
  [root@www etc]# passwd -l Oracle
  锁定用户 Oracle 的密码 。
  passwd: 操作成功
  [root@www etc]# passwd -S Oracle
  Oracle LK 2015-08-31 0 60 7 10 (密码已被锁定。)
  [root@www etc]# grep Oracle /etc/shadow
  Oracle:!!$6$7f.VFz5z$TocJp42wo8V6DdsgcF.7TOxGLJwfsCQGuwpqyHSVhQ6hER6K3Kyr0CDQmdaPzCS.kyWySlwElYdTUwuNRuciG1:16678:0:60:7:10::
  -n 多久不可修改密码天数
  -x 多久内必须要改动密码
  -w 密码过期前的警告天数
  -i 密码失效日期
  [root@www ~]# passwd lab_test1
  更改用户 lab_test1 的密码 。
  新的 密码:
  无效的密码: 过短
  无效的密码: 过于简单
  重新输入新的 密码:
  passwd: 所有的身份验证令牌已经成功更新。
  -S 列出密码相关参数
  [root@www etc]# passwd -S Oracle
  Oracle PS 2015-08-31 0 99999 7 -1 (密码已设置,使用 SHA512 加密。)
  每60天需要更改密码,密码过期后10天未使用就宣告密码失效
  [root@www etc]# passwd -x 60 -i 10 Oracle
  调整用户密码老化数据Oracle。
  passwd: 操作成功
  [root@www etc]# passwd -S Oracle
  Oracle PS 2015-08-31 0 60 7 10 (密码已设置,使用 SHA512 加密。)
  --stdin 从标准输出接收用户密码
  [root@www etc]# echo "abcdefg" | passwd --stdin Oracle
  更改用户 Oracle 的密码 。
  passwd: 所有的身份验证令牌已经成功更新。
  3. chage密码过期时间设置命令
  修改账号和密码的有效期限。
  密码过期时间设置命令格式:chage [OPTION]...LOGIN
  OPTION:
  -l 列出当前的设置(用户及密码的有效期限)
  [root@www ~]# chage -l Oracle
  Last password change : Aug 31, 2015
  Password expires : Oct 30, 2015
  Password inactive : Nov 09, 2015
  Account expires : never
  Minimum number of days between password change : 0
  Maximum number of days between password change : 60
  Number of days of warning before password expires : 7
  -d 最近一次更改密码的日期,格式YYYY-MM-DD
  让用户在第一次登录时强制他们一定要更改密码后才能够使用系统资源
  [root@www ~]# useradd agetest
  [root@www ~]# echo "agetest" | passwd --stdin agetest
  更改用户 agetest 的密码 。
  passwd: 所有的身份验证令牌已经成功更新。
  [root@www ~]# chage -d 0 agetest
  You are required to change your password immediately (root enforced)
  WARNING: Your password has expired.
  You must change your password now and login again!
  Changing password for user agetest.
  Changing password for agetest.
  (current) UNIX password:                         <-- 这个账号被强制要求必须更改密码!
  -E 账号失效日,格式YYYY-MM-DD
  -I 密码失效日期
  -m密码最短保留天数
  -M密码多久需要进行更改
  -W密码过期前警告日期
  4. usermod账号属性修改命令
  用于修改用户的基本信息,它不允许你改变正在线上的使用者账号名称。当usermod命令用来改变user id,必须确认这名user没有在电脑上执行任何程序。
  账号属性修改命令格式:usermod [OPTION]...LOGIN
  OPTION:
  -c修改账号的说明
  [root@www ~]# usermod -c "lab_test1 is test Account" lab_test1
  [root@www ~]# grep lab_test1 /etc/passwd
  lab_test1:x:501:501:lab_test1 is test Account:/home/lab_test1:/bin/bash
  -u 修改用户ID
  -g 修改用户所属的基本组
  -G 修改用户所属的附加组
  -l 修改用户账号名称
  -d 修改用户登入时的目录(主文件夹)
  [root@www ~]# usermod -u 666 -g root -G lab_test1 -l test1_lab -d /account_lab lab_test1
  lab_test1:x:501:501::/home/lab_test1:/bin/bash
  [root@www /]# grep "test1_lab" /etc/passwd /etc/shadow /etc/group
  /etc/passwd:test1_lab:x:666:0:lab_test1 is test Account:/account_lab:/bin/bash
  /etc/shadow:test1_lab:$6$r26qUB6T$udvZrhtQh342s40B.QPX.gjkBi.jv8YZitOAu8F40k/9iJ0cBS3b/cz.2qDO5j3rrmIYT6d.BgdTWSW5Zr3xl.:16678:0:99999:7:::
  /etc/group:lab_test1:x:501:test1_lab
  -L 锁定用户密码,使密码无效
  -U 解除密码锁定
  -s 修改用户登入后所使用的shell
  5. userdel删除账号命令
  用于删除给定的用户,以及与用户相关的文件。若不加选项,则仅删除用户账号,而不删除相关文件。
  删除账号命令格式:userdel [OPTION]...LOGIN
  OPTION:
  -f 强制删除用户,即使用户当前已登录
  -r 删除用户的同时,删除与用户相关的所有文件
  用户账号/密码相关参数:/etc/passwd, /etc/shadow
  用户组相关参数:/etc/group, /etc/gshadow
  用户个人文件数据:/home/username, /var/spool/mail/username
  t1:x:600:100::/home/t1:/bin/bash
  [root@www ~]# userdel -r t1
  [root@www ~]# ll -d /home/t1
  ls: 无法访问/home/t1: 没有那个文件或目录
  6. groupadd创建新工作组命令
  创建一个新的工作组,其信息将被添加到系统文件中。
  创建新工作组命令格式:groupadd [OPTION]...GROUPNAME
  OPTION:
  -g 指定新建工作组的ID
  -r 创建系统工作组,系统工作组的组ID小于500
  [root@www ~]# groupadd -g 600 lab_group1
  [root@www ~]# grep lab_group1 /etc/group /etc/gshadow
  /etc/group:lab_group1:x:600:
  /etc/gshadow:lab_group1:!::
  7. groupmod工作组属性更改命令
  工作组属性更改命令格式:
  groupmod [OPTION]...GROUPNAME
  OPTION:
  -g 修改既有的GID
  -n 修改既有的组名称
  [root@www ~]# groupmod -g 488 -n group1 lab_group1
  [root@www ~]# grep group1 /etc/group /etc/gshadow
  /etc/group:group1:x:488:
  /etc/gshadow:group1:!::
  8. groupdel删除工作组命令
  删除指定的工作组,本命令要修改的系统文件包括/etc/group和/etc/gshadow。若该群组中仍包括某些用户,则必须先删除这些用户后,方能删除群组。
  删除工作组命令格式:groupdel GROUPNAME
  [root@www ~]# groupdel group1
  [root@www ~]# grep group1 /etc/group /etc/gshadow
  9. gpasswd工作组密码设定命令
  如果系统管理员没时间帮用户加入到指定工作组内,这时可新建“用户组管理员”来管理指定账号加入/移出有关用户组。
  工作组密码设定命令格式:gpasswd [OPTION]...GROUPNAME
  OPTION:
  不带任何参数,表示给予groupname一个密码(/etc/gshadow)
  -A 指定某用户账号为指定工作组的管理员
  [root@www ~]# gpasswd -A Allen users
  [root@www ~]# grep users /etc/group /etc/gshadow
  /etc/group:users:x:100:
  /etc/gshadow:users::Allen:
  -r 将groupname的密码删除
  -R 让groupname密码栏失效
  -a 添加用户到指定组中
  -d 从指定组中删除用户
  [Allen@www ~]$ gpasswd -a lab_test2 users
  Adding user lab_test2 to group users
  [Allen@www ~]$ grep users /etc/group
  users:x:100:lab_test2

  • 用户功能相关命令
  10. finger查看用户信息命令
  用于查看用户信息,包括本地与远端主机的用户皆可,帐号名称没有大小写的差别。(大部分是/etc/passwd里面的信息)
  单独执行finger指令,它会显示本地主机现在所有的用户的登陆信息,包括帐号名称,真实姓名,登入终端机,闲置时间,登入时间以及地址和电话。
  查看用户信息命令格式:finger [OPTION] USERNAME OPTION:
  -s 列出该用户的帐号名称,真实姓名,登入终端机,闲置时间,登入时间以及地址和电话;
  [root@NTPServer ~]# finger -s
  Login Name Tty Idle Login Time Office Office Phone
  root root pts/1 Sep 1 10:28 (10.10.6.240)
  [root@NTPServer ~]# finger root
  Login: root Name: root
  Directory: /root Shell: /bin/bash
  On since 二 9月 1 10:28 (CST) on pts/1 from 10.10.6.240
  New mail received 二 9月 1 10:28 2015 (CST)
  Unread since 二 10月 8 12:23 2013 (CST)
  11. chfn改变finger显示信息命令
  改变finger命令显示的信息。这些信息都存放在/etc目录里的passwd文件里。若不指定任何选项,则chfn命令会进入问答式界面。
  改变finger显示信息命令格式:chfn [OPTION] [USERNAME] OPTION:
  -f 设置真实姓名
  -h 设置家中的电话号码
  -o 设置办公室地址
  -p 设置办公室的电话号码
  [root@www ~]# chfn -f Allen.Huang
  Changing finger information for root.
  Finger information changed.
  [root@www ~]# grep root /etc/passwd
  root:x:0:0:Allen.Huang:/root:/bin/bash
  12. chsh更改shell命令
  更换登录系统时使用的shell。若不指定任何参数与用户名称,则chsh会以应答的方式进行设置。
  更改shell命令格式:chsh [OPTION] [USERNAME]
  OPTION:
  -l 列出目前系统可用的shell清单(/etc/shells)
  [Allen@www ~]$ chsh -l
  /bin/sh
  /bin/bash
  /sbin/nologin
  /bin/dash
  /bin/tcsh
  /bin/csh
  -s 更改用户预设的shell环境
  [root@www ~]# chsh -s /bin/csh Allen; grep Allen /etc/passwd
  Changing shell for Allen.
  Shell changed.
  root:x:0:0:Allen.Huang:/root:/bin/bash
  Allen:x:500:500:Allen.Huang:/home/Allen:/bin/csh
  13. id查询账户信息命令
  显示真实有效的用户ID(UID)和组ID(GID)。UID 是对一个用户的单一身份标识。组ID(GID)则对应多个UID。
  查询账户信息命令格式:id [OPTION] [USERNAME]
  OPTION:
  -g显示用户所属群组的ID
  -G显示用户所属附加群组的ID
  -u显示用户ID
  [root@www ~]# id root
  uid=0(root) gid=0(root) 组=0(root)
  14. su切换用户身份命令
  用于切换当前用户身份到其他用户身份,变更时须输入所要变更的用户帐号与密码。
  切换用户身份命令格式:su [OPTION]...[USERNAME]
  OPTION:
  - 代表切换为root身份
  -l 改变身份时,也同时变更工作目录,以及HOME,SHELL, USER, LOGNAME。也会变更PATH变量
  -m,-p变更身份时,不要变更环境变量
  -c执行完指定的指令后,即恢复原来的身份
  使用root切换成为任何用户时,并不需要输入新用户的密码。
  [root@www ~]# su -l Allen
  [Allen@www ~]$ env |grep Allen                      <--用户的环境变量
  HOME=/home/Allen
  USER=Allen
  LOGNAME=Allen
  PWD=/home/Allen
  GROUP=Allen
  MAIL=/var/spool/mail/Allen
  [Allen@www ~]$ useradd –D                <--此用户无权限执行此命令
  useradd: Command not found.
  [Allen@www ~]$ su - -c "useradd -D"         <--Root权限执行此命令
  密码:
  GROUP=100
  HOME=/home
  INACTIVE=-1
  EXPIRE=
  SHELL=/bin/bash
  SKEL=/etc/skel
  CREATE_MAIL_SPOOL=yes
  [Allen@www ~]$ su -
  密码:
  [root@www ~]#

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-478931-1-1.html 上篇帖子: linux之RAID 学习 下篇帖子: Linux 下的shell
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表