Press "Enter" to skip to content

Month: November 2015

Samba用户管理

samba有三种用户密码验证方式:smbpasswd、tdbsam和ldapsam。

smbpasswd是使用一个smbpasswd文件来存储用户信息(通常位于/etc/samba/smbpasswd,文件格式类似于/etc/passwd),使用smbpasswd命令来管理用户,要添加/管理的用户必须先是系统用户。
在旧版本的Samba中,如果指定了passdb backend = smbpasswd,那么还需要指定smb passwd file =/etc/samba/smbpasswd。

tdbsam是使用一个.db的文件来存储用户信息,使用pdbedit命令来管理用户,要添加/管理的用户必须先是系统用户。

新版Samba的密码验证方式已使用tdbsam取代smbpasswd,但如果要继续延用旧版smbpasswd也是可以的。新版的tdbsam需要用pdbedit命令来管理帐号密码。

$ grep backend /etc/samba/smb.conf 
   passdb backend = tdbsam

使用新版tdbsam管理帐号

pdbedit -a username    #新建Samba账户
pdbedit -x username    #删除Samba账户
pdbedit -v username    #显示账户详细信息
pdbedit -L             #列出Samba用户列表,读取passdb.tdb数据库文件
pdbedit -Lv            #列出Samba用户列表详细信息
Leave a Comment

在Ubuntu上使用XFS文件系统

虽说ext4格式的文件系统支持超过16TB的容量,但一旦给16TB以上的分区扩容时,问题就来了,因为resize2fs工具不支持给16TB以上的文件系统扩容,怎么办呢?改用XFS文件系统。本文是在Ubuntu 12.04 64bit系统上配置LVM+XFS的过程,记录一下。

遇到的问题
当给lv容量超出16TB以上时,lvextend为逻辑卷扩容可以成功,但resize2fs时就会失败。因Ubuntu系统自带的e2fsprogs版本不支持扩容16TB以上的分区,谷歌了一阵,貌似最新版本的e2fsprogs可以支持超过16TB的系统分区,但升级完成以后,再次尝试resize2fs的时候,又报出如下错误:

$ sudo lvscan
  ACTIVE            '/dev/vg_02/lv-release' [5.00 TiB] inherit
  ACTIVE            '/dev/vg_02/lv-product-b' [23.80 TiB] inherit
$ sudo resize2fs /dev/vg_02/lv-product-b
resize2fs 1.42.13 (17-May-2015)
Filesystem at /dev/vg_02/lv-product-b is mounted on /data/product-b; on-line resizing required
old_desc_blocks = 2791, new_desc_blocks = 3047
resize2fs: Filesystem does not support online resizing 

很搞笑,这三条提示前后互相矛盾,前面说on-line resizing required,后面说does not support online resizing。

尝试解决办法:修改blocksize
要修改blocksize的话,重新mkfs是肯定的了。这里重新格式化以后,发现根本无法mount。

$ sudo mkfs.ext4 -b 8192 /dev/dm-3
Warning: blocksize 8192 not usable on most systems.
Proceed anyway? (y,n) y
mkfs.ext4: 8192-byte blocks too big for system (max 4096)
Proceed anyway? (y,n) y
Warning: 8192-byte blocks too big for system (max 4096), forced to continue
……
Writing superblocks and filesystem accounting information: done

$ sudo mount -t ext4 -o blocksize=8192 /dev/dm-3 /data/output-b
mount: wrong fs type, bad option, bad superblock on /dev/dm-3,
   missing codepage or helper program, or other error
   In some cases useful info is found in syslog - try
   dmesg | tail  or so

后来查了一下原因,貌似是blocksize不能超出系统的pagesize。这简直是在断我的后路呀。

Leave a Comment