linux添加用户名,并在/home下生成用户名目录

/添加linux用户
useradd -d /home/xdliu -m -s /bin/bash xdliu
//设置linux用户密码
passwd xdliu
为linux已经存的用户添加samba服务密码
smbpasswd -a xdliu


//samba.conf 里添加共享


[liuxd]
comment = liuxd
path = /home/liuxd
valid users = liuxd
force user = nobody
force group = nogroup
read only = No


==========================================

-ne —比较两个参数是否不相等
-lt —参数1是否小于参数2
-le —参数1是否小于等于参数2
-gt —参数1是否大于参数2
-ge —参数1是否大于等于参数2
-f — 检查某文件是否存在(例如,if [ -f "filename" ])
-d — 检查目录是否存在

==============================================

chown 修改文件和文件夹的用户和用户组属性
1。要修改文件hh.c的所有者.修改为sakia的这个用户所有
chown sakia hh.c
这样就把hh.c的用户访问权限应用到sakia作为所有者

2。将目录 /tmp/sco 这个目录的所有者和组改为sakia和组net
chown -R sakia:net /tmp/sco


=========================================

shell中的变量一般是以字母或者下划线开头,后面可以跟任意长度的字符,数字或者下划线。例如,下面一个shell变量的定义和赋值:

$ name=mingqi   #分配变量
$ echo $name    #打印变量值

==============================================

将一个用户添加到某一用户组中

将一个用户添加到某一用户组中,千万不能直接用

usermod -G groupA


这样做会使你离开其他用户组,仅仅做为用户组 groupA 的成员。
应该加上 -a 选项:
usermod -a -G groupA user

=============================================

expect脚本

  1. #!/usr/bin/expect -f
  2. set timeout 30
  3. spawn ssh -l test 192.168.1.1
  4. expect "password:"
  5. send "mypassword\r"
  6. expect "~$*"
  7. send "/home/test/a.sh\r"
  8. send "exit\n"
  9. expect eof
  10. exit
==============================================

最近管理的一批机器,有个需求是要统一修改一个帐号的用户名密码,比如将qa帐号的密码改为1234,后来还为了脚本化,很方便的执行,还使用了非交互式地修改用户的密码。简单记录一下吧。

1. 交互式配置本地用户的密码:passwd 命令

复制代码 代码如下:

[root@host_221-81 ~]# passwd qa
Changing password for user qa.
New password:
BAD PASSWORD: it is too short
BAD PASSWORD: is too simple
Retype new password:
passwd: all authentication tokens updated successfully.

2. 非交互式修改本地用户的密码:chpasswd

复制代码 代码如下:

# chpasswd命令使用起来很简洁
[root@host_221-81 ~]# echo "qa:1234" | chpasswd
 
# 使用passwd命令,也可以实现非交互式修改密码
[root@host_221-81 ~]# echo "1234" | passwd --stdin "qa"
Changing password for user qa.
passwd: all authentication tokens updated successfully.

3. 使用expect来处理交互式输入,从而实现非交互式的密码修改。

复制代码 代码如下:

#!/bin/sh
# \
exec expect -f "$0" "$@"
if { $argc != 2 } {
    puts "Usage: $argv0 <username> <passwd>"
    exit 1
}
set password [lindex $argv 1]
spawn passwd [lindex $argv 0]
sleep 1
expect "assword:"
send "$password\r"
expect "assword:"
send "$password\r"
expect eof

注意:脚本的第二行,这种写法可能比较陌生,这是在TCL语言中的语法,The backslash is recognized as part of a comment to sh, but in Tcl the backslash continues the comment into the next line which keeps the exec command from executing again.

该脚本的执行结果为:

复制代码 代码如下:

[root@smilejay ~]# ./change-pwd-expect.sh qa 1234
spawn passwd qa
Changing password for user qa.
New password:
BAD PASSWORD: it is too short
BAD PASSWORD: is too simple
Retype new password:
passwd: all authentication tokens updated successfully.

====================================================================================

Opensuse 安装nfsserver

3.重启nfsserver
./nfsserver restart


  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值