chown: mengubah kepemilikan `. ': Argumen tidak valid

8

Saya mencoba menginstal beberapa file baru di server baru kami ketika sysadmin kami sedang dalam liburan:

Ini milik saya df

#  df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sdb3             273G   11G  248G   5% /
tmpfs                  48G  260K   48G   1% /dev/shm
/dev/sdb1             485M  187M  273M  41% /boot
xxx.xx.xxx.xxx:/commun
                       63T  2.2T   61T   4% /commun

sebagai root , saya dapat membuat direktori baru dan berjalan di chownbawah / home / lindenb

# cd /home/lindenb/
# mkdir X
# chown lindenb X

tapi saya tidak bisa menjalankan perintah yang sama di bawah / commun

# cd /commun/data/users/lindenb/
# mkdir X
# chown lindenb X
chown: changing ownership of `X': Invalid argument

kenapa bagaimana saya bisa memperbaikinya?

diperbarui :

meningkat:

/dev/sdb3 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sdb1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
xxx.xx.xxx.xxx:/commun on /commun type nfs (rw,noatime,noac,hard,intr,vers=4,addr=xxx.xx.xxx.xxx,clientaddr=xxx.xx.xxx.xxx)

Versi: kapan:

$ cat /etc/redhat-release 
CentOS release 6.3 (Final)
Pierre
sumber
1
Ketik mountdan rekatkan hasil ini dalam pertanyaan Anda. Juga, OS apa yang Anda pakai?
jwbensley
1
Saya tidak terlalu berpengetahuan tentang NFS; Tetapi melihat / komun / data / users / lindenb / bukan direktori lokal di komputer Anda, tetapi jaringan berbagi diakses melalui NFS, saya akan mulai dengan memeriksa izin Anda di server NFS (yang berada di luar lingkup pengetahuan saya)
jwbensley

Jawaban:

7

Sistem /communfile di-mount dari server jauh, dan pesan kesalahan menunjukkan bahwa itu bisa berupa mount nfsv4 (sama untuk versi nfs sebelumnya adalah Izin ditolak). Secara default server file jarak jauh akan memetakan rootpengguna jarak jauh ke nobodyakun sehingga tidak dapat mengubah kepemilikan file.

Solusi termudah adalah menggunakan lindenbakun lokal untuk membuat direktori di bawah /commundirektori. Jadi sebagai root

sudo -u linedb mkdir -p /commun/data/users/lindenb

Jika itu tidak berhasil maka mungkin ada beberapa pemetaan id yang terjadi sehingga Anda mungkin harus mkae direktori di server xxx.xx.xxx.xxxdan mengubah kepemilikan / izin di sana.

user9517
sumber
terima kasih tetapi itu tidak berhasil sudo -u lindenb mkdir -p /commun/data/users/TMP mkdir: cannot create directory / komun / data / pengguna / TMP ': Izin ditolak`
Pierre
Maksud Anda tentang NFSv4 adalah herring merah tetapi saya setuju dengan sisa jawabannya sebagai benar.
DaveG
terima kasih atas jawaban Anda, saya tidak cukup terampil untuk melakukan perubahan itu sendiri. Saya akan menunggu akhir liburan sysadmin kami dan saya akan memvalidasi jawaban Anda jika itu benar :-)
Pierre
@ DaveG: mengapa begitu? Jika saya mencoba dan menandai direktori sebagai root pada NFSv4 mount saya mendapatkan pesan kesalahan yang sama persis dengan OP dan jika saya beralih ke NFSv3 saya mendapatkan Izin Ditolak sehingga ada hubungannya dengan itu dan cara berinteraksi dengan id pengguna.
user9517
2
Karena root terjepit di NFSv3 juga karena itu pesan kesalahan mungkin berbeda tetapi dia masih tidak dapat membuat direktori sebagai pengguna root.
DaveG
5
mount -t nfs -o vers=3 SERVER:PATH MOUNT_PATH

Ini berhasil untuk saya.

Shinta
sumber
3

Ini memang masalah NFS4. Anda mungkin harus mempertimbangkan rpc.idmapd daemon pemetaan NFS4 untuk menyelesaikan masalah seperti itu terutama jika banyak pengguna akan membutuhkan pemetaan yang benar antara klien dan server NFS. Perhatikan bahwa NFS3 (dalam CentOS <6 misalnya) tidak menggunakan daemon pemetaan.

pergelangan kaki
sumber